Here is as I under stand it:
Pi5 PCIe to M2. nVME (more or less directly connected to the PCIe bus on the Pi5)
Pi4 USB to M2. SATA (has some chips to interface with USB and SATA)
So only M2.SATA disks can be used with the Pi4 Argon ONE Case
And the Raspberry Pi 5 only supports M2.nVME disks on the PCIe bus (with out some chips to interface with other types)
I purchase the Argon3 case (for RPI5) with NVME
and
Adapter NVME for ArgonOne case (the one with mini HDMI)
i just tested my Western Digital (that didn’t work with the PI5) on this one… and it work !
I can boot my PI4 with the WesternDigital NVME… that failed booting on the other drive
For Pi 4 Argon One NVME we use USB 3.0 to NVME conversion. The Asmedia chipset we use in that conversion have better compatibility with most SSD. Sadly for Raspberry Pi 5 using PCIe, there are certain SSD that are not compatible.
So, my 10 hrs ago message, where i asked if it was RPI5 incompatibility or other… my first assumption was right then !
Yes, there have been compatibility issues with this drives as also reported the Pimoroni NVMe Hats.
The Argon ONE V3 and NEO 5 M.2 NVME-PCIe Boards followed the specifications of the Raspberry Pi Trading on its PCIe, which is similar to how Pimoroni implemented it also in their drive, unlike PineBerry Drive.
The only difference between the Argon V3 version vs the NEO 5 version is that the Argon ONE V3 version has 2 POGO PINS for additional power support for the M.2 board, which is not available for the NEO 5 version.
We will still need to do more validation of our own for the other drives but we would have the same compatibility with the Pimoroni Drives as well.
SOURCE PIMORONI WEBSITE
Drive compatibility
- AData Legend 700
- AData Legend 800
- AData XPG SX8200 Pro
- Axe Memory Generic Drive
- Crucial P2 M.2
- Crucial P3 M.2
- Crucial P3 Plus M.2
- Inland PCIe NVMe SSD
- Kingston KC3000
- Kioxia Exceria NVMe SSD
- Kioxia Exceria G2 NVMe SSD
- Lexar NM620
- Lexar NM710
- Netac NV2000 NVMe SSD
- Netac NV3000 NVMe SSD
- Origin Inception TLC830 Pro NVMe
- Patriot P300
- Patriot P310
- PNY CS1030
- Sabrent Rocket 4.0
- Sabrent Rocket Nano
- Samsung 980
- Samsung 980 Pro (500GB/1TB)
- Team MP33
- Western Digital Black SN750 SE (Phison Controller)
’ Maybe’ List. Works with quirks/not ideal.
These drives either needed extra power, were a bit quirky when we tested them or we’ve had reports of them being problematic. It may just be the drive we had, but they’re probably best avoided.
- Kioxia BG4 2230. Performance very patchy. Runs at quite a high temp.
- Samsung 970 EVO Plus. Runs at a higher temp. Some user reports of problems under heavy load or not showing up on boot.
- Samsung 980 Pro (250GB). Reports of this size not working.
- WD Blue SN550. Our fresh unit could be used as storage but could not be booted from.
- WD Red SN700. Slow to boot first time, but worked and booted OK.
- WD SN740. Our fresh unit worked well. YMMV.
- WD Black SN770. Our fresh unit worked fine. YMMV.
‘Avoid’ List. We’ve had problems or reports of problems.
- WD Green/Blue/Red/Black not in the above list. Variable results or not working because of quirks of a SanDisk controller/firmware. Our SN350 and SN570 prevented the RPi 5 from booting at all especially.
Hi, I just placed an order of Samsung 980 Pro to use with my Argon One V3. Today I tried it with KC3000 Kingston 2TB but it doesn’t work with that. The pins doesn’t sit well. So I’m going to give a try to Samsung 980 Pro but with 2TB of size. It came to my attention that you mentioned 500GB/1TB in parentheses. What does it mean? Did you mean that 2TB won’t work with Argon One?
WD NVMe with their own “in-house” SanDisk controller in general do have problems with Raspberry CM4 and Pi5. The WD SN350 is reportedly known for those issues, since it has the before mentioned SanDisk controller.
Today I had an issue about getting my M2 drive detected.
I figured out the problem.
-
The case has to be closed and screwed. There are 2 pins in the case that need to be touching the other boards surface. Otherwise Argon won’t send power to the M2 drive.
-
In my case, I had to add dtparam=pciex1_gen=3 line in /boot/firmware/config.txt on the SSD too. (But whoever boots up their RP5 with SD card and copy the OS to M2 drive won’t need this)
-
I tried first Kingston 2TB KC3000. If I don’t push and screw it, it works fine, but when I push it down and screw in the case, it doesn’t work. I think the pins don’t touch well the slots. But when I tried 1TB 970 Plus, it didn’t have chips on the both side and it sit easily both in the slots and I could still run it while screwed. I think 2 TB drives are beefy due to the chips on the both sides and it makes it difficult to sit in the slot and touch the metals. I hope I don’t get trouble with the 2TB 980 Pro that I just ordered.
More info about the sandisk /phison controller issues.
Also saw some posts on the rpi forums about some updated firmware being available, but wasnt able to get it to work.
I had the same problems with my SN550 not being detected. Tried a Lexar nm620 and it worked straight away.
Which 2TB SSD should I get for the Argon One V3 NVME? I was thinking about the Samsung 990 Pro. Any issues with that?
Might it be the same issue with Kioxera Exceria G2 1TB? I can’t make it even recognized. No crash, no error, just nothing.
Yep looks like that one uses a Phison controller.
It’s worth double checking your pihat connector cable - you should at least get a pcie timeout error message or something - also make sure the correct entries for NVME boot are in /boot/firmware/config.txt and that the pi5 firmware eeprom is set to boot from the nvme.
SSD Database | TechPowerUp - useful site for checking ssd specs.
I Would avoid anything with a phison controller for the time being if using it with a pi5.
However I have heard that some of them work - for testing it might be worth settting LATEST in raspi-config, advanced , then updating the bootloader so its on the latest version (rather than the current stable version) and then seeing whether it works or not.
Gosh … cable seems fit, no timeouts in log files. Just nothing related to PCIe bus.
I think it connects well.
Also, here’s a snippet of dmesg that refers to PCIe initialization
[ 0.392762] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.392765] pci_bus 0000:00: root bus resource [mem 0x1f00000000-0x1ffffffffb] (bus address [0x00000000-0xfffffffb])
[ 0.392769] pci_bus 0000:00: root bus resource [mem 0x1c00000000-0x1effffffff pref] (bus address [0x400000000-0x6ffffffff])
[ 0.392781] pci 0000:00:00.0: [14e4:2712] type 01 class 0x060400
[ 0.392808] pci 0000:00:00.0: PME# supported from D0 D3hot
[ 0.393745] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.499738] brcm-pcie 1000120000.pcie: link up, 5.0 GT/s PCIe x4 (!SSC)
[ 0.499759] pci 0000:01:00.0: [1de4:0001] type 00 class 0x020000
[ 0.499773] pci 0000:01:00.0: reg 0x10: [mem 0xffffc000-0xffffffff]
[ 0.499781] pci 0000:01:00.0: reg 0x14: [mem 0xffc00000-0xffffffff]
[ 0.499788] pci 0000:01:00.0: reg 0x18: [mem 0xffff0000-0xffffffff]
[ 0.499859] pci 0000:01:00.0: supports D1
[ 0.499861] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold
[ 0.511743] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[ 0.511752] pci 0000:00:00.0: BAR 8: assigned [mem 0x1f00000000-0x1f005fffff]
[ 0.511757] pci 0000:01:00.0: BAR 1: assigned [mem 0x1f00000000-0x1f003fffff]
[ 0.511762] pci 0000:01:00.0: BAR 2: assigned [mem 0x1f00400000-0x1f0040ffff]
[ 0.511766] pci 0000:01:00.0: BAR 0: assigned [mem 0x1f00410000-0x1f00413fff]
[ 0.511772] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.511775] pci 0000:00:00.0: bridge window [mem 0x1f00000000-0x1f005fffff]
[ 0.511779] pci 0000:00:00.0: Max Payload Size set to 256/ 512 (was 128), Max Read Rq 512
[ 0.511788] pci 0000:01:00.0: Max Payload Size set to 256/ 256 (was 128), Max Read Rq 512
[ 0.511857] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 0.511891] pcieport 0000:00:00.0: PME: Signaling with IRQ 38
[ 0.511943] pcieport 0000:00:00.0: AER: enabled with IRQ 38
[ 0.512021] rp1 0000:01:00.0: bar0 len 0x4000, start 0x1f00410000, end 0x1f00413fff, flags, 0x40200
[ 0.512025] rp1 0000:01:00.0: bar1 len 0x400000, start 0x1f00000000, end 0x1f003fffff, flags, 0x40200
[ 0.512034] rp1 0000:01:00.0: enabling device (0000 -> 0002)
[ 0.513100] rp1 0000:01:00.0: chip_id 0x20001927
@xenobyte, sorry I’m not allowed to reply more. I am a newbie here. No sign of nvme in dmesg, also I updated the firmware to the latest. Still no luck.
UPDATE: I finally disassembled the whole crap and ensured the cable is firmly locked. Still no positive result. Nothing.
Unfortunately there’s no other NVMe board around to test the connection.
If you do “sudo dmesg | grep nvme” do you get any output?
Also found this - https://forums.raspberrypi.com/viewtopic.php?t=364327 , which seems to indicate that someone got an sn550 nvme (which also use a phison controller) to work by updating to latest eeprom firmware.
For Argon One case, as we use the pogo pins to power the nvme, have to make sure that the case is close for nvme to work.
Yeah, the case is always closed when I turn it on.
But this really pisses me off. No visible feedback of what’s wrong. No error message, no freeze, no nothing.
I attached a Samsung 980 1TB ssd to the case, cables are sticked in as far as could and the case is closed. But no sign of any ssd if I boot via the sd card. Can’t find any drive in /sys/block… I really regret buying both the case and ssd right now.
When I boot from nvme, i see timeouts. So I guess this ssd is not supported?
@segabor,
Thanks for this photo. Did you do this just to demonstrate proper alignment, or are the contacts at the cable ends really that long? In the photo it seems that the cable is not deep enough in the socket. I know that FPC connectors like this are fiddly, that’s why I’m asking.
Normally the brown plastic lock needs to be loosened slightly (1-2mm move with pin or fingernal) in order to insert the cable without much effort. After inserting, the brown plastic must moved back to the lock position.
By the way: I know you used a video tutorial for proper orientation, and checked it multiple times. You can also see in this photo that the contacts should point to the Raspberry logo, if I’m right. https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html#raspberry-pi-connector-for-pcie