NVMe base stopped working?

Hi,

I’ve got a Pi 5 with the NVMe base attached to it running 24/7 for over a year now. This week after a reboot the Pi did not boot anymore.

Attaching it to a monitor, the following info was shown.

The Pi 🕵️‍♀️ only has the NVMe drive attached (Transcend M.2).

I didn’t check yet if it will boot from an SD-card, but probably will.

If it does, and I can access the SSD, what steps can I do to fix the booting process?

Okay, I could do some further testing.

First: sometime when trieing to boor this way I see an “nvme error 8”.

When I install a fresh SD Rasbian image, the Pi won’t boot, and only shows a flashing cursor.

When removing the NVMe connecton from the Pi, the SD card boots into the OS.

So: At this point, I’n nog sure if the SSD is broken/corrupt, but the signs are nog good. I don’t see any changes of getting to the data on the SSD, or are there any more opions?

In the Official Pi Imager there is a “Misc utility Images” option with an image that will “Restore the factory default settings”. If it was me I think I’d try it?
Go back and start over. Reimage the NVMe and see what happens? If it’s just a corrupt OS (software), this should get you back up and running.
Just booting from a Flash drive and or Micro SD Card should determine if the Pi 5 is OK hardware wise, other than the NVME anyway.
If all is fine from an SD Card, I’d do a fresh install to the NVMe. If it’s messed up I would expect that to fail. Might also be worth while “carefully” reseating reattaching the ribbon cable.

If you have important data on the SSD, doing a fresh install to the NVMe wont help you. If not, that is the first thing to try. Otherwise, you have these options:

Option 1: SD/USB-Boot

From your screenshot, the configured boot-order is f461: it is trying the SD (“01”), fails because it does not find the SD, then goes on (“order f46”). It will then try NVME (“6”), then USB (“4”).

So if you have a valid SD-card, it should boot. If not, something very bad has happened. You could try to write the image to an USB-stick and boot from there.

Option 2: SD-Boot without NVMe

Buy an external NVMe-to-USB enclosure. You will find these for 10-20€. I have good experience with UGREEN, but that does not imply that others are bad.

Once you have it, put your NVMe into it. First boot your Pi from SD-card. Then run sudo journalctl -f and then insert the NVMe via USB. This should add a few lines to the journal. Post the output of the command. Then we might see something that is useful.

1 Like

I did option 2:

pi@meterkasthulp:~ $ sudo journalctl -f
Sep 28 08:28:17 meterkasthulp PackageKit[1697]: get-updates transaction /21_bbdedace from uid 1000 finished with success after 2764ms
Sep 28 08:28:54 meterkasthulp systemd[820]: Started app-org.chromium.Chromium-2076.scope.
Sep 28 08:28:54 meterkasthulp xdg-desktop-por[1082]: Backend call failed: Collection login doesn't exist
Sep 28 08:29:24 meterkasthulp chrome[2076]: [2076:2112:0928/082924.683796:INFO:chrome/browser/extensions/extension_garbage_collector.cc:184] Garbage collection for extensions on file thread is complete.
Sep 28 08:31:04 meterkasthulp wpa_supplicant[736]: RRM: Ignoring radio measurement request: Not RRM network
Sep 28 08:33:22 meterkasthulp PackageKit[1697]: daemon quit
Sep 28 08:33:22 meterkasthulp systemd[1]: packagekit.service: Deactivated successfully.
Sep 28 08:33:22 meterkasthulp systemd[1]: packagekit.service: Consumed 3.343s CPU time.
Sep 28 08:36:06 meterkasthulp sudo[2558]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/journalctl -f
Sep 28 08:36:06 meterkasthulp sudo[2558]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Sep 28 08:36:55 meterkasthulp systemd[1]: tmp-.mount_rpi\x2dimEhDBED.mount: Deactivated successfully.

When I connect the NVMe after running the command, only the last line is added after some time. I’m not sure what it means, but I guess it’s not related to connecting the external NVMe, cause it takes a minute before the line appears.

When the NVMe is in the external enclosure, it not visible on any other computer either.

So I think I can conclude the NVMe is dead.

I switched from SD to NVMe to eliminate a corrupt SD-card. I have a backup from the important data, but that 1,5 year old (when I installed the NVMe upgraded system).

Lessons learned: NVMe isn’t more reliable then SD (which ran without a problem for 5 years). Make more back-ups.

Why I switched? I added extra task which required read/write actions to the Pi.

If there any change of accessing the data, let me know. otherwise it’s rebuilding the setup with a new NVMe and add the backup part…

You should analyze your needs regarding IO and then you should decide if you really need a NVMe. I did a lot of tests and it basically shows that the NVMe is only useful for very specific IO-loads. Running an OS is definitely not one of these loads.

Even disk-space is no argument anymore since large SDs are also available. Unless you need terabytes of data, in which case I would doubt that the Pi is the best choice anyhow.

If you need advice on how to setup a suitable backup scheme for the Pi, just let me know.

1 Like