{"id":878,"date":"2024-03-14T18:16:58","date_gmt":"2024-03-14T09:16:58","guid":{"rendered":"https:\/\/www.fsquare.co.kr\/?p=878"},"modified":"2024-05-21T14:50:11","modified_gmt":"2024-05-21T05:50:11","slug":"raspberry-5-pcie-to-m-2-nvme-ssd-booting-issue","status":"publish","type":"post","link":"https:\/\/www.fsquare.co.kr\/?p=878","title":{"rendered":"Raspberry 5 PCIe to M.2 NVMe SSD Booting Issue"},"content":{"rendered":"<p>\ucd9c\ucc98 : https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401<\/p>\n<p>&nbsp;<\/p>\n<p>I&#8217;m having the same exact struggle with three different adapters:<br \/>\n1. Geekworm X1001 V1.1<br \/>\n2. Geekwork X1002<br \/>\n3. MCUzone MPS2242 Rev1.2a<\/p>\n<p>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.<\/p>\n<p>The other three are blank when choosing a target.<\/p>\n<p>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.<\/p>\n<p>It will boot from the usb nvme adapter though. So that works.<\/p>\n<p>Also boots the Pi5 from SD card just fine.<\/p>\n<p>Just a chore getting it to boot from nvme so far.<\/p>\n<p>Yes, I have updated to the latest eeprom, set the rpi-eeprom-config &#8211;edit to have the 6 at the end. E.g. 416.<\/p>\n<p>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&#8217;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.<\/p>\n<p>I also have tried the &#8216;latest&#8217; boot rom from the raspi-config &gt; advanced menu as well as the default.<\/p>\n<p>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 &#8216;latest&#8217; boot rom white\/red boot loader screen and then never finds the nvme drive.<\/p>\n<p>Talk about a PITA.<\/p>\n<p>Not sure what to try next.<\/p>\n<p>Hope this helps someone else. If I figure it out I&#8217;ll post the fix.<\/p>\n<p>My hardware info:<br \/>\nTrying on both a Pi5 4gb and Pi5 8 gb.<br \/>\nUsing the following NVME SSDs:<br \/>\n1. PC SN530 256GB M.2 2230 NVMe PCIe Gen3 x4 SSD Solid State Drive SDBPTPZ-256G-1012<br \/>\n2. 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)<br \/>\nBoth were tops of the charts for the pineberry pi adapters. Perhaps I should have just bought their solution.<br \/>\n<a class=\"postlink\" href=\"https:\/\/docs.pineberrypi.com\/nvme-compatibility-list\">https:\/\/docs.pineberrypi.com\/nvme-compatibility-list<\/a><\/p>\n<p>Edit: Update. I got it working finally!<\/p>\n<p>Had to use the NVMe BASE with the Lexar NM620. That finally booted!<br \/>\nSeems you have to get the right SSD with the right nvme adapter board or no dice.<\/p>\n<p>Also, FYI, I&#8217;m using the geekworm 27W 5Amp AC adapter (US). Don&#8217;t have an original one yet. Those might give more success maybe?<\/p>\n<p>I&#8217;ll also try the other three generic\/knockoff boards again with other drives and let you know my findings. But so far they&#8217;re not working.<\/p>\n<p>So perhaps stay with the NVMe BASE or the pineberry pi boards? They may be less trouble overall.<\/p>\n<p>Hope this helps.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Anyway for all the others:<br \/>\nI got into quite similar issues with my rpi 5 with Geekworm X1001 and Patriot P300 nvme.<\/p>\n<p>I&#8217;ve added<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>dtparam=nvme\r\ndtparam=pciex1_gen=2\r\n<\/code><\/pre>\n<\/div>\n<p>to config.txt and<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>BOOT_ORDER=0xf416\r\nPCIE_PROBE=1\r\n\r\n<\/code><\/pre>\n<\/div>\n<p>to eeprom config<br \/>\nAt first, my rpi did not see the nvme drive nor the pci. lsblk and lspci output below:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>\u250c\u2500\u2500(root\ud83d\udc80grogu)-[~]\r\n\u2514\u2500# lspci\r\n00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)\r\n01:00.0 Ethernet controller: Device 1de4:0001\r\n\u250c\u2500\u2500(root\ud83d\udc80grogu)-[~]\r\n\u2514\u2500# lsblk\r\nNAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS\r\nmmcblk0     179:0    0 29.7G  0 disk \r\n\u251c\u2500mmcblk0p1 179:1    0  512M  0 part \/boot\/firmware\r\n\u2514\u2500mmcblk0p2 179:2    0 29.2G  0 part \/\r\n<\/code><\/pre>\n<\/div>\n<p>so, i&#8217;ve updated the eeprom to the latest version:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>Mon Jan 22 02:44:36 PM UTC 2024 (1705934676)<\/code><\/pre>\n<\/div>\n<p>and rebooted my rpi. At boot, I&#8217;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:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>\u250c\u2500\u2500(root\ud83d\udc80grogu)-[~]\r\n\u2514\u2500# lspci\r\n0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)\r\n0000:01:00.0 Non-Volatile memory controller: INNOGRIT Corporation NVMe SSD Controller IG5216 (DRAM-less) (rev 01)\r\n0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)\r\n0001:01:00.0 Ethernet controller: Device 1de4:0001\r\n<\/code><\/pre>\n<\/div>\n<p>However, lsblk still could not detect my nvme. So i&#8217;ve checked dmesg and found this:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>[    0.573285] nvme nvme0: pci function 0000:01:00.0\r\n[    0.573292] nvme 0000:01:00.0: enabling device (0000 -&gt; 0002)\r\n[   50.577454] nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0\r\n<\/code><\/pre>\n<\/div>\n<p>which game me more hope. So, next I&#8217;ve tried this:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>echo 1 &gt;\/sys\/bus\/pci\/devices\/0000:00:00.0\/remove\r\necho 1 &gt;\/sys\/bus\/pci\/rescan\r\n<\/code><\/pre>\n<\/div>\n<p>and, sure enough, now my nvme is available and usable:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>\u250c\u2500\u2500(root\ud83d\udc80grogu)-[~]\r\n\u2514\u2500# lsblk\r\nNAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\r\nmmcblk0     179:0    0  29.7G  0 disk \r\n\u251c\u2500mmcblk0p1 179:1    0   512M  0 part \/boot\/firmware\r\n\u2514\u2500mmcblk0p2 179:2    0  29.2G  0 part \/\r\nnvme0n1     259:0    0 238.5G  0 disk \r\n\u251c\u2500nvme0n1p1 259:1    0   512M  0 part \r\n\u2514\u2500nvme0n1p2 259:2    0   238G  0 part \r\n<\/code><\/pre>\n<\/div>\n<p>However, can&#8217;t boot from it, as at boot it is failing with that message from dmesg. The funny part is that I&#8217;ve tried my main PC&#8217;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&#8217;ll just give up and get another samsung 980 to use it in my rpi.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>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&#8217;s written at geekworm&#8217;s wiki that some types of phisons are incompatible)<br \/>\nI almost gave up, then I have updated the eeprom as you suggested:<\/p>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>sudo rpi-eeprom-update -a<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>*** PREPARING EEPROM UPDATES ***\r\n\r\nBOOTLOADER: update available\r\n   CURRENT: Wed 18 Oct 17:30:17 UTC 2023 (1697650217)\r\n    LATEST: Mon 20 Nov 19:40:17 UTC 2023 (1700509217)\r\n   RELEASE: default (\/lib\/firmware\/raspberrypi\/bootloader-2712\/default)\r\n            Use raspi-config to change the release.\r\n   CURRENT: Wed 18 Oct 17:30:17 UTC 2023 (1697650217)\r\n    UPDATE: Mon 20 Nov 19:40:17 UTC 2023 (1700509217)\r\n    BOOTFS: \/boot\/firmware\r\n'\/tmp\/tmp.bERzENwnHu' -&gt; '\/boot\/firmware\/pieeprom.upd'\r\nCopying recovery.bin to \/boot\/firmware for EEPROM update\r\n\r\nEEPROM updates pending. Please reboot to apply the update.\r\nTo cancel a pending update run \"sudo rpi-eeprom-update -r\".<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>sudo reboot<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>lspci<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)\r\n0000:01:00.0 Non-Volatile memory controller: Micron Technology Inc 2450 NVMe SSD [HendrixV] (DRAM-less) (rev 01)\r\n0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)\r\n0001:01:00.0 Ethernet controller: Device 1de4:0001<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code> lsblk<\/code><\/pre>\n<\/div>\n<div class=\"codebox\">\n<p>Code:\u00a0<a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401#\">Select all<\/a><\/p>\n<pre><code>NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\r\nmmcblk0     179:0    0  59.5G  0 disk\r\n\u251c\u2500mmcblk0p1 179:1    0   512M  0 part \/boot\/firmware\r\n\u2514\u2500mmcblk0p2 179:2    0    59G  0 part \/\r\nnvme0n1     259:0    0 238.5G  0 disk<\/code><\/pre>\n<\/div>\n<p>Thanks man! It worked for me!!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>I must have won the NVME lottery.\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"smilies\" title=\"Wink\" src=\"https:\/\/forums.raspberrypi.com\/images\/smilies\/icon_e_wink.gif\" alt=\";)\" width=\"15\" height=\"17\" \/><\/p>\n<p>I have a Geekworm X1001 and the\u00a0<a class=\"postlink\" href=\"https:\/\/www.amazon.com\/dp\/B0BBWJH1P8?ref=ppx_yo2ov_dt_b_product_details&amp;th=1\">Kingston NV2 500G M.2 2280 NVMe Internal SSD<\/a>.<\/p>\n<p>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&#8217;s running fine\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"smilies\" title=\"Surprised\" src=\"https:\/\/forums.raspberrypi.com\/images\/smilies\/icon_e_surprised.gif\" alt=\":o\" width=\"15\" height=\"17\" \/><\/p>\n<p>I did not make any changes to config.txt, so it may not be running\u00a0<em>optimally<\/em>\u00a0(I haven&#8217;t gotten to tuning yet), but it&#8217;s nicely humming away.<\/p>\n<p>Also, this Pi5-8GB is powered with the official adapter, and yes, it worked fine with both the SSD and NVME simultaneously connected.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>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.<\/p>\n<p>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 &#8220;goodness&#8221; of the install of the ribbon in the connector.<\/p>\n<p>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.<\/p>\n<p>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 &#8220;tested&#8221; to work.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ucd9c\ucc98 : https:\/\/forums.raspberrypi.com\/viewtopic.php?t=363401 &nbsp; I&#8217;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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":968,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,9],"tags":[49,41],"class_list":["post-878","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it","category-linux","tag-ssd","tag-41"],"_links":{"self":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=878"}],"version-history":[{"count":1,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/878\/revisions"}],"predecessor-version":[{"id":879,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/878\/revisions\/879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=\/wp\/v2\/media\/968"}],"wp:attachment":[{"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fsquare.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}