Argon Neo 5 doesn't recognize any SSD

Hi,

I have now spent an unnecessary number of hours trying to get the Raspberry to work. nIncredible. What am I actually doing to myself here…

So, now to the problem, which hopefully can be solved quickly:

I have a Raspberry Pi5. Here I installed NextcloudPi with Debian 12 on an SSD via USB. Everything works. But, no SSD is recognized by the Neo5. Not even the SSD M2. NVME WD SN850X which apparently should work.

Even if I plug the empty SSD into the PCIE interface, the Raspberry does not recognize the SSD. lsblk does not display these.

This setting is done:

Enable the PCIe external connector

dtparam=pciex1

What can I do and where is the error?

I would be very thankful for help.

The best way to check if the NVMe is detected by the RPi5 is to use the information at diagnostic screen at boot. As long the NVMe makes some trouble you should remove the SD card and other additional boot media like USB thumb drive and provide a photo of that boot screen with the raspberry logo in the left corner.

dtparam=pciex1 and the alias dtparam=nvme should normally not needed if you have a recent bootloader and the detection works. If the detection of the NVMe at the boot screen already not works, then this indicates mostly a connection issue or that the chosen NVMe is currently not compatible and will make additional issue afterwards.

Are you ensured that you have inserted the flexible printed circuit board (PCIe cable) in the correct direction with regard to the contacts? In the past it seemed some room of misinterpreting the user manual.

Thanks for help!

Now, I have flashed a SSD NVME (WD SN850X) with NextcloudPi and connected this SSD with an adapter via USB3. It works!

After this step I made the settings according to these instructions. The cable is connected correctly.

Then I shut down the Raspberry and plugged the SSD into the case below. Now I get attached error.

If I want to boot from the SSD that previously worked via USD, I no longer need an SD card, right? Where is the mistake?


That is really old firmware, older even than what my Pi 5 came with. It’s possible you downgraded the firmware at some point if the rpi-eeprom package that’s part of your OS is not updated often, which is the case with Ubuntu and I imagine also Debian. This might have happened when running the scripts provided by Argon, though there should have been a warning about downgrading.

See my possibly outdated post here on how to download an updated copy of the firmware. It looks like my link in that post points to an older version of the repository so try this link to get a copy of pieeprom-2024-06-05.bin.

@demyers is more than right. You need a recent bootloader to enable NVMe support in general. The version 2023-09-25 is before the official support for NVMe has been started and doesn’t includes the needed bugfixes !

Should also possible on this way: Use Raspberry Pi Imager to update the bootloader

So, now I’ve finally managed to download a new bootloader. That wasn’t easy for me.

But, how can I updated this or is it installed meanwhile? My raspi-config doesn’t have the Bootloader menu item.

The SSD NVME is still not recognized.

I also don’t understand why sudo rpi-eeprom-config --edit doesn’t save my settings now.

It is to despair…


Your last screenshot looks to me, that you updated to 2024-06-05. That’s right and you should see that date at diagnostic screen too starting with the next reboot. Please check and post boot screen again with only the NVMe connected.
But it’s scary me that the OS you booted from, provides a version from September 2023. Mostly this indicates that the underlying kernel and the remaining firmware files also maybe are outdated and not ready for NVMe.

Is that really NextcloudPi v1.54?

Please can you check the current kernel version ?:
uname -a

Now I can’t see anything on the screen when I want to boot via SSD NVME. The screen won’t turn on and the van blows non-stop.

It’s amazing that I can’t change the eeprom settings:

Image

After saving and restarting I couldn’t see these settings. Just this:

Image

Yes, it is NextcloudPi 1.54.0 As I mentioned earlier, this version works fine via an NVME adapter and USB.

My kernel version is:

Linux nextcloudpi 6.6.31-current-bcm2712 #2 SMP PREEMPT Tue May 21 15:12:02 UTC 2024 aarch64 GNU/Linux

That the NVMe adapter is working fine it’s a different situation, because it’s not PCIe. For the RPi5 it’s only a fast USB boot media.

The changed EEPROM settings are ok to me, because now the autodetection should work, if the hardware has no defective.

Please grep for PCIe messages in the kernel log:
sudo dmesg | egrep -i "pcie|nvme"

It doesn’t sound like you’ve tried my instructions. Apply the settings to a local copy of the latest firmware file:

  1. Download a copy of pieeprom-2024-06-05.bin from the rpi-eeprom repository.

  2. Create a text file called eeprom.conf with the recommended settings.

  3. Apply the settings to the local firmware file:

    sudo rpi-eeprom-config --apply eeprom.conf pieeprom-2024-06-05.bin
    
  4. Reboot.

I have taken this step. But there is no change whatsoever. The problem is still there. The SSD NVME simply won’t boot. Also not recognized when I connect the other SSD via USB.

demyers

I thought that with the update to eeprom 2024-06-05 I might have already installed the better version. Following your instructions, I would install an older version again, right?

Regarding point 2 - in which directory does this file need to be saved?

The firmware and the settings get updated together. Changing the settings reloads the firmware.

So download a copy of the version you want to install or else rpi-eeprom-config will choose the newest version from the local rpi-eeprom package, which is likely to date back to when the package was last updated.

I didn’t suggest an older version, I’m suggesting pieeprom-2024-06-05.bin.

Just put the firmware file and the text file containing the settings in the same directory. Your home directory is fine. rpi-eeprom-config will call rpi-eeprom-update which will put a copy of the firmware with the desired settings embedded in the proper location to be loaded at the next boot.

Edited to add: Also, it never hurts to re-seat the PCIe ribbon cable. Those can be tricky.

Please excuse me, I was too quick about the versions.

However, a question of understanding - I have now installed version 2024-06-05 (see the pictures above). Should I do anything else?

I have already reconnected the cable twice. Is it possible to connect it incorrectly and break something?

Does rpi-eeprom-config show the Argon recommended settings?

The cable is definitely connected correctly. The copper side of the cable must always be at the top or on the white side of the board according to the instructions. However, there are two ways to connect the cable. I hope that doesn’t make a difference. There are videos on YouTube where instructions show both options.

But I can’t change the rpi-eeprom-config. After each change I see the following settings. I’ll go crazy… What’s wrong?

image

Even with the working SSD via USB, the SSD NVME is still not recognized. Is this related to the eeprom settings?

Run these commands and post the output:

cat eeprom.conf
sudo rpi-eeprom-config --apply eeprom.conf pieeprom-2024-06-05.bin

The settings file looks good but you didn’t follow Step 1 in my instructions above.

Go to the rpi-eeprom repository, click on pieeprom-2024-06-05.bin, then click on the “Download raw file” button:

You can double check that what you downloaded is a correct image with the file command:

Ok, I didn’t understand that correctly at first. But now I did it that way. See the result before rebooting:

And see the rpi-eeprom-config after a reboot:

image

That should look different now, right? I do not believe it…