-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CM4 cannot boot from Intel M10 nvme optane drive #640
Comments
One little thing since some posts mentioned this. |
How is the drive attached to the CM4? You don't say.
Where do you see this? |
In the issue template. The drive is attached to the CM4 with a pcie to m.2 converter on the CM4 IO board. |
I'm pretty sure we don't support Optane |
Is there any particular reason why? Since this is also a nvme drive. |
I think they behave slightly differently - have you tried booting to RPi OS from SD or EMMC and verifying that it works from there? |
Yes I have. As I stated in the issue description 😂 |
I can partition it, create file systems and read/write w/o any problem. |
Ok, so PCIe is working. I think unfortunately, this is something that would require custom firmware support and therefore a fairly low priority. |
Thanks for the reply and your work. And feel free to close this one if it's not your priority. |
It looks like it failed pretty early, so if anyone knows if these drive need a different init-sequence compared to generic NVMe or alternatively have firmware which take takes longer to respond after power on then that would be useful |
Since the kernel and u-boot both supports Optane, I took a glance at both but there does not seem to be any specific treatment for these drivers. The kernel's code is more complicated and I did not check it thoroughly. The u-boot driver is simpler. (Proof of u-boot supporting Optane: I have a rock 5b+ (rk3588). Its bootloader is u-boot. And I can boot it off a Optane drive. ) |
I think we'd have to get hold of one to see why it doesn't work. It might be that it doesn't like being used so soon after power up. |
This sounds like a feature request, if someone gets time to look at this then I suggest we would initially release on Pi5 backport to CM4 etc. BCM2711 has to duplicate the NVMe driver updates in start.elf so adding features is more complicated for software releases. |
When testing the Optane P1600x 58GB with a CM4 via the Super S6C NVMe slot, it was possible to install Fedora 40 from the OS installer booted via EDK2 UEFI, but it wouldn't boot from the NVMe drive. Booting the same OS from an SD card allowed the NVMe drive to function normally. This might be due to the single PCIe 2.0 lane drawing less power than required by spec. |
Some updates: It might be the refclk on and reset delay. I draw a custom board and the M10 is not recognized even as a normal drive. (Probably related to the power rail timings). I have to set pcie_tperst_clk_ms to 500 to get it to work. I have not tested smaller numbers though. @peterharperuk @timg236 Is it possible for you guys to maybe generate a special version of the boot loader where there is such a delay so I may test it out? Thanks. |
Describe the bug
The Intel M10 is an nvme optane drive running on a pcie3.0x2 bus. Please check Intel® Optane™ Memory M10 Series for details.
The CM4 can recognize and use the drive once booted. Meaning the kernel can use the drive.
However the bootloader cannot. It will show "Failed to open nvme" and cannot boot.
The M10 can be used as a boot drive on other platforms. I have tested the following:
I'm aware there are forum posts over the years. But all of those posts landed on a simple and irresponsible "incompatible" w/o any official response. Thus, I'm reporting this as a bug since it is not marked as by design. (If it is by design, please let people know why. And if we can help.)
Steps to reproduce the behaviour
Device (s)
Raspberry Pi CM4 Lite
Bootloader configuration.
System
Since the system won't boot, this is from a sd card boot with the M10 pluged in.
Comment too long. Please see the attached file.
log.txt
Bootloader logs
(By the way, referencing the UART as
14
and15
can be confusing. I'll suggest usegpio14
gpio15
orpin8
pin10
)Following logs are network boot and retries.
USB boot
No response
NVMe boot
Comment too long. Please see the attached file.
log.txt
Network (TFTP boot)
No response
The text was updated successfully, but these errors were encountered: