Description
Describe the bug
I am unable to boot a Raspberry Pi 5 from an NVMe SSD mounted to a POE M.2 HAT+ if used behind a PCIe switch AND that switch has a second non-SSD device attached to it. If the SSD is the sole device on the PCIe switch then it Pi 5 will boot.
To reproduce
- Ensure you have and NVMe SSD that can boot the Raspberry Pi 5. (
BOOT_ORDER=0xf25416
) - Connect a PCI Express switch to the external PCIe connection on the Raspberry Pi 5.
- Move the NVMe SSD you previously used dto boot the Pi 5 to a port behind teh PCIe switch, and simultaneously connect a second non-SSD device.
- Attempt to boot the Raspberry Pi 5 off the NVME SSD with the second peripheral also reconized.
PCIe Switch Device is a Pi52 Quad B14 with an Asmedia ASM1184e switcher chip.
- Asmedia: https://www.asmedia.com.tw/product/556yQ9dSX7gP9Tuf/b7FyQBCxz2URbzg0
- 52Pi Quad PCIe HAT - https://www.asmedia.com.tw/product/556yQ9dSX7gP9Tuf/b7FyQBCxz2URbzg0
Expected behaviour
I would expect the NVMe SSD to be selecdted for boot even if the PCIe switch has an NVMe SSD and more than one additional peripheral device attached to it.
Actual behaviour
The Raspberry Pi 5 bootloader attempts to load the NVME when behind the PCIe switch as the sole device and suceeds, but fails if there is a second peripheral PCIe device connected to the PCIe switch. Hangs and eventually ends up in intrafms prompt.
System
- Which model of Raspberry Pi? - Pi5
- Which OS and version (
cat /etc/rpi-issue
)? - Which firmware version (
vcgencmd version
)? - version 4b019946 - Which kernel version (
uname -a
)? 6.6.51-rpt-rpi-2712
Logs
No aparent errors in dmesg output. Output can be made available upon demand.
Additional context
To be clear, from Issue 1833, the fix does work. It's only when a second peripheral is introduced does the boot fail. The goal of this ticket is to ascertain why.
This issue is related to:
Activity