NAS/SATA for Rock 5

I saw the adapter you sent, the multiple port one. If that one is compatible it would perfectly fit my needs. I don’t necessarily need to maximize performance, 50-100MB/s is good enough for mechanical storage.

For a very high chance you need to change the kernel config and build your own kernel to enable the necessary drivers. The default kernel shipped is without a lot of useful features for a desktop/server, and it looks like a kernel only for android to me.

Don’t necessarily mind compiling my own kernel, but it would be beneficial to know it works before ordering since I would be shipping to Europe.

Hi, I have similar NAS plans and here is my setup.

For the SATA, I bought an M.2 to 5xSATA converter with JMB585 chip. This is a PCIe 3.0 x2 to 5x SATA chip and works nicely with Armbian. I assume with the Radxa Debian it shall work too because the driver is a pretty mature one.
Be careful with the chipset because the JMB575 is a SATA multiplier. On the internet I found articles as some NAS software doesn’t like it hence I decided to go with the PCIe --> SATA chipset.

Nevertheless this M2 board is very power hungry. I made some quick measurements:

  • Rock 5B alone in idle - 1,4W
  • Rock 5B + JMB585 without connected disk - 4,3W
  • Rock 5B + JMB585 with 1 connect disk - 9W
    The disk consumption is NOT included so this is just the boards!!! Even the M2 card’s heatsink was pretty hot (yeah surprise :slight_smile: ) so buy only a card which has heatsink applied.

I didn’t do speed test with this just a quick validation test if it is working.
Also there are other cards with ASM1166 chipset which is a PCIe 3.0 x2 to 6x SATA. I read mixed feedbacks on the internet about it hence I turned ot the JMB585 direction.

The next is the power feed. For 3,5" HDD you need 12V while for the 2,5" HDD/SDD is fine with 5V. The SBC has 5V output on its header but I don’t want to load that one hence I bought a standard 12V PSU and a 12V to 5V DC-to-DC stepdown converter.
And yes with this I can also confirm that the Rock 5B works with a fixed (dummy) 12V input as well. But if you decide to make this power feeding then it is your responsibility … be careful :wink:
The DC-DC converter has a DC plug inpunt and a screw terminal. So I connected the PSU to the DC plug and used the screw terminal to connect a cable which goes to the Rock 5B. You can cut an USB-C cable or you can solder one with a USB-C head.
Regarding the PSU I went with a 100W capacity one. Based on the reviews this one provided the most stable voltage. Don’t buy too big PSU because the effeciency will be worse (even the 100W looks too much to my use-case).

Regarding the brands I had no preference as these are clones of each other. Here is my bill of materials:

Here are some pictures.


5 Likes

And here are the 2 other components:

There’s something seriously wrong with your setup since those modern SATA host controllers are known to be around ~2W with all ports connected.

Have you checked ALPM (Aggressive Link Power Management) and ASPM (Active-state power management) settings?

As for powering with one of the usual 2.1/2.5/5.5 mm barrel plug power bricks something like this may be a better choice for people not able/willing to DIY electronics:

1 Like

Man, you are my hero! But can I go with 12v only for 3.5"? Without 5v? Seagate Exos documentation says both 12v and 5v are required (12v for mechanics, 5v for electronics?)

Yeah, the consumption looks strange to me as well. I will check the power settings next week. Thanks for the hint.

The DC - USB-C cable great for fix power feed but for a NAS you need to distribute the PSU’s power hence somewhere you need to cut somewhere. Using different PSUs (one for the SBC and another for the disks) is better to avoid due to different grounds and different switch on times.

1 Like

It depends on the HDD. There are some with 12V only requirement but most of them requires both feeds. Also pay attention to the max requirements and do a calculation to remain in the PSU’s capacity and the DC-DC’s capacity. What I linked has 5A capacity to the 5V. HDDs have the peak consumption when they spin up and typically you switch on all disks in the same time. Make your sizing to 80% of the capacity to keep room for spikes. If you run out of the DC-DC’s capacity then place another one. In this case use the 5V to different disk (e.g. do NOT connect the two 5V output into 1 big feed). On the other side make the deployment with 1 single 12V PSU.

Or even easier if you find a very small ATX PSU, there you get everything what you need. The caveate here is that the smallest is around 200W which is too big. I mean the efficiency will be shitty which is bad for a 24/7 NAS. There are supercool GaN ATX PSU but you will cry if you see the pricetag: https://hdplex.com/hdplex-fanless-250w-gan-aio-atx-psu.html
For the ATX you need a trigger (or a piece of cable) to switch on. Something like this: https://www.youtube.com/watch?v=uKG1nbuu8Fc

ps.: Seagate Exos is on plan as well however still convincing myself if I want to buy 3x 18TB :slight_smile:

2 Likes

Thanks for the answers. Can you buy a barrel plug (12V), buy a splitter (1 to 2), use 1 of them to power the RADXA and the other to power SATA drives? Or buy the regular USB C power (65W) for the RADXA and a dedicated barrel plug for the SATA drives? What is the best way to power these together?

Man, I love you <3!
Also, there are GaN chargers. I have one - baseus 65w, and there is even 100w version. It has 2 x USB-A and 2 x USB-C. All ports support 5v/9v/12v/20v output. Have no idea how can we use this for our purposes.

Yeap, a DC splitter cable can make it. Then you can connect one end to the DC-DC stepdown and the other end to the DC to USB-C what Tkaiser suggested.

I would avoid 2 (or more) PSUs in the system because their grounds will be different and at the end of the day you need to make them common which can causes issues.
“But Gee my neighbour’s nephew has a mining rig and he has multiple PSUs in it so what you are saying is BS” :slightly_smiling_face:
Yeap, that’s correct but those PSUs are earthgrounded and they have high quality materials unlike the Chinese 12V PSU for LED strips. (I also had 3x 1000W PSUs in my mining rig without any issues but this is a different setup.) :wink:

I love you too :smiley:

The multi-USB charger can be also an option but keep in mind the following thoughts:

  • Several cables can be messy.
  • For the 5V you can just connect a USB cable and take the + and - . If there is no smart USB device on the receiver side then it will give 5V. If you would go with 2.5" disk then there are ready made cables so you don’t need to solder one.
  • The 5V itself might be the problem because these charges give 2A or 3A per port which might be not enough for several HDDs. A single 2.5" HDD can suck 1+ A during it spins up. So you can easily utilize your 2-3A budget with 2-3 HDDs.
  • For the 12V you can take a PD trigger something like this: https://www.amazon.com/dp/B0953G14Q2
    (Note that there are different voltage variants.)
  • And again the 2-3A per port power budget is valid to the 12V output as well.
  • As you can see this is an easy option because the charger will provide all voltage levels in 1 device but causes some power budget fragmentation hence more careful calculation is needed during the planning.
    (As there is a single power device without an external DC-DC converter, I would trust this more if I would fit into the current budget.)
  • Normal NAS boxes have the feature to switch on the HDDs in batches (2 or 3 at once) or in sequence to deal with the peak power need for the spin up. It is also an option to add a relay chain in this DIY setup as well. Here 10 sec delay is reasonable between the sets and once they are spinning then it can power up the SBC. But this is more complex and you need a microcontroller to manage it.

Finally just an idea to think about. There are external HDD bays which have SATA connectivity and can handle the power cycling built-in. I don’t have recommendation because I plan to 3D print my box so I didn’t make my research but you can google for it if you find a good option. Keywords: HDD bay, HDD enclosure, Icy box.
+1 idea: if you think to do your own box like me then don’t forget some gum for the HDD fixing to kill the resonance and hence the noise too. Cheap HDD enclosures don’t have such “feature” but in the mid-range it is more or less a standard. Just a point to consider.

I’m also planning on setting up NAS with my 5b and have been following along here (and actually bought the m2. multi-SATA adapter mentioned).

However as I think about it more, I’m going to be using 7200 RPM HDD’s (120MBps read) in a RAID 5 setup (2x read speeds).

I’m assuming that the Rock 5B has usb 3.1 gen 1 connections (5Gbps) – can anyone confirm that?

If I’m right, the max RAID read speed would be around 2Gbps which means I wouldn’t saturate that 5Gbps line.

Am I right that a USB 3.0, built-in RAID, HDD enclosure (like this) would allow me to just setup the NAS networking on my 5B and get full read/write throughput on the HDD’s?

If yes, the tradeoffs to have built-in power management and cooling from the bay enclosure vs cost/control with direct SATA seem to favor the former for me.

I don’t know if it is Pi specific, but using USB SATA has been an awful, awful experience.

Nope more or less anyone who has tried USB Sata for Raid unless a pseudo raid such as snapraid will tell you its a pretty awful experience.

JMB585 should be fine but you are still stuck with the Rockchip BSP kernel.
What NAS/SATA for Rock 5 did is a great example and you can get simple low cost acrylic towers where the disks themselves create the structure.

Rock5 would make a great NAS but so would the Rock3, but just a shame it got that Pi format as its images are new but definately more mature.
I would let others trail blaze a path 1st.
PS Cockpit has some great interfaces for Samba/NFS

thank you for thoughts and yes, agreed that @gee’s setup above is really cool.

but could you and @abbeswag expand on your bad experiences? Are we talking performance? Reliability? Both?

Totally understand it’s preferable to get closer to the rails with the JMB585 but if there aren’t performance gains with a non-ssd raid 5 setup, I have to consider the off-the-shelf option.

FWIW, this review of the enclosure indicates that he’s hitting the theoretical limit I calculated in my previous post.

Currently I have an odroid xu4 with a 3.0 enclosure that does hit the drive’s 120MBps limit and have had no issues.

Another advantage is that I’d get to run off an ssd in the m.2 slot rather than the slower emmc.

All of this is for a media server + backups so this specific use case may also play into best route for me.

When I get my Ameridroid-ordered Rock 5, I am using a Mini-PCIE to PCIe adaptor to run a Sas3008 HBA for my NAS. You can find the boards for cheap on ebay and are as reliable as you can probably get for a consumer grade storage device.

I plan on running eMMC, I think you are overselling how much slower it is. The eMMC on my Odroid N2 runs in the 120-130 Mb/sec on benchmarks and is more than fast enough for Linux to boot and be ready in seconds. I bought another one for my future 5b.

I doubt it as many of those are BIOS cards which on Arm isn’t a thing and only dumb pcie adapters can be guaranteed to work.
eMMC though can be much faster on the Rock5b with no added wattage.

/dev/mmcblk1p14:
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 Timing buffered disk reads: 948 MB in  3.00 seconds = 315.64 MB/sec

That the Android partition on the eMMC 16gb module I got via linux.

I’ll find out when I get my board, but I was pretty sure BIOS support is only needed to boot off of a drive on the HBA. For JBOD / IT mode the kernel driver takes over and initializes all the drives. On my current board (x86, admittedly) the BIOS support is actually disabled to speed up the boot process.