Failure to boot after switching to PCIe gen 3
Hi, I'm running dietpi on Raspberry Pi 5 from an m.2 SSD mounted on a HAT+. Everything has been working fine until I tried switching to PCI gen 3 speeds in /boot/firmware/config.txt using the following parameters:
dtparam=pciex1 dtparam=pciex1_gen=3
After the change Pi gets stuck on boot with a fan going at full speed.
Could someone help me out with getting PCIe gen 3 to work?
This is something you should better ask at the Raspberry Pi forum or GitHub, since we use the original kernel/firmware/bootloader. Reading about it in the README: https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README Looks like there is a reason why it defaults to gen 2.
Reading the docs: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#enable-pcie
dtparam=pciex1 should not be needed with the HAT+ attached. But should not cause issues either (worth a test).
The Raspberry Pi 5 is not certified for Gen 3.0 speeds. PCIe Gen 3.0 connections may be unstable.
No further details to be found. I suggest to search the RPi forum about PCIe gen 3: https://forums.raspberrypi.com/viewforum.php?f=45 Otherwise ask for typical symptoms in case of hardware incompatibility or ways to debug.
One thing you should try in any case:
- Boot from SD card, maybe also best an official Raspberry Pi OS image
- Attach M.2 SSD and switch to gen 3 as you did
- See whether it is properly detected and works (can be mounted etc). Else:
to detect possibly related kernel errors and general output about PCI bus and device output.dmesg -l 0,1,2,3 dmesg | grep -E 'pci|nvme'