Pimoroni NVME not seeing Gen 4 SSD

I bought the Pimoroni NVME base, and added a gen 4 WD Black SN850X ssd, unfortunately it’t not seen by the Pi when I run “lsblk”

I added an entry into boot/config.txt for “dtparam=nvme” and also for “dtparam=pciex1_gen=3” , but the ssd isn’t discovered.
Any tips on how to debug the issue ?

I don’t have another nvme drive to test with, has anyone else had issues with the pimoroni board and gen4 drives ?

1 Like

Hmmm…
Like you I have just bought an NVMe Base for my RPi5, but I have bought a “WD Blue SA510” 250GB drive.
I haven’t opened the drive yet so I will be watching this post with great interest to see if I can expect the same issue!

Hi
I have both Pineberry and Pimoroni NVME bottom hats.

On the Pineberry site (NVMe compatibility list - Pineberry Pi Documentaton) they do report issues on the WD850 being used on the CM4. I tried a WDSN770 (also gen4) on the Pineberry and it was not seen (and is on their incompatability list) .
I also tried a WD Blue SN580 which also was not seen on the Pineberry Hat.

The WD Blue SN580 works fine on the Pimoroni Hat.
Samsung 970 Evo plus works fine on both.
I will give the WD SN770 a go on the Pimoroni Hat tomorrow if I get a chance.

Bump - I’m seeing the same thing with a new gen 4 Crucial branded drive and have tried the same troubleshooting steps.

After reading this guide (Booting the Raspberry Pi 5 from NVMe), I made sure all the connections were solid and the ribbon cable was in the correct alignment and everything looked good.

I’ve ordered a dock for the SSD so I can confirming it’s working correctly using my laptop. My plan is to then use the pi imager to see if my raspberry pi is able to detect the drive once it’s been reformatted. The dock should be arriving tomorrow, will be sure to post an update if that fixes anything.

So just tested WD SN770 and WD SN850X

I got the WD SN770 to boot ok at Gen 2 speed, but as soon as I added the “dtparam=pciex1_gen=3”, it failed to boot. It was still seeing the drive and trying to NVME boot but coming up with errors.

For the WD SN850X the drive could not be seen on the bus at all.

So I have ended up with.
Pineberry NVME Base - 1TB Samsung Evo Plus @ gen 3 speed
Pimoroni NVME base 1 - 1TB Samsung Evo Plus @ gen 3 speed
Pimoroni NVME base 2 - 2 TB WD Blue 580 (This is Gen 4 according to data sheet) @ gen3 speed

Regards

1 Like

That’s a shame, was looking forward to getting this 4 tb drive working at speed.
I’ll try it in a usb enclosure, hopefully that might work.

Lesson learned about nvme compatibility

Yes, there is obviosly some issues with different chip sets. Maybe an idea to have a sticky thread for drive compatability ?

Don’t be worried about gen 3 speed. This is only relevant for benchmarks. Gen 2 already gives you more than enough under normal usage scenarios. One exception: you copy very large files from USB to M.2. That does happen once in a while, but that is not daily business.

Gen2 gives you 250MB/s. The eth on the Pi5 can do a theoretical 110MB/s, plus whatever you pump in using WLAN. So that should be fine for file-server usage. For desktop-scenarios, you won’t even be near that figure.

1 Like

Good call, for reference I can’t see my drive when I run “lsblk” and it’s a 1TB Crucial P5 Plus.

Still holding out hope for a solution though.

I bought a crucial P3 1Tb nvme drive and it works fine in the pimoroni nvme base first time. Booting from it fine too.

cheers

shifters

1 Like

After a lot of sleuthing and lots of stuff not working, I managed to get my NVME SSD showing up with lsblk.

So firstly - all the stuff I’d tried so far:

  1. Fresh install of the latest build of bookworm using the Pi Imager tool
  2. Updated everything (sudo apt update, then sudo apt full-upgrade)
  3. Checked all my connections about 5 times.
  4. Added lines to /boot/firmware/config.txt (note the different file location for the config file for Bookworm)
dtoverlay= 
dtparam=nvme 

After all that, I still wasn’t seeing the drive when I ran lsblk.

What finally did it was adding a line to the eeprom config (part of the instructions for booting the PI from an nvme SSD):

sudo rpi-eeprom-config --edit

Add a line PCIE_PROBE=1

Reboot and run lsblk again and voila - the drive was there.

Oh the other thing I did which probably won’t make a difference was that I used my PC to format the drive (FAT32) but this on it’s own didn’t do anything.

Too tired to any more tinkering tonight, but hoping to get it booting from the SSD tomorrow. Let me know if this worked for you.

1 Like

I moved the WD gen 4 to an external usb and it works there, then added a 2tb Samsung on nvme which worked first time.
I’ll try and swap it back and try your settings

Thank you, this worked for me in getting my drive to show up when it wasn’t initially. Using a 4TB Samsung 990 Pro.

1 Like

So happy all my tinkering and frustration helped someone, I was starting to think it was just some niche issue only I was seeing!