NVMe SSD connection to Pi5 PCIe using a Hat

I recently replaced the Pi4B on my Kraken with a new Pi5. The installation was simple enough. They are the same size and footprint. It took me about a day to download the Pi5 image, get it burned into an SD card. I then modified the hotspot parameters to what I use. At least on the bench, it seems to be working. Now for the hard part. The new case was a package deal that came with an “NVMe SSD Hat” to attach to the Pi5. I had to give it a try. I purchased a 256 Gig M.2 drive. It also was simple to install. I have a M.2 - USB adapter. Using the adapter,I burned the image onto the SSD. That verifies the drive is functional. I then installed the drive into the Hat. It fit like it was made for it. However, that is as far as it goes. Nothing I do shows life at the in the SSD. I modified the config.txt file to include dtparam=pciex1
dtparam=pciex1_gen=3
dtoverlay=pciex1-compat-pi5,mmio-hi
I also modified the Boot Sequence so that the SSD is booted if the SD card boot fails. All changes I can find, I have implemented. When I issue a "sudo lspci " the response shows an entry for a PCI Bridge and a Ethernet Controller. Nothing about an SSD. What can I look for to indicate where the problem is? I assume the SSD is ok because I can access it via USB adapter. The Hat is the likely suspect. If it isn’t SW, then the only HW possibility is the Hat or possibility the PCI interface on the Pi5. Are there any diagnostics on the PCI interface?

I would appreciate some suggestions.

I did the same, and I just don’t have an SD card mounted. Worked first time.
Try removing the SD card and booting.

I’m discovering that all M.2 SSDs with PCIe interface are not necessarily the same. The SSD I’m using (Patriot) communicates correctly through the PCI when used at USB data rates, as in my external adapter. It may not have the interface implemented accurate enough to be recognized by the Pi5. I’m now looking for an SSD that has demonstrated compatibility with a Pi5.

Hi, any update on this? Was the SSD compatibility the responsible? I would like to have the same setup you mentioned (NVMe M.2 Connected via PCIe and use it as a boot-source), so any advice is highly appreciated.

Regards,

John

I did find one that worked. The reason I first purchased the Patriot P300 was that it appeared to have the correct interface (PCIe 3, M.2) and it was from a manufacturer that I have used with other products.
Something was not right. The Pi5 never saw the device on the PCIe. I learned from a YouTube video that not all drives will work. I looked for more to sample. In June of last year, I found another brand, ORICO, that made a similar SSD. I had never heard of them. The ORICO D10 actually claims in its description that it is compatible with the Ras Pi5. It was true. On the first attempt, it powered up and was recognized by the Pi5.
I now have a configuration where I can boot from an SD card, add a USB drive with a clean Pi5 Kraken RDF image and copy it to the SSD. I then use raspi-config to change the boot priorities. From then on, the Pi5 boots from the SSD.

Unfortunately, it, seems ORICO D10 is no longer available. With the popularity of the Pi5 and all the PCIe Hats available, I’m sure there are others that will work.

1 Like