geerlingguy / raspberry-pi-pcie-devices

Raspberry Pi PCI Express device compatibility database
http://pipci.jeffgeerling.com
GNU General Public License v3.0
1.62k stars 145 forks source link

GeeekPi P33 M.2 NVME M-Key PoE+ Hat #664

Open Blaradox opened 3 months ago

Blaradox commented 3 months ago

GeeekPi has made a HAT for the Pi 5 that supports PoE+ and NVME SSDs through PCIe.

image

The product page says it also fits the Official Pi 5 Active Cooler.

Amazon US link

geerlingguy commented 2 months ago

I have one of these and will be testing it soon! Thanks for posting the link.

geerlingguy commented 2 months ago

On site here: https://pipci.jeffgeerling.com/hats/geeekpi-p33-m2-nvme-poe-hat.html

Blaradox commented 2 months ago

Oh fantastic!

Very excited to see this compared to the Hacker Gadgets PoE + NVMe HAT. Would love to setup a cluster with these.

Just had the sd card on my pi 4 die on me while away from home, thank goodness wireguard runs in RAM!

geerlingguy commented 2 months ago

Benchmark with PCIe Gen 3 enabled on a MakerDisk 512GB 2242 M-Key M.2 SSD:

Benchmark Result
iozone 4K random read 60.87 MB/s
iozone 4K random write 270.44 MB/s
iozone 1M random read 813.15 MB/s
iozone 1M random write 758.80 MB/s
iozone 1M sequential read 815.62 MB/s
iozone 1M sequential write 756.78 MB/s
geerlingguy commented 2 months ago

A few notes from use:

dirtydevver commented 2 months ago

if a network lead is not plugged in is it still possible to power it using USB, i noticed that the instructions say never to use usb power, but would have assumed that only means if there is a network lead plugged in AND it has POE being delivered? i want to use the device but to try and avoid bugs, such as the one mentioned above around powering off and it comes back on

eclevers commented 1 month ago

Does any one know if it fits in a specific case ?

tcdude commented 1 month ago

I'm wondering the same as @dirtydevver.. would it suffice to leave out the 4 Pin connector to still use the USB power supply? or even leave out both through pins to err on the safe side? does the NVME get enough power through the ribbon cable? Just got mine and I don't want to summon the magic white smoke (and also am too lazy to move it to a PoE capable switch just now...)

tehcyx commented 1 month ago

I just ordered the HAT with this case: https://www.amazon.com/dp/B0CMZG2R73 and it fits @eclevers

Now it's sitting on my desk waiting to get an SD card with an OS, so I can move that to SSD and boot without SD.

Velkas commented 1 week ago

I picked up this hat for a new Pi 5 8gb I got to introduce into my home lab. So far, I'm having trouble getting the actual disk to work. I have the Pi 5 powered by a PoE+ switch and the Hat's power light does turn on. I followed the instruction booklet and the post about booting from NVMe on Jeff's website, which ultimately was the same steps overall. I just can't get the NVMe storage to show up at all so I can't progress towards copying over the SD card to then boot from directly off the drive.

Is this the place to ask for some help? Hard to find many other resources.

Steps taken:

Other things validated:

geerlingguy commented 1 week ago

@Velkas - This isn't an official support forum, but regarding your drive (SN850x), I wonder if it draws too much power... some do. I haven't tested any WD_Black NVMe SSDs except for I think one of the 700 series, and that one worked. But some drive controllers don't seem to play nice with Pis, or they require too much power for some boards that don't expect a drive to pull more than X watts (usually more than 5W).

Velkas commented 1 week ago

Thanks @geerlingguy! That must have been it. I grabbed a spare Samsung 980 Pro and it recognized it just fine, speed seems expected and so far so stable. Appreciate the insight!

Ran your quick nvme fio benchmark, with write enabled:

Run status group 0 (all jobs):
   READ: bw=737MiB/s (773MB/s), 737MiB/s-737MiB/s (773MB/s-773MB/s), io=21.6GiB (23.2GB), run=30008-30008msec
  WRITE: bw=735MiB/s (771MB/s), 735MiB/s-735MiB/s (771MB/s-771MB/s), io=21.5GiB (23.1GB), run=30008-30008msec