raspberrypi / rpi-eeprom

Installation scripts and binaries for the Raspberry Pi 4 and Raspberry Pi 5 bootloader EEPROMs
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-boot-eeprom
Other
1.26k stars 203 forks source link

[Raspberry Pi5] bootloader doesn't detect nvme WD_Black SN850X #618

Open Jixel opened 3 days ago

Jixel commented 3 days ago

Describe the bug

ISSUE: RaspBerry Pi5 8G + Hat Geekworm X1015 + nvme WD_Black SN850X 2Tb PCIe 4.0. Bootloader doesn't detect nvme WD_Black SN850X

IMG_7825

TEST: RaspBerry Pi5 8G + Hat Geekworm X1015 + nvme SABRENT Rocket Nano 2242 512Gb PCIe 3.0 Bootloader works fine and detect and run Raspberry Pi OS

Steps to reproduce the behaviour

sudo apt update sudo apt upgrade sudo rpi-eeprom-update -a

BOOT_ORDER=0xf146 PCIE_PROBE=1

config.txt dtparam=nvme dtparam=pciex1_gen=3

Device (s)

Raspberry Pi 5

Bootloader configuration.

BOOT_UART=1 POWER_OFF_ON_HALT=0 BOOT_ORDER=0xf146 PCIE_PROBE=1

System

EEPROM

BOOTLOADER: up to date CURRENT: lun 23 sep 2024 13:02:56 UTC (1727096576) LATEST: lun 23 sep 2024 13:02:56 UTC (1727096576) RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2712/latest) Use raspi-config to change the release.

config.txt

dtparam=nvme dtparam=pciex1_gen=3

Bootloader logs

No response

USB boot

No response

NVMe boot

No response

Network (TFTP boot)

No response

timg236 commented 3 days ago

I'm pretty SN850X PCIe 4 devices don't work at GEN2 and are incompatible, please check that it works under Linux. If not it's not going to work as a boot device.

Jixel commented 3 days ago

If I remove the Hat and connect SN850X via USB with a pcie/usb adapter, rpi5 bootloader runs correctly from USB and rpi5 works fine. I have read that the latest version of pieeprom has introduced compatibility with the WD SN350, SN550 and SN580 series. Could this be a potential solution?

https://wiki.geekworm.com/NVMe_SSD_boot_with_the_Raspberry_Pi_5

timg236 commented 3 days ago

To add more detail to my previous comment the question is does NVMe work natively under Linux when the Pi is booted from SD i.e. can you mount the drive, copy files, run dd tests etc.

If a USB adapter is added then the NVMe is talking to a PCIe interface inside the adapter and not the BCM2712 PCIe RC. Linux now just sees a USB-MSD device with some flash memory.

If you want to try a more recent bootloader then flash RPi OS to a spare SD-card, run "sudo rpi-update" then check the native NVMe behavior. There are some improvements for timing and switches.

However, there are some WD Black devices which only work at Gen4 and if these don't work natively from Linux then they definitely aren't going to work with the bootloader.

Jixel commented 2 days ago

Hi timg236, Folllowing your steps:

Captura de pantalla 2024-10-11 a las 18 49 53

But... same error, rpi5 can't boot from WD_Black SN850X. Any other suggestions?

Thanks a lots