-
Notifications
You must be signed in to change notification settings - Fork 216
[Raspberry Pi 5] SanDisk Ultra NVMe 3D 1TB not detected – Phison/WD controller incompatibility despite latest firmware #691
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
Comments
Moved to rpi-eeprom. Keeping issue here for interop but at present I think implementing drive specific quirks is likely to be "won't fix" right now. |
Thanks for the reply - totally understandable that adding per-drive quirks isnt something you want to maintain long-term. That said, I figured I’d at least ask, since Ive basically tried everything: I dont expect full support for my specific SanDisk model, but maybe there is some low-level option or experimental workaround I could try? Even just a delay, or debug flag, or more verbose logging? If its truly out of scope, fair enough - but figured its worth asking before I give up on this SSD. |
This may or may not help your problem, but looking at https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README#L365 suggests that the |
Sadly, that did not fix it, but I bought a new SSD (Crucial P3 Plus), and that works great. |
There's currently no configurable delays (bootcode_delay is after the file-system). You could force retries of NVMe by changing the boot-order e.g. 0xf1666 - try NVMe three times before SD |
Describe the bug
My SanDisk Ultra M.2 NVMe 3D 1TB SSD is not detected at all on the Raspberry Pi 5, using the Geekworm X1001 PCIe to NVMe adapter. It does not appear in
lspci
,dmesg
, or/dev/nvme*
, even though it receives power and the adapter's ACT LED is on.This seems related to known compatibility issues with certain Phison- or WD-based controllers which may not support PCIe Gen 2 fallback properly.
To reproduce
boot.conf:
config.txt:
lspci
after fallback to SD bootExpected behaviour
The NVMe SSD should be detected by the bootloader and accessible by Linux (either for boot or as a block device).
Actual behaviour
SSD is not detected by the bootloader or kernel at all. PCIe link seems active (adapter powered, ACT LED on & SSD gets warm), but no device is shown.
System
vcgencmd version
: Mar 19 2025 17:10:37uname -a
: Linux raspberrypi 6.6.20+rpt-rpi-v8 libilclient.a in hardffp not hardfp firmware#1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-19) aarch64 GNU/LinuxLogs
Boot HDMI output:
lspci
output:Additional context
The SSD likely uses a Phison or rebranded WD controller. Based on other user reports (e.g. SN550/SN580/SN740), these controllers often fail Gen 2 fallback and require firmware quirks. Other users have reported success only after EEPROM fixes, which sadly doesnt work for me as of right now.
Would it be possible to add support or further compatibility workarounds for this type of SSD in future EEPROM updates?
Happy to test and provide more logs if needed. Thanks!
The text was updated successfully, but these errors were encountered: