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
Test Pineberry Pi's HatDrive! Top and Bottom NVMe HATs #559
Comments
Redirect added, and pages are up here: |
Do you know if any RPi5 case that can be used with the HatDrive! Bottom? |
I can't seem to find exact board outline dimensions for the bottom board. I was wondering if it would fit my enclosure...Is that published somewhere? I order a set btw and can verify that once they arrive. |
A few quite notes testing the Top Hat:
|
Another note: I could not get the Pi to boot off NVMe if I used It works best if you flash Pi OS directly to the NVMe SSD, using the Pi with a USB adapter, Pi Imager direct, or on another computer. |
A few questions about the board that I have now that I've put in a few hours...
|
What is the pitch of the FPC cable connecting the PCIe signal? It looks like 0.5mm? |
You should see the INA with i2cdetect:
|
The official active cooler can be used with the TOP Hat ? |
Yes, and it does not seem like it is having a huge impact. It did not throttle when building the kernel |
@geerlingguy as for your disk benchmark mentioned on X. The 777 MB/s do not represent the device's capabilities since a) So either testing methodology or SSD in question is to blame for these low numbers (most probably both) :) As for the 'testing methodology'... PiBenchmarks'
No idea how you measured your 'nearly 900 MB/sec' on the Pi 5... but if it was only with |
A few test results from Pineberry, of various SSDs: Edit: Also noticed they have a ton more up on PiBenchmarks.com: https://pibenchmarks.com/user/pineberrypi/ |
@ThomasKaiser - I only use PiBenchmarks.com script because it's a fun way of gamifying the testing—for my actual reporting/testing I use my own script: https://github.com/geerlingguy/pi-cluster/blob/master/benchmarks/disk-benchmark.sh It runs fio at 1024k block size 4 GB test, then iozone 1024k and 4k random read and write tests. It's quick but effective for most cases. I am looking at expanding the benchmarks a little now that so many devices are reaching into "GB/sec" range, and trying to go for more gigabytes could help squash any additional caching that's happening and throwing off the results. |
Yep, see the video I just posted! https://www.youtube.com/watch?v=EXWu4SUsaY8 |
Well, just 1024k is IMO nothing that represents today's sequential access patterns any more. Even network protocols like AFP or SMB dynamically tune their internal blocksizes to more than this in a LAN environment for over a decade now. See my SSD example above: with 1M it's 430/440 MB/s write/read while it needs 16M to get closer to the real sequential transfer rates: 490/520 MB/s And a write test 4GB in size will result with el cheapo SSDs in an amount of data written to fast cache and once the cache capacity is exceeded a drastic drop in write performance can be observed which – with a 4GB test size – will result in a MB/s number neither representing the 'cache write performance' nor the 'sustained write performance once cache is full' but a crude mixture. Firing up |
I want to try my FPGA load tester and see what the upper limit is. I can get about 25 Watts on the compute blade with the CM4. It was important to cool the CM4 to supply stable power otherwise the CM4 got to 80C very fast. |
Does the pineberry hat resolve wifi issue with the prototype raspberry pi m.2 nvme hat? |
Jeff used the old eeprom firmware with the OG prototype HAT. It had tons of issues |
Does the bottom nvme board fit within the raspi case, with the cooler on the top? |
Now you didn,t hear this from me, a birdie told me if you buy a spark fun qicc shim and bypass the voltage regulator you can i2c 5volts from pi to any accessories you want(pisugar, m.2[bottom] board, etc..) |
The short cable is not really meant for BOT mounting; people went crazy with the FPC bundle recently and it's out of stock. We should have them shortly, together with complete accessory kits (standoffs, new m.2 mount etc) |
What's the standard length of "bottom" hat standoffs? (trying to fit this my small "monster" into unmodified cases designed for pi5+bottom hat). Edit: Remixed one nice case. Works great with top hat (mounted at bottom) ! https://www.printables.com/model/777582-pi-hat-drive-top-variant-of-great-rpi5-enclosure |
We use M2.5 at 6mm, you can use the step files on our GitHub as reference to see if it'll fit |
Dear friend @mikegapinski , I have been doing tests these weeks and I get perfect boot with flat cables without impedance control less than 4cm, but with my v1 flat cables supplied with the pineberri board (impedance control) I can never start unless I touch it with my finger (just like I mentioned before) but I am very happy with my pineberri botton board and gen 3 work. |
Pimoroni Base + RPi5. Bookworm has ASPM turned on. Netac NV2000 Maxio MAP1202 controller
Lexar NM790 Maxio MAP1602 controller.
Recommendation: If you have issues with your NVMe drive and it does not support ASPM, turn it off. |
Thanks for your anwer. I have added pcie_aspm=off to cmdline.txt but some times the error appear. Plugin off an plugin off the raspberry several times the pcie error corrected appesr in my raspberry pi 5. The "pcie_aspm=off" seems to have no effect for me. |
Hi dear friends, For those who are interested, I have discovered a way how we can completely eliminate the error "PCIe Bus Error: severity=Corrected" in the raspberry pi 5 log without having to add "pcie_aspm=off" in cmdline.txt. So far in 70 boots I have achieved 100% success with my hardware. I'm doing more shutdowns and restarts before publishing the temporary solution that works for me. I will contact here again soon if I get 100% success, I need to do more tests. Thank you. Best regards |
I'd suggest moving the discussing about that Lexar drive elsewhere since it is not strictly related to the board itself. I can share a small update from us about drive compatibility:
Some other news that could mean something for the future: the embedded version of the Raspberry Pi Imager that boots up if no bootable media is present now recognizes and flashes NVMe drives connected behind a PCIe switch. This could mean booting from them may start working at some point @geerlingguy. It seems like RPI has solved most of the problems with the bootloader now and it aligns perfectly with their release schedule for the official M.2 HAT :) |
@mikegapinski good news indeed! |
Sorry @mikegapinski , but it is not a problem with lexar unit or the nvme firmwares, it is a problem with the v1 flat cable. Many people with both Pineberry Pi and the competition have a PCIe Corrected error with other nvme brands. My nvme works correctly and without errors with another flat cable and without errors. |
I have a Kioxia KBG40ZNS256G NVMe drive that boots on 2/16/2024 bootloader with the Hatdrive Top (ordered 2/5/2024). I ordered a 3cm cable from Hangzhou WildChip Tech Co., Ltd. Store to try out which is linked in the thread. |
I’ve seen some reports about this drive being inconsistent on the NVMe Base in the past. Try Gen 2 or disabling aspm. Switching cables to something without impedance control is not a good idea
Wysyłane z aplikacji Outlook dla systemu iOS<https://aka.ms/o0ukef>
…________________________________
Od: Jonathan Armstrong ***@***.***>
Wysłane: Sunday, March 10, 2024 4:29:08 AM
Do: geerlingguy/raspberry-pi-pcie-devices ***@***.***>
DW: Michał Gapiński ***@***.***>; Mention ***@***.***>
Temat: Re: [geerlingguy/raspberry-pi-pcie-devices] Test Pineberry Pi's HatDrive! Top and Bottom NVMe HATs (Issue #559)
I have a Kioxia KBG40ZNS256G NVMe drive that boots on 2/16/2024 bootloader with the Hatdrive Top (ordered 2/5/2024).
However, I am also getting PCIe corrected errors.
I was having freezes previously but this was on alternative OSes so I am not sure if that is a coincidence.
I ordered a 3cm cable from Hangzhou WildChip Tech Co., Ltd. Store to try out which is linked in the thread.
@kitopopo<https://github.com/kitopopo> Is that a cable you've tried out with your drive(s)?
—
Reply to this email directly, view it on GitHub<#559 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAHDCBZV4EC4CTZFR7IL6ATYXPHQJAVCNFSM6AAAAAA7NGHADKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGA2TKOJUGY>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Dear @mightymos , I have tried those 3cm cables from that store, with those cables I get a correct boot with my nvme but I get too many pcie severity:corrected errors. The title of those cables gave me the final idea to eliminate the pcie corrected errors mentioned above. If you look closely it says "shielding FPC cable". I use normal white cables without impedance control and 40mm, perfect start but with errors in gen 3. So a week ago it occurred to me to shield my 40mm cable with aluminum foil or silver paper, the kitchen paper of the entire life. After giving a few layers of paper to the cable, I inserted a cable in the middle to connect gnd to the gpio connectors of the raspberry, and to cover this cable I gave it more layers of paper which I finally wrapped with tape so that it does not move. Attention, you have to be careful because if the aluminum foil is not perfectly fixed, it can move and short circuit the cable pins on both sides. If you do the test, do it at your own risk. After this procedure I get 0 PCI corrected errors working in gen3 for more than a week, testing every day and powering off the raspberry pi 5 more of 200 times, rebooting... these errors have disappeared. You can also eliminate the pcie_aspm=off line from cmdline.txt since in my case it does not work since I kept getting errors. Note: My experiment only works with 40mm cables, I have tested 50mm but again errors. My opinion is that the problem has always been in the FPC cable. Now I just have to buy new cables to pineberry pi revisions v2 or v3 and verify these errors with new cables since my experiment is provisional. For this reason, several messages ago, I asked @mikegapinski for several test cables but he ignored my message. I don't reject @mikegapinski advice and it is most likely that it is convenient to use cables with impedance control, they are engineers and it is their project, I simply explain how in my particular case I have managed to eliminate all the PCI errors and start my NVME correctly . Kind regards |
The cables we ship with the FPC bundle on the website are the same that you got with the board. We have a few thousand of them. Every HatDrive we ever shipped to customers has the same FPC. There are no revisions of those other than a few dozen prototypes from 2023/10 that never made it out of our lab. The 100mm one currently comes from a new production batch (2024). We also have 60mm and 80mm for the HatBrick Commander and they could be potentially available separately soon. 60mm cable is currently only shipping with our Ethernet boards. |
Well then I will have to continue using my experiment to achieve stability en Gen3. Thank you |
Thanks @mikegapinski I tried setting Gen 2 and disabling ASPM but still getting AER corrected errors. Apparently the aliexpress cable is claimed to be impedance controlled, so at worst I might have wasted some money. I still seem to require PCIE_PROBE to boot with 2/16/2024 firmware. Thanks for the help. If there is anything else I can report let me know. |
Regarding the Kioxia KBG40ZNS drives I was able to attempt updating firmware with this tool (Windows only): However I apparently have the latest firmware already.
To summarize to /boot/firmware/config.txt added:
To /boot/firmware/cmdline.txt added:
|
I just wanted to add my 2 cents. Note that my HAT is not from Pineberry, so this might or might not be relevant. However, to add some weight to @kitopopo's experiments, I also had several corrected AER errors with my setup. Disabling bluetooth/wifi on my Pi5 reduced them by more than 90% (the remaining errors might be from a nearby router). So radio interference and FPC shielding are definitely things worth looking at. The Aliexpress cable linked previously is also advertised as "shielded", and I have one arriving in a couple of days, so I'm curious to see how it goes. |
Dear @vin100ross , thanks for your answer. I also have the router nearby, and by deactivating Bluetooth and Wi-Fi the errors improved. I'm sorry to tell you that in my case the 3cm ffc hose from the Asian store seems not to be very armored since I still have PCIe corrected errors. I am preparing a new shield that I have thought of, at the moment it works with a 5cm flat cable and without errors, I hope my ideas will help you if you decide to prepare something similar. I hope to upload the photos today. _For non-believers in physics and electricity here I leave the following: The Faraday cage is a conductive structure that protects its interior from external electric fields. Named after the physicist Michael Faraday, this cage works by redistributing external electric charges along its surface, neutralizing electric fields inside. Key features of a Faraday cage: Conductive material: It must be made of a conductive material, such as metal. Galvanized steel is commonly used. No large openings: The openings in the cage should be smaller than the wavelength of the radiation to be blocked. Ground connection: The cage must be grounded to allow the discharge of accumulated electric charges. Faraday cages are used in various applications, from laboratories to protect sensitive equipment to building construction for shielding against electromagnetic radiation. The main idea is to create an electromagnetically isolated environment inside the conductive structure._ Best regards |
@kitopopo @vin100ross Hmm. This is now something we can work with. In a decently isolated environment it is easy to create a test that is easy to reproduce. You can fire up a hotspot with hostapd on either 2.4ghz or 5ghz and connect to it from a different device. After that you can do large transfers and check the logs with a sensitive M.2 device (those MAXIO controllers are perfect). I think you might have found a valid explanation why Gen 3 is not fully certified by RPI. The Wi-Fi antenna is located next to the FPC connector and using a impedance controlled FPC in a shape that is covering it directly (Pimoroni NVMe base?) could make things even worse. We'll do a brainstorm and figure out if there is a way for us to create an even better FPC cable since it is just a flexible printed circuit. |
Good afternoon, This is another type of shielding that works better than the previous one since I can eliminate errors with gen3 using a simple 5cm fpc cable It is something provisional, I hope that @mikegapinski and his team manage to make a new FPC cable that solves these errors for everyone. Many of us will be interested in buying this new cable from Pineberry Pi. I can't help more, best regards |
So... The official RPI HAT FPC cable is also not shielded, just impedance-controlled like ours. https://twitter.com/pineberrypi/status/1767244283025711559?s=61&t=Lh0E7mQyw_B9UkJjFAZW_Q This makes me even more excited about trying to prototype this approach. It'll be expensive and the only thing we could try is Copper Layer Shields, but that would make the cable very stiff. Other more accessible shielding approaches would mean no impedance control and this is a no-no. You can read more here: https://blog.epectec.com/emi-and-rf-shielding-options-for-flexible-circuits It might not be feasible for the HatDrive line but it could make more sense with something like the HatBRICK! Commander or uPCIty. Since we are already selling cables and they are very, very popular there could be a way to make a test batch at some point. @geerlingguy another thing to play with that could be potentially improved, we didn't get any issues with 100mm on uPCIty but our office is in a basement and we usually use ethernet. |
A quick Google shows wifi/Bluetooth interference with NVME on the Pi5 creeping up once in a while, so we're not the only ones it seems. I for one would buy into any solution you guys can come up with, even if it means a stiffer/thicker cable. Anyway with aspm=off, and Bluetooth/wifi off, I went from a corrected error every minute on average to one every two days or so... Not perfect but manageable. |
@vin100ross , In my case sometimes the errors remained stable for quite a long time. |
Interesting and complicated armor blog, I hope you find a solution. I also prefer the cable to be a little more rigid but without errors. Thanks in advance |
I use the HatDrive top. |
HatDrive Top (2024/V2) or HatDrive Top Lite supports sleep, V1 was designed when this feature was not available (we started selling the board in early November and the spec/firmware support for HAT+ was released a month later. HatDrive Bottom (2024/V3) that supports sleep is shipping for over 2.5 months now |
Well the Aliexpress cable did not appear to work at all...nothing showed up from lspci whereas drives would normally at least show up with stock cable. I believe my cable was seated properly. I then returned to the stock cable and was able to write a lite image to an SN530 NVMe drive, which is listed as compatible - unlike my Kioxia drive. However rebooting the Pi would still not boot with the NVMe. I then booted via USB adapter with SSD drive and lspci did not show SN530 any longer despite it just successfully writing. It seems like I am out of options for more experimenting within budget so would plan to boot by USB adapter in the future. I suppose the benefit here is that USB is fairly simply to swap to another system if needed. In any case I'm not sure if this helps anyone but has been my experience so far. |
Pineberry Pi is a joint venture between Michał Gapiński and Mirosław Folejewski — both of whom have a history of making some pretty cool Pi products.
They just announced their "HatDrive!" Line of HATs (one for the top, one for the bottom) for the Raspberry Pi 5.
I have one of each and will be testing it, along with their impedance-controlled FFCs (they make two lengths):
I should also redirect the page https://pipci.jeffgeerling.com/hats/mirko-hat5m1-hat.html to these new HAT pages. See #550
The text was updated successfully, but these errors were encountered: