Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GeeekPi N16 Quad M-Key Raspberry Pi 5 M.2 NVMe HAT #673

Open
geerlingguy opened this issue Sep 13, 2024 · 14 comments
Open

Add GeeekPi N16 Quad M-Key Raspberry Pi 5 M.2 NVMe HAT #673

geerlingguy opened this issue Sep 13, 2024 · 14 comments

Comments

@geerlingguy
Copy link
Owner

GeeekPi released an updated N16 Quad M.2 M-Key NVMe SSD HAT for Raspberry Pi 5.

71z11zFI4fL AC_SL1500

This is similar to the Geekworm X1011, but uses it's own USB-C PD circuit to provide enough power for all the M.2 drives and the Pi, without use of POGO pins. Might be a little more stable for some people if they use higher powered M.2 drives, but there are still some caveats with drive compatibility and overall speed being limited by the ASMedia PCIe Gen 2 switch.

The overall RAID0 speed (maximum you can get with multiple drives on here) is limited to 400-500 MB/sec, versus the 800+ MB/sec you can get with a Gen 3 switch.

@crankyoldbugger
Copy link

This is very interesting, but I have to ask, what power supply would you use here? They say it can take an input of "9V-20V PD" in what looks like a USB-C port, and they provide a USB cable to run from the M16 to the Pi5, but they don't seem to provide any sort of power supply for the N16 that I can see.

@brucetony
Copy link

Just set mine up and it runs off the official raspberry pi 5 power adapter just fine. GeeekPi includes a USB-C jumper to run between the Pi5 and the HAT, and then the HAT has a separate USB-C for power input. I ended up damaging one of the 2 included PCIe ribbon cables, but other than that, the HAT functions wonderfully and was able to setup a RAIDZ1 pool on the 4 drives I used

@crankyoldbugger
Copy link

Thanks, brucetony, that answers that question.
If you don't mind another question, are you able to get the OS to boot from the NVMe/HAT setup, or do you still need an SD card?

@brucetony
Copy link

Thanks, brucetony, that answers that question.
If you don't mind another question, are you able to get the OS to boot from the NVMe/HAT setup, or do you still need an SD card?

I don't see why not. I use a sata SSD as my boot drive (via USB 3), but one of the NVME drives should be able to be used instead

@crankyoldbugger
Copy link

Thanks, again, brucetony. I'm going to grab one of these things and start experimenting.

@int15a
Copy link

int15a commented Nov 21, 2024

I had intermittent problems with my SSD drives (Silicon Power) just stopping working when using the PCIe Gen 3 config, but going back to Gen2 seemed to have fixed the problem.

@masseyy
Copy link

masseyy commented Jan 30, 2025

@int15a How many drives are you using. Do you have all 4 in? I am having issues with 4 nvmes at once. It all gets recognised but as soon as I get IO activity happening on all drives i get controller down will reset messages. Doesn’t matter if Gen 3 is on or off

@int15a
Copy link

int15a commented Jan 30, 2025

@masseyy I have all four in there. I had to reboot the unit from time to time (lost connection to the SSDs) and had to do a hard reset once.

It generally works fine though. I never bothered looking at the logd to see what was happening yet.

@masseyy
Copy link

masseyy commented Jan 30, 2025

@int15a Thanks. Would you mind sharing your config and cmdline.txt?And anymore of your setup.

Are you also using it in Raid?

I wanted this ultimately to have one redundancy disk.

@int15a
Copy link

int15a commented Jan 30, 2025

@masseyy

cmdline.txt: console=serial0,115200 console=tty1 root=PARTUUID=e17e5358-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=CA

What config are you looking for?

@masseyy
Copy link

masseyy commented Jan 30, 2025

@int15a /boot/firmware/config.txt

@int15a
Copy link

int15a commented Jan 30, 2025

@masseyy Right, stupid question!

For more options and information see

http://rptl.io/configtxt

Some settings may impact device functionality. See link above for details

Uncomment some or all of these to enable the optional hardware interfaces

#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

Enable audio (loads snd_bcm2835)

dtparam=audio=on

Additional overlays and parameters are documented

/boot/firmware/overlays/README

Automatically load overlays for detected cameras

camera_auto_detect=1

Automatically load overlays for detected DSI displays

display_auto_detect=1

Automatically load initramfs files, if found

auto_initramfs=1

Enable DRM VC4 V3D driver

dtoverlay=vc4-kms-v3d
max_framebuffers=2

Don't have the firmware create an initial video= setting in cmdline.txt.

Use the kernel's default instead.

disable_fw_kms_setup=1

Run in 64-bit mode

arm_64bit=1

Disable compensation for displays with overscan

disable_overscan=1

Run as fast as firmware / board allows

arm_boost=1

[cm4]

Enable host mode on the 2711 built-in XHCI USB controller.

This line should be removed if the legacy DWC2 controller is required

(e.g. for USB device mode) or if USB support is not required.

otg_mode=1

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
dtparam=pciex1
dtparam=pciex1_gen=2

dtparam=pciex2
dtparam=pciex2_gen=2

dtparam=pciex3
dtparam=pciex3_gen=2

dtparam=pciex4
dtparam=pciex4_gen=2

@masseyy
Copy link

masseyy commented Jan 31, 2025

Thanks @int15a Raid 5 been working fine? Or how do you use the storage?

@int15a
Copy link

int15a commented Jan 31, 2025

@masseyy All SSds are independent, I didn't add any redundancy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants