Use ROCK 5 as NAS?


Im very interested in ROCK 5, because it has so powerful CPU, 2.5 Gbit network and its ARM-based, so Im thinking about building NAS.

I was looking for competition like Synology or Asustor, and new NAS servers by Synology and Asustor for home uses Intel Celeron J4125 which has Passmark rating around 3000, then I checked Rockchip 3588 (which ROCK B uses) and it has Passmark rating around 6000, so ROCK B’s CPU should be around 2 times faster than Intel Celeron J4125 which uses competition, but even if it had same performance I would take Rockchip again because its ARM, so it has low power usage too.

So CPU performance should not be a problem, I just have some issues and Im looking for answers here so:

1. Can ROCK 5 B support somehow at least 2 (ideally 4 --> for future) SATA III ports? Like using some SATA III Hat? I was that ROCK 4 has something like that, side question: that Hat uses GPIOs right? Is it reliable to use it for SATA interface? :smiley:

Note: I would like to use m.2 slot on the back of SBC for OS and SSD Cache, so don’t recommend me m.2 to SATA adapters please.

2. I saw that SATA Hat for ROCK 4 needs external power (through MOLEX) to power 3.5 inch drives, is there some adapter or solution to power ROCK 5 B and these SATA drives using one single adapter, so I don’t want to have 2 separate adapters in electric plug, one for ROCK 5 B and second for SATA drives.

3. Is there any I/O shield for ROCK 5 B? If I wanted to mount it into mini-ITX case.

4. Is ROCK 5 B’s hardware (CPU, Ethernet, etc…) supported by solutions like unRAID, TrueNAS or Xpenology?

5. What is support of GPU hardware acceleration? --> I would like to use PLEX, and if you play video on unsupported device then PLEX have to transcode it in real time, I heard that it has really big performance impact (some staff on Reddit said that it needs around 2000 Passmark CPU for every 1080p stream which is transcoded, can be found here: its Myth number 8)

Note: I found that some Asustor NAS uses Realtek RTD1295 CPU, and this CPU has ARM® Cortex-A53 and ARM® Mali-T820 MP3 GPU, and ROCK 5 B uses much better CPU and even GPU is much much better on ROCK 5 B as you can see on screenshot below what I found, so point is that Asustor provide PLEX too, so I guess that Mali GPU inside Realtek is supported in PLEX, so is Mali G610MP4 in ROCK 5 B supported as well?

1 Like

Sure - You can get m.2 E card (costs only $1.5) with single sata port and connect there 1->5 sata card having 5 sata ports.

Or You can just buy 2x sata E card, which is just smaller

You probably meant quad sata hat - it will make sata ports via two usb3 ports, it’s know to cause some problems and USB3 is not much reliable connection. I have it and I will try that with rock5A, but there are much better options for that. GPIO is used there to pass power, i2c for oled, buttons and fan control.

Sure, use m.2 E on top for that.

You probably will need some power to run this. With card 1->5 You have also power port for 5V, either split cable or add step down converter from plain 12V for board. Also get 1 to 5 sata power cable, its quite popular.

For other answers try to search on forum, most of those are already discussed.

The hardware is OK, but the software side you have to do a lot of work.

QNAP even announced a new NAS powered by the RK3588 SoC, the TS-AI642.

But I guess you have to work with bare metal Linux to get your functions working. The software solution vendors probably will never target this board and you will never get supported(officially) by them. Forget about TrueNAS as they are not interested in any of the arm processors, even if they do, the ZFS modules does not compile against the BSP kernel we are using now.

People from X86 world usually has a misconception about “GPU” and “Video accelerators”. Yes most GPUs in the x86 systems also provides video accelerators and can be used after you installed the GPU driver package. But the GPU and the video accelerators are actually two very different subsystem and actually powered by different drivers. You cannot guess the Video accelerator support based on GPU support at all, especially on arm SoCs that may share the same GPU but using completely different video accelerators. Rockchip uses their own rkmpp library for video encoding which will be different than any of other vendors. I doubt plex would have this support. By the way, even the Mali-G610 GPU is not supported by mainline Linux yet.

If you want a super simple NAS that only serves some data from network, then it could work if you knows how to install samba and configure lvm. But if you need the advanced features, you have to work hard to get the software working.

                   /----> RGA 2/3 (librga)   ---->\
rkmpp-dec ----> drm-prime                   drm-prime ----> rkmpp-enc
                   \----> OpenCL (mali blob) ---->/

RGA hardware can handle video scaling and format conversion, as well as blending subtitles.
OpenCL on ARM can import memory from drm and use custom shaders to do tone-mapping.

This is my early concept of zero-copy transcoding pipeline using FFmpeg on 3588 and I have verified its feasibility but there’s a lot of work to do. I’ll put the result in jellyfin-ffmpeg once it’s available.

1 Like

To add-on to the discussion: What is the feasibility of using something like this?

M-2-NVME-PCI-E-PCIE-X4-X8-X16-To-6-Port-3-0-SATA-Adapter (75.2 KB)

Also to add to the discussion, I have created 20 sata ports from the M.2 E-slot on the Rock Pi 3A, and tested it with 5 sata drives. That didn’t work with the Manjaro image, but it did work with the debian 11 image [1] Maybe the RockPi 5A can do the same?

[1] Howto enable PCI-E on the Rockpi3A M2. E_key?

I got this card but as far as I remember it uses 2x pcie lanes so remaining two are wasted for now. For now I have m.2 b+m -> pcie 4x adapter and I will try to find some pcie bifurcation card that should split 2x2 those lanes. It would be great to see m.2 (4pcie lanes) -> 2x m.2 (2pcie lanes) card that makes possible to use two m.2 cards, each 2x lanes.

I have on my way card that @tkaiser suggested - it would change 1 passive sata into 5, I also have 2x sata m.2 e card, so I can try to use that one one one port so it should be possible to add another 1->5 card (but I won’t need 10x satas) :wink:

It may support up to 20 ssd :slight_smile:

? But I was able to compile ZFS on Rock5 and used for a few days

1 Like

How did you do that? Using normal DKMS?

Yes, there were a bit of problem, with building process, but that’s because dkms module doesn’t activates by default and you need to enable it’s manually

1 Like

armbian with openmediafault is also an option.

I am using this adapter and it works just fine. OMV sees all 6 drives plus the EMMC.

Side note: OMV doesn’t want to play nicely with radxa’s Armbian Bullseye CLI distro. it reports as being Jammy, not Bullseye. This causes OMV to not install.

Perhaps better to use original Armbian Bullseye? 3rd party forks are usually missing something, they are old, modified for who knows what reasons …

Correct, I learned the hard way…

Someone had opened a github for ZFS, did they fix it?

Fixed what exactly?

If someone opened a ticket to Armbian, I am pretty sure it was closed at once. Problem is not related to Armbian. Its only a good will - when everything else is fixed, bills paid, resources existing.

ZFS does not compile on this kernel. Probably better that it doesn’t.

What is kernel is “this”? It’s can be compied on 5.10.66

Oh, then apparently it was fixed. I guess you need right ZFS version too. I just tried with most up2date kernel (which is derived from radxa) and ZFS 2.1.6 and doesn’t want to build …