출처 : https://forums.raspberrypi.com/viewtopic.php?t=363401
I’m having the same exact struggle with three different adapters:
1. Geekworm X1001 V1.1
2. Geekwork X1002
3. MCUzone MPS2242 Rev1.2a
I also bought a Pimoroni NVMe BASE and it is the only one that shows my NVME SSD as an option to write to within Pi Imager.
The other three are blank when choosing a target.
But so far I have not been able to get any applied image to boot. Even images I applied over USB to the NVME via a USB to nvme adapter.
It will boot from the usb nvme adapter though. So that works.
Also boots the Pi5 from SD card just fine.
Just a chore getting it to boot from nvme so far.
Yes, I have updated to the latest eeprom, set the rpi-eeprom-config –edit to have the 6 at the end. E.g. 416.
Even used sudo raspi-config to set the NVME as the default boot device under the advanced options area. Had to do a reboot with the sdcard still in otherwise I’d get a red boot screen. I believe this means it has failed the boot rom update process. Keeping the sdcard in seems to allow it to succeed.
I also have tried the ‘latest’ boot rom from the raspi-config > advanced menu as well as the default.
My latest attempt with the NVMe BASE adapter is to try the network install direct to the nvme. Says it succeeds and verifies it but then on a reboot it comes up to the ‘latest’ boot rom white/red boot loader screen and then never finds the nvme drive.
Talk about a PITA.
Not sure what to try next.
Hope this helps someone else. If I figure it out I’ll post the fix.
My hardware info:
Trying on both a Pi5 4gb and Pi5 8 gb.
Using the following NVME SSDs:
1. PC SN530 256GB M.2 2230 NVMe PCIe Gen3 x4 SSD Solid State Drive SDBPTPZ-256G-1012
2. Lexar NM620 SSD 512GB PCIe Gen3 NVMe M.2 2280 Internal Solid State Drive, Up to 3300MB/s Read, for Gamers and PC Enthusiasts (LNM620X512G-RNNNU)
Both were tops of the charts for the pineberry pi adapters. Perhaps I should have just bought their solution.
https://docs.pineberrypi.com/nvme-compatibility-list
Edit: Update. I got it working finally!
Had to use the NVMe BASE with the Lexar NM620. That finally booted!
Seems you have to get the right SSD with the right nvme adapter board or no dice.
Also, FYI, I’m using the geekworm 27W 5Amp AC adapter (US). Don’t have an original one yet. Those might give more success maybe?
I’ll also try the other three generic/knockoff boards again with other drives and let you know my findings. But so far they’re not working.
So perhaps stay with the NVMe BASE or the pineberry pi boards? They may be less trouble overall.
Hope this helps.
Anyway for all the others:
I got into quite similar issues with my rpi 5 with Geekworm X1001 and Patriot P300 nvme.
I’ve added
Code: Select all
dtparam=nvme
dtparam=pciex1_gen=2
to config.txt and
Code: Select all
BOOT_ORDER=0xf416
PCIE_PROBE=1
to eeprom config
At first, my rpi did not see the nvme drive nor the pci. lsblk and lspci output below:
Code: Select all
┌──(root💀grogu)-[~]
└─# lspci
00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
01:00.0 Ethernet controller: Device 1de4:0001
┌──(root💀grogu)-[~]
└─# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 29.2G 0 part /
so, i’ve updated the eeprom to the latest version:
Code: Select all
Mon Jan 22 02:44:36 PM UTC 2024 (1705934676)
and rebooted my rpi. At boot, I’ve feelt some hope as a LED on my nvme started blinking. But it stopped after a few seconds. Anyway, once the system booted up, i could see some progress, as lspci was showing something:
Code: Select all
┌──(root💀grogu)-[~]
└─# lspci
0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0000:01:00.0 Non-Volatile memory controller: INNOGRIT Corporation NVMe SSD Controller IG5216 (DRAM-less) (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0001:01:00.0 Ethernet controller: Device 1de4:0001
However, lsblk still could not detect my nvme. So i’ve checked dmesg and found this:
Code: Select all
[ 0.573285] nvme nvme0: pci function 0000:01:00.0
[ 0.573292] nvme 0000:01:00.0: enabling device (0000 -> 0002)
[ 50.577454] nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
which game me more hope. So, next I’ve tried this:
Code: Select all
echo 1 >/sys/bus/pci/devices/0000:00:00.0/remove
echo 1 >/sys/bus/pci/rescan
and, sure enough, now my nvme is available and usable:
Code: Select all
┌──(root💀grogu)-[~]
└─# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 29.2G 0 part /
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
└─nvme0n1p2 259:2 0 238G 0 part
However, can’t boot from it, as at boot it is failing with that message from dmesg. The funny part is that I’ve tried my main PC’s nvme (samsung 980) in RPi and it works without issues, but i did not want/have not time to migrate the data. So it feels like a software issue; waiting for a new firmware or something, or maybe i’ll just give up and get another samsung 980 to use it in my rpi.
I have registered just because you gave me the final solution and i wanted to say thank you. I bought geekworm X1001 and bought a Micron 2200 NVMe SSD drive with Phison controller (it’s written at geekworm’s wiki that some types of phisons are incompatible)
I almost gave up, then I have updated the eeprom as you suggested:
Code: Select all
sudo rpi-eeprom-update -a
Code: Select all
*** PREPARING EEPROM UPDATES ***
BOOTLOADER: update available
CURRENT: Wed 18 Oct 17:30:17 UTC 2023 (1697650217)
LATEST: Mon 20 Nov 19:40:17 UTC 2023 (1700509217)
RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
Use raspi-config to change the release.
CURRENT: Wed 18 Oct 17:30:17 UTC 2023 (1697650217)
UPDATE: Mon 20 Nov 19:40:17 UTC 2023 (1700509217)
BOOTFS: /boot/firmware
'/tmp/tmp.bERzENwnHu' -> '/boot/firmware/pieeprom.upd'
Copying recovery.bin to /boot/firmware for EEPROM update
EEPROM updates pending. Please reboot to apply the update.
To cancel a pending update run "sudo rpi-eeprom-update -r".
Code: Select all
sudo reboot
Code: Select all
lspci
Code: Select all
0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0000:01:00.0 Non-Volatile memory controller: Micron Technology Inc 2450 NVMe SSD [HendrixV] (DRAM-less) (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
0001:01:00.0 Ethernet controller: Device 1de4:0001
Code: Select all
lsblk
Code: Select all
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk0 179:0 0 59.5G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 59G 0 part /
nvme0n1 259:0 0 238.5G 0 disk
Thanks man! It worked for me!!
I must have won the NVME lottery.
I have a Geekworm X1001 and the Kingston NV2 500G M.2 2280 NVMe Internal SSD.
After installing the board and SSD, I booted up a Kingston SSD connected via a Startech USB3S2SAT3CB adapter. It immediately saw the NVME and I was able to burn an IMG to the NVME and boot it. It’s running fine
I did not make any changes to config.txt, so it may not be running optimally (I haven’t gotten to tuning yet), but it’s nicely humming away.
Also, this Pi5-8GB is powered with the official adapter, and yes, it worked fine with both the SSD and NVME simultaneously connected.
I started using Kingston SSDs after reading in these forums that they require less power than some other brands. I bought the Kingston NV2 after someone posted a picture of theirs in a working configuration.
Based on the many posts re NVME issues and my own experience, it seems to me that one of the biggest issues is the actual NVME disk chosen.
I suspect NVMe SSD is a bit of the wild west these days and Pi 5 has issues some with Gen 3 speeds. Gen 2 seems solid.
So you get the silicon lottery with the Pi, the PCIe adaptor board, the actual NVMe SSD, plus the quality of the connector ribbon cable and the “goodness” of the install of the ribbon in the connector.
Potentially as the rate of adoption goes up, there should be some clear winners and losers in NVMe SSD models and adaptor boards to help guide folks.
I was attracted to the external power option of the PineBase but the Pimoroni was available first so I got that (poor impulse control). I bought the package deal since it was cheaper than anything I could find and they claimed the SSDs were “tested” to work.
It installed with zero hassles and worked without requiring any fiddles. I was already on the latest eeprom firmware. Was seen on the first boot and SD Copier had no issues moving the OS I had on my USB3 attached SSD. Ran for a couple of days to get a benchmark and then enabled Gen3.
Its a very small sample size so far but I had read about more successes with the Pimoroni board and more hassles with the Geekworm. To be fair, it may totally be the NVMe SSDs folks are trying to use.