X1001

From Geekworm Wiki
Jump to navigation Jump to search

X1001 V1.1 NVME M2 SSD Shield for Raspberry Pi 5
X1001 V1.1 NVME M2 SSD Shield for Raspberry Pi 5
X1001 Supported SSD
X1001 V1.1, supports installation of official active coolers
X1001 FFC Connection
User SD Copier to clone image

Overview

The X1001 V1.1 shield is an NVME M2 SSD PIP (PCIe Peripheral Board) for the Raspberry Pi 5 that uses the new PCIE interface of the Raspberry Pi 5 to utilise the NVME M2 SSDs for fast data transfers and ultra-fast booting.

This shield follows the new "PIP" design guideline from Raspberry Pi fundation ensuring that it will be easy to use and be supported long term by updates to Raspberry Pi OS - though it is very early days and things are improving rapidly there!

Geekworm PCIe to NVME Sets:

Model Compatible with Position NVMe M2 SSD Support Matching Case Support NVMe Boot Other
X1000 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579 Yes
X1001 Raspberry Pi 5 Top 2230/2242/2260/2280 NVMe M2 SSD P579 Yes
X1002 Raspberry Pi 5 Bottom 2230/2242/2260/2280 NVMe M2 SSD P580 Yes
X1003 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579 / P425 / Raspberry Pi 5 Official case Yes only can be used with Raspberry Pi 5 Official Active Cooler or H501
X1004 Raspberry Pi 5 Top Dual 2280 NVMe M2 SSD P579-V2 supports NVMe boot with eeprom 2024/05/17 and later version
X1011 Raspberry Pi 5 Bottom 4PCS 2230/2242/2260/2280 NVMe M2 SSD X1011-C1 supports NVMe boot with eeprom 2024/05/17 and later version
M901 Raspberry Pi 5 Top 2230/2242/2260/2280 NVMe M2 SSD P579 Yes
Q100 Raspberry Pi 5 Top 2242 NVMe M2 SSD P579 Yes With 1.3" 240x240 Color TFT
Q200 Raspberry Pi 5 Top Dual 2280 NVMe M2 SSD P579 NO
M300 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579 Yes
M400 Raspberry Pi 5 Top 2230/2242/2280 NVMe M2 SSD P579 Yes

Important Notes

NVMe SSD Incompatibility List

We recommend avoiding the following NVMe SSD drives which is equipped with a Phison controller due to their proven incompatibility:

These specific models have demonstrated compatibility issues, and it is advisable to avoid them when considering NVMe SSD options for the X10xx series NVMe shield. You can run "lspci" command to check the controller brand of the SSD.

Also note:

  • Compatible with M.2 NVMe SSDs only, Not compatible with M.2 SATA SSDs, M.2 PCIe AHCI SSDs, or other M.2 non-NVMe devices
  • Older NVMe drives with less efficient flash media may not perform as well as newer drives
  • New NVMe SSDs are not partitioned and will need to be both partitioned and formatted when first connected to the Raspberry Pi before they will be accessed in the Explorer.
  • We get feedback from customers that Polaris Controller will also have compatibility problems. Please replace the other SSD test if it not work, whether it is compatible with the Raspberry Pi 5 does not depend on the X100X series boards
  • NVMEs using the MAP1202 controller may not support PCIe Gen 2, and must be forced to enable PCIe Gen 3 in order to be recognised. This is due to the fact that the controller is not backward compatible with PCIe Gen 2, and NVMEs using this controller will have compatibility issues, and are not recommended for use. Can refer to https://zhuanlan.zhihu.com/p/644984347


PS: There is also feedback from buyers that even NVME SSDs with Phison controller are supported after updating the latest firmware. Please refer to go to: X1001#comment-4638

Features

  • Minimalist design, easy to install
  • Compatible with other HAT shield;
  • FFC is only 30mm length.
  • Supports installation of official active coolers;
  • PCIE LED Indicators: PCie - The LED will be on if the SSD is recognised;
According the Raspberry Pi Foundation's specification for PCIE, we have redesigned and retained only the ACT LED indicator in the next production batch (starting December 20, 2023).On: Power OK/Standby,Flashing: Reading/Writing
  • Supports 2230/2242/2260/2280 NVME M2 SSD.
  • Can power the X1001 shield directly from the FFC PCIe ribbon (providing maximum 5W of continuous power)
  • Integrated with XH2.54 5V power connector, just use it if you are using a ultra large capacity SSD if the current is not enough;

PS:

  • Maximum current for pcie connector is 1A, and voltage is 5V
  • If you find that the SSD is not working properly, it is possible that the power supply of SSD is not enough, then you need to check the current requirement of your SSD to decide whether power the SSD separately.
  • The X1001 hardware has no limit on NVME SSD capacity, which is dependent on the Raspberry Pi OS.

How to Power

Can power the X1001 shield directly from the FFC PCIe ribbon (providing maximum 5W of continuous power)

Nvme-SSD-Current-Note.jpg

Test Reviews

By default the PCIe connector is not enabled. To enable it you should add the following option into /boot/firmware/config.txt and reboot:

sudo nano /boot/config.txt

Then add the following comment;

# Enable the PCIe External connector.
dtparam=pciex1
# This line is an alias for above (you can use either/or to enable the port).
dtparam=nvme

Press Ctrl-O, then enter, to write the change to the file.

Press Ctrl-X to exit nano (the editor).


And the connection is certified for Gen 2.0 speed (5 GT/sec), but you can force it to Gen 3.0 (10 GT/sec) if you add the following line after:

dtparam=pciex1_gen=3

You also can refer to official documentatio:Enabling PCIe


After I forced Gen 3.0 speeds, in my many tests I found that some NVMEs were able to run stably, but some NVMEs caused some problems: such as slow startup and running laggy, really really laggy. As the official statement says:

The Raspberry Pi 5 is not certified for Gen 3.0 speeds, and connections to PCIe devices at these speeds may be unstable.


Run the following command on Teminal window to test:

dd if=/dev/zero of=./Testingfile bs=100M count=10 oflag=direct
dd if=./Testingfile of=/dev/zero bs=100M count=10 oflag=dsync

Nomral PCIE 2.0 test data with dd command;

Nvme-test(pcie2).png

Forced Gen 3.0 speeds test data with dd command:

Nvme-test(pcie3).png

Packing List

  • 1 x X1001 V1.1 NVMe SSD Shield
  • 1 x PCIe FFC Cable(30mm length)
  • 3 x M2.5x17mm F/F Spacers
  • 6 x M2.5x5mm Screws
  • 1 x M2x4mm Screws (to fix M2 SSD)
  • 1 x Copper pillar (Used to fix 2242/2230 SSDs, not to be added until April 2024)

X1001-IMG-7881-2.JPG

X1001-Packing-List-copper.jpg


NOTE:

The M2*4 screw is to fix M2 SSD;

User Manual

Video Guide

Installation Video of X1001: https://youtu.be/X1GxqLKpPfg

X1001/X1001/X1002 Test Video by leepsvideo https://youtu.be/XMA8e4r1AUQ

Which NVMe drives work with a Raspberry Pi 5? https://youtu.be/3mUgVTBmKio

Thanks for the test video by Computadoras y Sensores! https://youtu.be/DgIAfzBMTA0

Thanks for the video by Code Fallacy! https://youtu.be/IUxP31rNRY4

Thanks for the test video by Andy Yong! https://youtu.be/nq90S1vxfUU

FAQ

Overview

In fact, some PIPs such as X1001 / X1002 / X1003 / X1000 etc are just an extension of the Raspberry Pi 5 PCIe, and their own hardware functions are limited. If the OS configuration and PCle FFC cable faults can be ruled out, the normal operation of PCie (recognizing and booting) depends more on the firmware and SSD compatibility. Since October 2023, the Raspberry Pi Foundation has been updating the bootloader version to solve similar problems. You can learn more from the link below.

Raspberry Pi5 bootloader EEPROM release notes

But in fact, after several major version updates, the bootloader has basically solved the firmware issue, so the remaining is the OS configuration and SSD compatibility issues.

If you are using a very old SSD, if you are experiencing issues with it being recognised and not being able to boot, the first thing you should consider is replacing the NVME SSD.

Q1: Can't boot/recognize from NVMe SSD?

click it to zoom out

A: Here are a few steps to help you troubleshoot some issues:

  1. Only Raspberry Pi OS (Bookworm) supports PCIe, Raspberry Pi OS bullseye is NOT supported, refer to https://www.raspberrypi.com/software/operating-systems/
  2. Make sure that your OS configuration (/boot/firmware/config.txt) is completely correct: refer to the tutorial:NVMe SSD boot with the Raspberry Pi 5 (will Continuously updating)
  3. Update the bootloader firmware to the last verson, refer to How to update eeprom firmware, this is very important!!! Make sure your upgrade is successful by running command vcgencmd bootloader_version
  4. Add PCIE_PROBE=1 to the eeprom, (Run sudo rpi-eeprom-config --edit command, then add this line, then press CTRL+O to write change to file, press CTRL+X to exit, then reboot)
  5. Make sure the SSD type you use is correct, only support M.2 NVME (Sata) Key-M SSD NOT support M.2 NGFF Key-B SSD. Refer to the right diagram:
  6. Make sure the FPC cable is firmly and fully inserted into the PI 5, this is very important. For X1003 shield, make sure the FPC cable direction is correct also.
  7. For some small brand SSD, consider forcing open PCIe Gen3 to test (add dtparam=pciex1_gen=3 line in config.txt then reboot), because some small brand SSDs are NOT backward compatible with PCIe Gen 2 for cost reasons.
  8. For X1003 shield, make sure the FPC cable direction is correct also. If an error still occurs, replace the FFC cable to test or purchase other PFC from here[1]to troubleshoot the issue.
  9. Read this post to get some help;
  10. Although you can also boot from a SD card, Pi OS is required for the NVMe SSD to boot, DON'T forget Flash OS into NVMe SSD.
  11. If you're flashing a fresh Pi OS into NVME SSD , DON'T forget to ENABLE PCIe to NVME SSD.
  12. Run the lspci andlsblk command to check the NVMe SSD is recognized. (NOTE: Make sure your NVMe SSD is plugged into the PCIe PIP, not just connecting PCIe PIP to the Pi5, otherwise the lspci will not be able to display any PCIe device.)
  13. Start thinking about SSD compatibility issues and try to switch to other brands of NVME SSDs. Some customers have reported that they have successfully solved their problems by replacing their SSDs.
  14. Contact us at email: support@geekworm.com, and attached your product model, OS version (run uname -a to get), bootloader version (run vcgencmd bootloader_version to get) and order number
  • How to get FPC Wires:
  • PS: The shortest length of the FPC cable here is 30mm, but the length of the FPC cable used by X1003 is only 22mm. For X1003, this may not be perfect, but you can use these FPC cables to troubleshoot the issue. DON'T buy it if you mind.
  • If the issue is confirmed to be a FFC cable, we will reimburse you the cost of purchasing the FFC cable.

Q2: Don't recognize / boot from NVME SSD?

A: If you have enabled pcie and find that you still cannot boot from NVME SSD, please perform the following actions

1. Follow the picture below to check the version of X1001 or X1000

X1001-V1.1-IMG-6871-old-new.jpg

2. If it is an Old Version, refer to How to update eeprom firmware to update the firmware with pieeprom-2023-10-30.bin file.

3. If it is an New Version, refer to How to update eeprom firmware to update the firmware to lasted version.

4. If you still have not solved the problem, please refer to the next FAQ:Q1

Q3: How to fix the 2230/2242/2260 SSD on X1001 or other PIP?

A: The X1001 and other pips does not reserve the nut column to fix the 2230/2242/2260 SSD. Based on our test, you can secure the 2230/2242/2260 SSD using an M2*6mm screw and 2pcs M2 nuts. Place one M2 nut under the SSD, then use the M2*6mm screw and the other M2 nut to fasten the SSD.

PS: As of April 2024, we have added customized copper pillar in only X1001 packing list to solve this issue, please refer to the packing list of X1001.

Q4. X1002 can't boot when install into the P580 case?

A: Please check if the FPC cable touch the metal case make shorting when install X1002 into the metal case, you can stick the electrical tape on the case to prevent the ribbon FPC cable from contacting the case to test.

Q5: Which NVMe drives work with a Raspberry Pi 5?

A: You can refer to the video: https://youtu.be/3mUgVTBmKio.

Q6: Can they support gen3 pcie speeds or only gen2?

A: All PIPs (such X1001, X1002, X1003 etc) are just an extension of the Raspberry Pi 5 pcie interface. Whether it supports pcie 2.0 or pcie 3.0 is determined by the Raspberry Pi 5 and has nothing to do with pip

Add your comment
Geekworm Wiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.


Anonymous user #21

10 days ago
Score 0++

Hello,

I am experiencing an issue with my Raspberry Pi 5 setup. My configuration includes a 25W adapter, Geekworm PCIe HAT X1001, and a Crucial SSD 4.0 NVMe P3 Plus 500GB. Notably, I am not using an SD card in this setup.

I successfully installed Ubuntu Server 24.04 LTS on the SSD using the Raspberry Pi Imager. The system operates efficiently and quickly when the SSD is connected via a USB adapter.

However, when I attempt to mount the SSD directly onto the Geekworm PCIe HAT X1001, it fails to boot, and I encounter a "NVME not found" error. I have made the recommended modifications in /boot/firmware/config.txt, but the issue persists.

Any insights or troubleshooting tips to resolve this issue would be greatly appreciated.

Thank you in advance!

Anonymous user #19

one month ago
Score 0++

My raspberry PI 5 server has - raspberry PI 5 4 GB - 25W power supply ( 5V 5A ) - Geekworm X1001 PICe HAT - SD Card 64GB - OS: Bookworm 64Bit

My PI5 system halts within 3-4 hours from system boot. I tried to mount the SSD (1GB, Samsung Electronics) and booted from SSD successfully without SDCard. But with or without SSD, the system halts after 3~4 hours. When I disconnected X1001 HAT and the PI board( plug off the PICe ribbon cable from X1001 HAT), the system does not freeze for several days. Any idea?

Lisa

one month ago
Score 0++
Hi,Please check if the firmware is the latest version. Update the bootloader firmware to the latest version, refer to How to update eeprom firmware. Make sure your upgrade is successful by running command vcgencmd bootloader version

Anonymous user #18

one month ago
Score 0++
The XH2.54 5V power connector connects to the GPIO on the Raspberry Pi 5?

Lisa

one month ago
Score 0++
Yes, you can use a 2pin cable to power X1001(SSD) via Pi 5 GPIO

Anonymous user #17

one month ago
Score 0++
Integrated with XH2.54 5V power connector. It is, but what is not supplied or offered is a short cable to connect to the Pi5 board. And yes, my Pi5 is working great with the X1001 and a 1TB 2280 SDD. The dtparam=pciex1_gen=3 has been set and the microSD has been removed. So I don't really need the extra power connector, but it should have been included anyways just to be on the safe side.

Lisa

one month ago
Score 0++
Hello,There is no 2pin cable in the packaging list because the XH2.54 5V IN port for powering the SSD when the power supply is insufficient.Generally, the SSD power supply demand can be met by the FFC cable.hope to get your understanding.

Anonymous user #16

one month ago
Score 0++
Is there a way to disable the LED light, its so annoying.

Lisa

one month ago
Score 0++
Hello,It doesn't support disable the LED light, you can cover it with something

Anonymous user #15

one month ago
Score 0++

I've installed the X1001 with a 128GB Silicon Power P24A60 (Model A60), and it has booted and ran fine for at least an hour or so, then everything just stops responding and basic commands like sudo and ls are no longer found. It behaves as though the drive has being disconnected, but the blue light is still on when this happens.

I have re-seated the FCC cable on both ends a few times. It seems to be seated fully and securely. Also, the drive is typically recognized (at least momentarily) after rebooting. Could this be a power problem? If so, how can I remedy that? If not, should I try a new cable, maybe?

Anonymous user #15

one month ago
Score 0++

I posted as anon user #15 earlier. I think I got the problem resolved by routing the cable a little differently. I noticed I did not have the problem if the device was outside of the case (Geekworm P579-V2-K). I tried adding some electrical tape to the inside of the case (per Q4), but that didn't make a difference.

However, I noticed that, when the pi was installed in the case, the FCC cable was being pressed against the inside of case, which caused it to bend some and appeared to cause some upward pressure on the connection to the X1001 hat. So, I removed it from the case again and poked the cable in toward the heat sink of the active cooler. This caused the FCC cable to assume an S shape, which appears to have relieved the upward pressure on the connection to the hat. It's been back up for about 46 mins now with no further problems. Even with gen3 enabled, it seems okay now.

I'll add another update if fails again, but I think this might be the trick.

Anonymous user #14

2 months ago
Score 0++
I purchased the Pimoroni NVMe Base and a Sabrent Rocket 4 Plus NVMe which Pimoroni have benchmarked. It worked fine even with PCIe 3. The Rocket 4 has a Phison controller. I wanted a suitable case so bought the X1001 and one of the Geekworm cases. The Rocket 4 works fine on the X1001. My Pi5 has firmware 2024-02-16T15:28:41 Maybe newer Pi firmware has fixed the Phison controller issues. It would help if this WiKi said what issues have been experienced with the Phison controller.

Harry

2 months ago
Score 0++
Thank you very much.

Anonymous user #20

21 days ago
Score 0++

I can confirm updating the firmware seems to work on the pi5. Have a WD black SN770. Worked with USB, didn't work with the NVMe hat. Originally would boot very slow, and couldn't reliably launch a terminal, or a web browser at all. System would freeze or go to gray screen/black screen.

Booted with the drive in a USB enclosure and went to raspi-config and loaded new bootloader/firmware through the advanced options, reinstalled the drive into the hat and now boots fine, fast, and can launch and run programs without issue.

Anonymous user #20

21 days ago
Score 0++
Sorry scratch that, still seems to fail with heavy disk usage

Anonymous user #13

2 months ago
Score 0++
Im installing a x1001 with a samsung ssd 980. Can you point me to instructions for partitioning & formatting on the x1001? Or should I mount it on USB and try to partition/format there?

Lisa

2 months ago
Score 0++
Hello,Partition and format the new ssd, you can find more information on Google.

Anonymous user #12

2 months ago
Score 0++

i have installed a x1001 and Transcend 128 Go PCIe™ Gen3 x4 TS128GMTE110S

when i run bench i have good stats like 300 (and 800 in gen3)

but everything else is slower and wifi is super slow

any way to fix that ?

Lisa

2 months ago
Score 0++
Please try to remove [dtparam=pciex1_gen=3]

Anonymous user #11

3 months ago
Score 0++
I tried the Geekworm x1001 with a Fanxiang S660 500gb Nvme. While I was able to get it to boot a few times with Raspberry Pi OS and also Recalbox, I have not been able to get it to boot successfully since with anything I've tried. I currently would not recommend this combination.

Anonymous user #10

3 months ago
Score 0++
and of course I get an SSD that is specifically on the incapable list. Whoops.

Anonymous user #9

3 months ago
Score 0++
I am one very happy customer with the X1001. Like the way it provides just enough clearance for the CPU fan. I would recomend fitting a heatsink to the SSD. Amazon "ELUTENG M.2 SSD NVME Heatsink 2280" is recomended, it fully encases the SSD keeping it nice and cool. Fits on the X1001 perfectly

Anonymous user #9

3 months ago
Score 0++

I have the same hardware X1001 and a Crucial P3, which works perfectlty.

Most likely reason for problem, you must format the SSD (EXT4) before installing on the X1001 in the PI.

Anonymous user #8

3 months ago
Score 0++
I got the X1001 and a Crucial P3 nvme but Raspberry Pi does not see it. Is the Crucial SDD compatible and how do I troubleshoot?

Lisa

3 months ago
Score 0++

Anonymous user #7

3 months ago
Score 0++

I ordered a X1001 board and as soon as I connect an SSD to it, it makes a high pitched noise similar to coil whine. Is there something I can do about it?

Otherwise it works fine.

Anonymous user #6

4 months ago
Score 0++
It works, but performance is awful. I have double the speed on my RPi4 in Argon40 NVME case and that is only using USB bridge and not PCIe. I'm deeply disappointed by the X1001...

Lisa

3 months ago
Score 0++
Hi,It is difficult to determine the reason for the very slow speeds. It may be an issue with the FFC cable or a compatibility issue. Thanks for your feedback.We will continue to monitor this issue to find the best solution.

Anonymous user #5

4 months ago
Score 0++
I'm able to crimp my own JST-to-DuPont cables. Could I just power the X1001 via the GPIO pins with such a cable?

Lisa

3 months ago
Score 0++
Hi,Normally there is no need to power X1001 separately. SSD power supply needs can be met through FFC cables. If you want to power X1001 separately, you can use a 2pin wire to power it through 5V IN of X1001.

Anonymous user #4

4 months ago
Score 0++
First attempt failed. Had to use the Raspberry Pi eeprom fix and retry. Solution: Make eeprom changes after copying the OS to the SSD. First try would not boot from SD if no OS existed on SSD.

Walker

4 months ago
Score 0++
Thanks for sharing!

Anonymous user #1

4 months ago
Score 0++
I reinserted the zif cable and now the WD_Black SN770 shows up on my desktop. However, I don't believe the test is using that drive, it is still terribly slow, like 60 MB/sec. So I think it is using the microSD.

Anonymous user #6

4 months ago
Score 0++
Same here, I get about 60MB/sec. Not what I would expect from PCIe. In my old case with USB bridge I get more than 110 MB/sec with the same drive.

Anonymous user #1

4 months ago
Score 0++
I thought maybe I had just the wrong SSD, but I spent some more money and bought a WD_Black SN770 and though the test in both PCIE 2 and 3 modes give an answer, they are terribly slow and I suspect it is running the test on the microSD card and not the SSD. I don't think this is working at all.

Nahumb

4 months ago
Score 0++

Hello,

Can you please provide any 3D model file of the X1001?

Thank you,

Nahum Budin.

Anonymous user #3

4 months ago
Score 0++

This doesn't look right.

morey@rpi5:~ $ dd if=/dev/zero of=./Testingfile bs=100M count=10 oflag=direct dd if=./Testingfile of=/dev/zero bs=100M count=10 oflag=dsync 10+0 records in 10+0 records out 1048576000 bytes (1.0 GB, 1000 MiB) copied, 2.72273 s, 385 MB/s 10+0 records in 10+0 records out 1048576000 bytes (1.0 GB, 1000 MiB) copied, 2.61485 s, 401 MB/s

Any ideas on what is wrong?

Walker

4 months ago
Score 0++
Hello, you can contact our technical support at support@geekworm.com , By the way, provide your order number

Anonymous user #1

4 months ago
Score 0++
It says that New NVMe SSDs are not partitioned and will need to be both partitioned and formatted when first connected to the Raspberry Pi before they will be accessed in the Explorer. But does not give instructions or links as to how to do that. I have installed a 1TB drive and gotten it to give me the speeds using the test, but it doesn't show up as a drive to choose. The drive is a crucial PD PCIe 3.0 NVMe M.2 SSD

Anonymous user #2

4 months ago
Score 0++
Same here. Get results for the speed test, but unable to mount SSD. WD_Black SN770 (Sandisk controller)

Anonymous user #2

4 months ago
Score 0++
Since the Pi passed the Gen 3 test, I went back and enabled the gen 3 (dtparam=pciex1_gen=3) in the config.txt file. Rebooted and it now mounts the SSD. Hope this helps.

Walker

4 months ago
Score 0++
Thank you very much for your advice, we are sure it will help others!