Don't recognize / boot from NVME SSD for X1001/X1002/X1000/X1003? | Geekworm

Don't recognize / boot from NVME SSD for X1001/X1002/X1000/X1003?


  • On December 15 I bought on Aliexpress "X1001 M2 Shield". Everything works fine if I boot from SD, but I can't boot from SSD. I followed your procedure on this page: https://wiki.geekworm.com/NVMe_SSD_boot_with_the_Raspberry_Pi_5, I tried all 3 methods described, but nothing, the system doesn't boot from the SSD. In console I see the message "Unsupported boot order 6"
    I have a Crucial SDD that consumes less than 5W and works well if I boot from the SD, and I have the official Raspberry 27W power supply.
    Is there some step that I didn't understand or does the X1001 simply not support booting from SSD?
    Thank you



  • Seems I solved the issue!

    In another guide I found another line to add to rpi-eeprom-config, this is what I did:

    sudo rpi-eeprom-config --edit
    • Added as the first line of the file PCIE_PROBE to enumerate over the PCIe bus:
    •  PCIE_PROBE=1
    • Changed the boot order:
    • BOOT_ORDER=0xf416

    sudo reboot

    After that the system booted from NVME SSD 

     


  • 1. In fact, the pi 5 will boot from sd card even  if you still insert the TF card.

    2. The PI 5 BOOT_ORDER  configuration is stored on the EEPROM of the PI 5 motherboard, and it not be changed even if you replace the NVME SSD or SD card.

    3. If you are flashing a fresh Pi OS to NVME ssd, you must Enable PCIe; if you are COPY or CLONE an old Pi OS from SD card to NVME ssd, and you have already enabled pcie in the old Pi OS in advance, then you don't need to do enable pcie again!

    4. The official Raspberry Pi OS is still not stable enough, so if you encounter some software problems you need to wait for an official update.


  • @Maurizio Imperatrice thank you! The `PCIE_PROBE=1` parameter was key for getting me to a point where the device would boot from NVMe. It worked! For a moment...

    ---

    I have the X1001 board and set it up today; but, following the instructions on https://wiki.geekworm.com/X1001 I got through the test of speed for my Kingston 512Gb NVMe drive, and then thought I would test the PCIe 3 option listed...

    Now, the X1001 board is absolutely no longer recognised by the Pi. With the exact same configuration I used previously, rolled back all the config changes and booted from SD card, the X1001 connected, it always reports: `pcie: link down` and the storage is not recognised.

    I removed the pci gen 3 information from `/boot/config.txt` (it worked before this) by moving the disk to another machine and editing the file, but the X1001 never seems to be recognised any more.

    Does anyone have any ideas?

    - have tried re-seating the ribbon cable. The blue ACT light is on, and the red link blinks briefly when the Pi starts, but the Pi never addresses the board / recognises the disk.

    - `lspci` no longer shows any entries for the X1001 or the disk.

    - have tried a different NVMe drive on the X1001.

    - have reinstalled the Pi bootloader firmware using `rpi-update`, reset the `rpi-eeprom` parameters, booted from SD card, reset the `/boot/config.txt` file back to the point where the `dtparam=pciex1` value was added to just enable the PCI Express connection, but no joy.

     

     

     


  • since there was no reply to this, I ended up picking up the Pimoroni NVMe Base for Pi 5 and it worked flawlessly, and with far fewer commands! You simply write an SD card, boot, get latest eeprom update and set the NVMe option in config.txt, reboot and copy to NVMe SSD, use raspi-config to set to boot from NVMe, and restart. Works great.

    no idea what to do with the x1001 board now.


  • Similar problem here.   However, I see no PCIe light on the 1001 (but the SSD LED is blue) and lspci only shows:

    0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries Device 2712 (rev 21)
    0001:01:00.0 Ethernet controller: Device 1de4:0001

    lsblk only shows the SD card.   I have a KingSpec XG7000 NVMe Gen 4x4 SSD installed.  

    So no joy at all with the 1001 on my RPi5 8 GB board.  I did configure config.txt with dtparam=pciex1 and based on Maurizios advice I added PCIE_PROBE=1 to rpi-eeprom-config.   I'm running the Dec 14 firmware release.   


  • We've found customer feedback that they don't recognize SSDs, the firmware & configuration are fine, and there's no problem with the power supply. But just not recognized.


    The final solution is to partition the NVME SSD, after deleting the dos partition, the NVME SSD will be recognized.


  • @Ivan Podogov If your DOS partition was obtained by flashing the Raspberry Pi OS, it should be fine, but many users are using OLD SSDs, which will have old OS on them, such as windows 10 or other OS, which may cause the SSDs not to be recognized; this was fed back to me by a Taiwanese customer today.


  • I tried all suggestions above, but my Pi5 won't boot with the X1001 hat. The blue light is on, but nothing happens (Pi5 light is green, screen show no signal and fans are noisy). The Pi5 also does not auto boot when I plug the power in, I need to press the power button to start. (which I don't need if an USB SSD is attached)

    My SSD works fine in an USB enclosure and the power meter never shows usage above 0,25A (even with a file copy). This is how I currently run the OS. This is a new SSD and only installed bookworm (64 bit lite) on it.

     

    fdisk shows however:

    Disk /dev/sda: 223.57 GiB, 240057409536 bytes, 468862128 sectors
    Disk model: RTL9210B-CG
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x4e639091

    I used the official Raspberry Pi imager in Windows to format the SSD, it has no options to set the disklabel type. Could this be the problem? Any suggestions how to resolve this?

     

    I'm going to try Ivan's solution with another boot drive (USB or SD) to see if I can boot the SSD in the X1001 hat. Will post the results later.


  • Update:
    Imaged an USB drive.  Without the SSD plugged into the Pi it boots fine with the USB drive. With the SSD inserted in the hat it won't start (green light, full fans & no HDMI output) even if the USB drive is inserted, it previously booted on.

    I hot plugged the SSD drive, but did not show up. I also noticed the SSD drive is not getting warm at all in the USB hat. Not sure if that is normal.

    Please advice.


  • I found my problem. My SSD has Phison controller. As noted in https://geekworm.com/products/x1001 it's not compitable. 


  • Hi! I've installed X1002 with NVMe (non-Phison chipset). Then I booted to linux OS and put dtparam=pciex1 to config.txt - it let the SSD drive to become visible. But it operates VERY slow! It makes no sense to work at that speed. I rechecked and replugged ribbon for two times with same result. The blue LED is on on the X1002, so it signals as working. Please help.


  • dmesg log also has such messages on each attempt to read from ssd:

    "nvme I/O 960 (I/O Cmd) QID 3 timeout, aborting"


  • @michael matyas I couldn't get the X1000 to recognize the SSD, so I opened a case with Geekworm and they eventually sent me a new (ver 1.5) X1000 board.  This is the one with the single LED that is labeled "ACT".   This board works perfectly.   Just install and boot with an SSD installed.  


  • @Sijmen Visser how the heck do you figure ut what  controller an nvme m.2 drive has??  geekwork doesn't bother telling us how to know this.  yet they say their device has a defect that cannot work with a Phison controlled device.  How do we figure out what nvme to buy??


  • @Maurizio Imperatrice this didn't work for me.  lsblck shows nothing with a "KingSpec 512GB 2230 SSD NVMe Gen3x4, M.2 PCIe 3.0 SSD with 3D NAND Flash"


  • @michael matyas i also have no function from a kingspec NX 2230 512GB NVME M.2 


  • @etyrnal etyrnal Hello,

    Run the command:

    lspci

    Then check to see if the run result line contains the Phison

     

    Thanks.


  • Feedback from other buyers:

    If the nvme is not recognised after adding dtparam=pciex1 to config.txt, add PCIE_PROBE=1 to the eeprom. That made my pi see the nvme.

    Run command:

    sudo rpi-eeprom-config --edit

    Then add PCIE_PROBE=1 to the end line;

    then press CTRL+O to write change to file, press CTRL+X to exit, then reboot


  • @Vitaly Chekryzhev Hi

    Only use pcie 2.0, DON'T open pcie 3.0.

    Try to close wifi then test?

    Thanks

     


  • 1 / 2
  • 2
Please login to reply this topic!
BACK TO TOP