Describe the bug
A NVMe drive located behind multiple PCIe switches functions, but cannot boot.
To reproduce
HW: Raspberry Pi 5 + Waveshare 2-CH PCIe HAT + Waveshare PCIe To ETH And M.2 Adapter (SKU 28515) with NVMe SSD connected.
Configure the system to boot from NVMe and it does not boot.
Bootloader config:
[all]
PCIE_PROBE=1
NVME_CONTROLLER=1
BOOT_UART=1
BOOT_ORDER=0xf461
NET_INSTALL_AT_POWER_ON=1
PSU_MAX_CURRENT=5000
Note that both the Waveshare 2-CH PCIe HAT and the Waveshare 2-CH PCIe HAT have ASM1182e PCIe switches built onto them, so in this configuration the NVMe drive is behind two ASM1182e switches.
If the Waveshare 2-CH PCIe HAT is removed and the Waveshare PCIe to ETH and M.2 Adapter is connected directly to the Pi5, the system boots fine. Also, if the system works if it is configured in "hybrid" mode using a SD card to point to the NVMe drive.
Expected behaviour
The system should boot directly from NVMe, even with the NVMe drive behind multiple PCIe switches.
Actual behaviour
The system does not boot from NVMe when /boot/firmware is on the NVMe.
The system does boot with the same image loaded to:
- SD card, both /boot/firmware and / pointing to the SD card
- Hybrid, /boot/firmware points to SD card, / points to NVMe
In both booting configurations, once booted the NVMe SSD is fully accessible.
Again, if the 2-CH PCIe HAT is removed and the PCIe to ETH and M.2 Adapter is connected directly to the Pi5, everything boots as expected.
System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
NOTE: everything below is pulled while the system is booted and running from a SD card. The NMVe drive is connected, but only being used as storage currently.
graphics-raspinfo.txt
- Which model of Raspberry Pi? Pi5
- Which OS and version (
cat /etc/rpi-issue)?
Raspberry Pi reference 2025-12-04
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 4997bf4e4e49bc3305eb182a4a08bd023529da04, stage4
- Which firmware version (
vcgencmd version)?
2026/02/06 14:31:40
Copyright (c) 2012 Broadcom
version 8124798b (release) (embedded)
- Which kernel version (
uname -a)?
Linux Livestream-Graphics 6.12.67-v8-16k+ #1938 SMP PREEMPT Fri Jan 23 16:07:39 GMT 2026 aarch64 GNU/Linux
Additional context
While it certainly would be possible to run this system in hybrid mode (SD card for /boot/firmware and NVMe for /), this creates concerns for me due to the design of the chassis around it. While the NVMe drive will be relatively easily accessible, the SD card will be extremely difficult to get to (when designing the chassis, I didn't expect to need a SD card at all).
Describe the bug
A NVMe drive located behind multiple PCIe switches functions, but cannot boot.
To reproduce
HW: Raspberry Pi 5 + Waveshare 2-CH PCIe HAT + Waveshare PCIe To ETH And M.2 Adapter (SKU 28515) with NVMe SSD connected.
Configure the system to boot from NVMe and it does not boot.
Bootloader config:
Note that both the Waveshare 2-CH PCIe HAT and the Waveshare 2-CH PCIe HAT have ASM1182e PCIe switches built onto them, so in this configuration the NVMe drive is behind two ASM1182e switches.
If the Waveshare 2-CH PCIe HAT is removed and the Waveshare PCIe to ETH and M.2 Adapter is connected directly to the Pi5, the system boots fine. Also, if the system works if it is configured in "hybrid" mode using a SD card to point to the NVMe drive.
Expected behaviour
The system should boot directly from NVMe, even with the NVMe drive behind multiple PCIe switches.
Actual behaviour
The system does not boot from NVMe when /boot/firmware is on the NVMe.
The system does boot with the same image loaded to:
In both booting configurations, once booted the NVMe SSD is fully accessible.
Again, if the 2-CH PCIe HAT is removed and the PCIe to ETH and M.2 Adapter is connected directly to the Pi5, everything boots as expected.
System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
NOTE: everything below is pulled while the system is booted and running from a SD card. The NMVe drive is connected, but only being used as storage currently.
graphics-raspinfo.txt
cat /etc/rpi-issue)?vcgencmd version)?uname -a)?Linux Livestream-Graphics 6.12.67-v8-16k+ #1938 SMP PREEMPT Fri Jan 23 16:07:39 GMT 2026 aarch64 GNU/LinuxAdditional context
While it certainly would be possible to run this system in hybrid mode (SD card for /boot/firmware and NVMe for /), this creates concerns for me due to the design of the chassis around it. While the NVMe drive will be relatively easily accessible, the SD card will be extremely difficult to get to (when designing the chassis, I didn't expect to need a SD card at all).