Difference between revisions of "M901"

From Geekworm Wiki
Jump to navigation Jump to search
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{GD Template Impl}}
 
{{GD Template Impl}}
 +
[[File: M901-IMG-7598-Interface.jpg | right | thumb | M901]]
 +
[[File: M901-IMG-7607.jpg | right | thumb | M901 - FFC Cable Connection]]
 +
[[File: M901-IMG-7614.jpg | right | thumb | M901 & M2 NVMe 2242 SSD]]
 +
[[File: M901-IMG-7606.jpg | right | thumb | M901 & M2 NVMe 2280 SSD & Official Active Cooler]]
 +
 
==Overview==
 
==Overview==
 +
The M901 shield is a 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!
  
 
{{PCIe to NVME Sets}}
 
{{PCIe to NVME Sets}}
Line 8: Line 16:
  
 
==Features==
 
==Features==
 +
* Minimalist design, easy to install
 +
* Compatible with other HAT shield;
 +
* Supports installation of official active coolers;
 +
* SSD ACT LED Indicators-On: Power OK/Standby, Flashing: Reading/Writing
 +
* Supports 2230/2242/2260/2280 NVME M2 SSD
 +
* Can power the M901 shield directly from the FFC PCIe ribbon (providing maximum 5W of continuous power)
 +
 +
 +
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 M901 hardware has no limit on NVME SSD capacity, which is dependent on the Raspberry Pi OS.
 +
 +
==Test Reviews==
 +
By default the PCIe connector is not enabled. To enable it you should add the following option into <span class="tb_blue">/boot/firmware/config.txt</span> and <span class="tb_blue">reboot</span>:
 +
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:[https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html#enabling-pcie 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;'''
  
 +
[[File:Nvme-test(pcie2).png]]
 +
 +
'''Forced Gen 3.0 speeds test data with '''dd''' command:'''
 +
 +
[[File:Nvme-test(pcie3).png]]
  
  
 
==Packing List==
 
==Packing List==
 +
* 1 x M901 PCIe to M2 NVMe PIP PCIe Peripheral Board
 +
* 1 x PCIe FFC Cable (50mm Length)
 +
* 6 x M2.5*5 Screws
 +
* 3 x M2.5*17 Female/Female Spacers
 +
* 1 x M2.5 Copper Nut & Screw to fix SSD 2230 / 2242 / 2260 Length
 +
 +
[[File:M901-IMG-6870-Packing.jpg | 600px]]
  
 
==User Manual==
 
==User Manual==
 +
* M901 software tutorials: [[NVMe SSD boot with the Raspberry Pi 5]]
 +
* [https://datasheets.raspberrypi.com/pcie/pcie-connector-standard.pdf Raspberry pi 5 pcie connector pin out]
 +
 +
[[File: M901-IMG-7609.jpg | 800px]]
 +
==FAQ==
 +
{{X100x-FAQ}}
  
 
<!--Add review function! -->
 
<!--Add review function! -->

Latest revision as of 20:02, 17 April 2024

M901
M901 - FFC Cable Connection
M901 & M2 NVMe 2242 SSD
M901 & M2 NVMe 2280 SSD & Official Active Cooler

Overview

The M901 shield is a 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 Other
X1000 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579
X1001 Raspberry Pi 5 Top 2230/2242/2260/2280 NVMe M2 SSD P579
X1002 Raspberry Pi 5 Bottom 2230/2242/2260/2280 NVMe M2 SSD P580
X1003 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579 / P425 / Raspberry Pi 5 Official case
X1004 Raspberry Pi 5 Top Dual 2280 NVMe M2 SSD P579-V2
M300 Raspberry Pi 5 Top 2230/2242 NVMe M2 SSD P579
M400 Raspberry Pi 5 Top 2230/2242/2280 NVMe M2 SSD P579
Q100 Raspberry Pi 5 Top 2242 NVMe M2 SSD P579 With 1.3" 240x240 Color TFT

Important Note

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.

We hope the Raspberry Pi Foundation will resolve this issue soon.

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

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;
  • Supports installation of official active coolers;
  • SSD ACT LED Indicators-On: Power OK/Standby, Flashing: Reading/Writing
  • Supports 2230/2242/2260/2280 NVME M2 SSD
  • Can power the M901 shield directly from the FFC PCIe ribbon (providing maximum 5W of continuous power)


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 M901 hardware has no limit on NVME SSD capacity, which is dependent on the Raspberry Pi OS.

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 M901 PCIe to M2 NVMe PIP PCIe Peripheral Board
  • 1 x PCIe FFC Cable (50mm Length)
  • 6 x M2.5*5 Screws
  • 3 x M2.5*17 Female/Female Spacers
  • 1 x M2.5 Copper Nut & Screw to fix SSD 2230 / 2242 / 2260 Length

M901-IMG-6870-Packing.jpg

User Manual

M901-IMG-7609.jpg

FAQ

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 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.
  8. Read this post to get some help;
  9. 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.
  10. If you're flashing a fresh Pi OS into NVME SSD , DON'T forget to ENABLE PCIe to NVME SSD.
  11. Run the lspci andlsblk command to check the NVMe SSD is recognized.
  12. Start thinking about SSD compatibility issues and try to switch to other brands of NVME SSDs.
  13. 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.

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.

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 #2

10 days ago
Score 0++
Hi, I bought an X1001 a few months ago, which has worked great with a WD SN770. I just bought an M901, thinking it should be about equivalent to the X1001, but my second SN770 isn't recognized.

Anonymous user #1

one month ago
Score 0++
have a good day