Description
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
- Connect SanDisk Ultra NVMe SSD to Geekworm X1001 adapter
- Install latest EEPROM firmware (March 19, 2025)
- Set the following configuration:
boot.conf:
[all]
BOOT_UART=1
BOOT_ORDER=0xf461
NET_INSTALL_AT_POWER_ON=1
POWER_OFF_ON_HALT=1
PCIE_PROBE=1
config.txt:
[all]
dtoverlay=pcie
dtparam=pciex1_gen=3
- Remove SD card to attempt NVMe boot
- Observe HDMI output or run
lspci
after fallback to SD boot
Expected 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
- Raspberry Pi 5 (8 GB)
- Raspberry Pi OS 64-bit (Bookworm)
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/Linux
Logs
Boot HDMI output:
Failed to open device: 'nvme'
PCIe timeout: 0x0001e08f
lspci
output:
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 30)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge
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!