In this review, I’ll show how I installed Debian on the ROCK 5 ITX mini-ITX motherboard powered by a Rockchip RK3588 octa-core Arm Cortex-A76/A55 processor, before building a computer/NAS with the Arm mini-ITX motherboard, testing various features and running benchmarks.
In the first part of the review, we checked out the Radxa ROCK 5 ITX (Arm) and Jupiter (RISC-V) mini-ITX motherboards with specifications and unboxing, and the Auriga 6-Bay NAS mini-ITX chassis used in this review. I already built the computer with the Jupiter RISC-V mini-ITX motherboard, so here I simply switched the RISC-V motherboard with the Radxa ROCK 5 ITX Arm motherboard and installed a few SATA drives.
Radxa ROCK 5 ITX first boot – A tricky start…
Radxa provides getting started instructions on the documentation website which I mostly follow to hopefully boot within a few minutes. I had to prepare the hardware first. So I installed a 512GB NVMe SSD in the M.2 socket, inserted the PoE module (which I won’t be using here), and I also placed one of the provided thermal pads on the Rockchip RK3588 SoC.
Then I placed the fansink (heatsink with fan) on top of the board, connected the cable to the 4-pin fan connector…
… and secured it with the four spring-loaded screws provided with the kit and the metal plate placed on the bottom.
The board is supposed to ship with ROOBI OS on the eMMC flash to easily install the OS to another storage device. In theory, I just had to find a 12V power adapter combined with a 5.5/2.5mm DC jack through an adapter I got from a laptop jack kit, connect a display, keyboard, and mouse to get started, and install an operating system downloaded from the Internet through the ROOBI OS interface…
But in practice, all I got was a blank screen, and connecting the board to Ethernet did not provide any IP address. The fan was working, so it was unlikely to be a power issue. So I decided to connect a USB-to-serial debug board to check out the output from the serial console. It works at 1,500,000 bps, and Bootterm would only max out at 1,000,000 bps with the serial board I had at the time and some gibberish was outputted… Radxa told me maybe ROOBI OS was not installed. But I decided to move on with the RISC-V motherboard testing first, and only do further checking once I moved to another house where I had a USB-to-serial adapter that I know for sure works at 1.5 Mbps.
Installing ROOBI OS and Debian on the ROCK 5 ITX motherboard
About two weeks later, I finally connected the better USB-to-serial debug board that works at 1,500,000 bps, but I had to output. For reference, it’s a CH340G USB to TTL debug board that I got with a development board many years ago and should be that model on Amazon.
So I decided to install ROOBI by following the instructions on the documentation website. After downloading ROCK5-itx-ROOBI-Flasher-v1.2.1.img.xz (which took me four tries as the file is probably hosted in China), I flashed it to a microSD card using USBImager. Then I had to remove the M.2 NVMe SSD since the update procedure requires there aren’t any other storage devices, and inserted the microSD card into the ROCK 5 ITX mini-ITX motherboard.
I monitored the output from the serial console (shorterned):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
jaufranc@CNX-LAPTOP-5:~$ bt -b 1500000 No port specified, using ttyUSB0 (last registered). Use -l to list ports. Trying port ttyUSB0... Connected to ttyUSB0 at 1500000 bps. Escape character is 'Ctrl-]'. Use escape followed by '?' for help. DDR 9fffbe1e78 cym 24/02/04-10:09:20,fwver: v1.16 LPDDR5, 2400MHz channel[0] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB channel[1] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB channel[2] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB channel[3] BW=16 Col=10 Bk=16 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB Manufacturer ID:0x6 CH0 RX Vref:28.9%, TX Vref:24.0%,24.0% CH1 RX Vref:28.9%, TX Vref:22.0%,22.0% CH2 RX Vref:30.1%, TX Vref:20.0%,20.0% CH3 RX Vref:28.9%, TX Vref:22.0%,22.0% change to F1: 534MHz change to F2: 1320MHz change to F3: 1968MHz change to F0: 2400MHz out U-Boot SPL board init U-Boot SPL rknext-2017.09-24-e919685-gd262d5d #runner (Apr 16 2024 - 09:17:22) Trying to boot from MMC2 spl: partition error Trying fit image at 0x4000 sector ## Verified-boot: 0 ## Checking atf-1 0x00040000 ... sha256(a7d1d8d191...) + OK ## Checking uboot 0x00200000 ... sha256(fde6bb8754...) + OK ## Checking fdt 0x00328268 ... sha256(69ceeaeef3...) + OK ## Checking atf-2 0xff100000 ... sha256(4b2065349b...) + OK ## Checking atf-3 0x000f0000 ... sha256(aa71013e72...) + OK Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000) Total: 623.72/939.149 ms INFO: Preloader serial: 2 NOTICE: BL31: v2.3():v2.3-682-g4ca8a8422:derrick.huang, fwver: v1.45 NOTICE: BL31: Built : 10:11:21, Dec 27 2023 .... U-Boot rknext-2017.09-24-e919685-gd262d5d #runner (Apr 16 2024 - 09:17:20 +0000) .... U-Boot menu 1: Debian GNU/Linux 11 (bullseye) 5.10.110-33-rockchip 2: Debian GNU/Linux 11 (bullseye) 5.10.110-33-rockchip (rescue target) Enter choice: 1: Debian GNU/Linux 11 (bullseye) 5.10.110-33-rockchip Retrieving file: /boot/initrd.img-5.10.110-33-rockchip 8393003 bytes read in 684 ms (11.7 MiB/s) Retrieving file: /boot/vmlinuz-5.10.110-33-rockchip 28312064 bytes read in 2284 ms (11.8 MiB/s) append: root=UUID=2c8ef374-87a4-4f7e-8491-6a6e4c1308ad console=ttyFIQ0,1500000n8 quiet splash loglevel=0 rw earlycon consoleblank=0 console=tty1 coherent_pool=2M irqchip.gicv3_pseudo_nmi=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 Retrieving file: /usr/lib/linux-image-5.10.110-33-rockchip/rockchip/rk3588-rock-5-itx.dtb 253113 bytes read in 122 ms (2 MiB/s) Fdt Ramdisk skip relocation No misc partition ## Flattened Device Tree blob at 0x08300000 Booting using the fdt blob at 0x08300000 Using Device Tree in place at 0000000008300000, end 0000000008340cb8 WARNING: could not set reg FDT_ERR_BADOFFSET. ## reserved-memory: cma: addr=10000000 size=10000000 ramoops@110000: addr=110000 size=f0000 Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000) Adding bank: 0x100000000 - 0x3fc000000 (size: 0x2fc000000) Adding bank: 0x3fc500000 - 0x3fff00000 (size: 0x03a00000) Adding bank: 0x4f0000000 - 0x500000000 (size: 0x10000000) Total: 5758.176/6755.398 ms Starting kernel ... Debian GNU/Linux 11 rock-5-itx ttyFIQ0 rock-5-itx login: |
The good news is something boots, but it’s not showing anything about the update, so I connected a display that confirmed ROOBI OS was flashed properly with the ROOBI Flasher.
I then turned off the board and installed the M.2 NVMe SSD back as well as an M.2 WiFi 6 and Bluetooth 5.2 module that I got with the Radxa ROCK 5B two years ago. I finally got a prompt asking me to select the language.
I carried on with English and was asked to agree to a software license and service agreement.
Not quite sure where it can be found and didn’t plan to read it, so I just clicked on Next…
The next step is network configuration which is required to download the OS. If you have connected an Ethernet cable and DHCP is enabled, you can just click on Skip, but I went to WiFi and could confirm the M.2 WiFi module is working fine.
After that, it will retrieve the list of supported devices from the web. At the time of the review, two OS could be selected:
- Debian KDE (1.33 GB) – Officially supported
- Armbian Desktop (1.46GB) – Community-supported image based on Ubuntu 22.04 Jammy and KDE.
I went with the officially supported Debian image and was asked to select a storage medium. The only option was /dev/nvme0n1 (i.e. the 512GB NVMe SSD I had installed on the board), so it’s all good.
After a warning saying all data from the SSD would be erased, I confirmed, and ROOBI started to download the Debian KDE image.
Once the download is complete, it will automatically flash the OS image to the selected medium, and finally reboot the system within 10 seconds after a successful installation.
If you don’t have a spare display, you can also access the ROOBI wizard through a web browser using http://roobi.local or the IP address. That would only work with Ethernet, or after WiFi configuration in the main interface.
After a final reboot, I go to the KDE login prompt.
Before starting the computer build, I wanted to make sure WiFi was indeed working in Debian KDE since I’m going to move outdoors for the assembly process without access to Ethernet…
It took way longer than it should have, but I’m happy I have the system up and running!
Computer / NAS build with ROCK 5 ITX motherboard and Auriga chassis
That means we are now ready to build a computer / NAS with the ROCK 5 ITX Arm mini-ITX motherboard and the Auriga 6-bay NAS mini-ITX chassis. I also prepared four SATA drives to make use of the SATA ports from the motherboard with two 2.5-inch SATA HDD and two 3.5-inch SATA hard drives.
I took out the Jupiter RISC-V motherboard from the chassis and installed the ROCK 5 ITX motherboard with its rear panel following the same instructions as for the SpacemIT K1 RISC-V motherboard. Then I started installing the hard drives. The Auriga enclosure ships with a screws box that has M3 screws for 2.5-inch drives and M3.5 screws for 3.5-inch drives.
I took out the two trays on the top and secured the 2.5-inch SATA drives with three M3 screws each fastened at the bottom of the tray.
I did the same with the two middle trays but for the 3.5-inch drives using six M3.5 screws for each (three on each side).
I could now slide the tray into place and the drives were inserted into the internal SATA connectors (laptop type).
Back to the motherboard, I connected the ATX power cables, and the SATA cables set provided with the Auriga enclosure. I connected P1 and P2 cables to SATA 1 and 2 on the board, and P4 and P5 cables to SATA 3 and 4. I had to skip P3 because the P4-P6 cables are longer. You’ll understand by reading on…
The next step was to pass the cables set through the opening in the case and connect P1 and P2 to two of the SATA ports on the left side, and P4 and P5 to two of the SATA ports in the middle. I had to remove the fan because the space was too tight for my hand.
I had already connected the two SATA port cables in the RISC-V motherboard review… The final wiring step was to connect the power LED and power switch wires as instructed in the assembly guide.
I did not connect anything to the audio header or the USB (2.0) connector because the Auriga case does not have any corresponding cables. It does have a USB 3.0 cable that we used with the Jupiter RISC-V motherboard, but the ROCK 5 ITX motherboard had no such connector meaning the USB 3.0 on top of the chassis will not be usable. The WiFi module would benefit from SMA antennas since it’s now inside a metal enclosure, especially the rear plate has two openings for those.
After a final test, I completed the build by attaching the four metal plates. Here’s the results
The four SATA drives are detected properly, WiFi 6 is still working, and so are the mouse and keyboard.
We can see the mini-ITX motherboard’s rear panel with its rear plate to which I connected two RF dongles for the keyboard and the mouse, and an HDMI cable. While the ROCK 5 ITX has a PWM fan the the processor, it lacks connectors to control the fan of the Auriga chassis, so those are not in use.
System information
Let’s check some system information.
We can get a few more details in the command line:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
radxa@rock-5-itx:~$ cat /etc/issue Debian GNU/Linux 11 \n \l radxa@rock-5-itx:~$ uname -a Linux rock-5-itx 5.10.110-37-rockchip #27a257394 SMP Thu May 23 02:38:59 UTC 2024 aarch64 GNU/Linux radxa@rock-5-itx:~$ df -h df: /run/user/1000/doc: Operation not permitted Filesystem Size Used Avail Use% Mounted on udev 7.7G 8.0K 7.7G 1% /dev tmpfs 1.6G 2.1M 1.6G 1% /run /dev/nvme0n1p3 477G 13G 446G 3% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock /dev/nvme0n1p2 300M 4.0K 300M 1% /boot/efi /dev/nvme0n1p1 16M 1.0K 16M 1% /config tmpfs 1.6G 64K 1.6G 1% /run/user/1000 /dev/sda3 116G 93M 116G 1% /media/radxa/NTFS_Review /dev/sdc3 846G 645G 158G 81% /media/radxa/NEWHOPE radxa@rock-5-itx:~$ free -mh total used free shared buff/cache available Mem: 15Gi 919Mi 13Gi 53Mi 1.0Gi 14Gi Swap: 7.8Gi 0B 7.8Gi |
The system runs Debian 11 with Linux 5.10.110, and my ROCK 5 ITX board comes with 16GB RAM. The 512GB SSD is also detected, and two partitions from the SATA drives that I mounted manually can also be seen
inxi utility has more details:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
radxa@rock-5-itx:~$ sudo inxi -Fc0 System: Host: rock-5-itx Kernel: 5.10.110-37-rockchip aarch64 bits: 64 Console: tty 0 Distro: Debian GNU/Linux 11 (bullseye) Machine: Type: ARM Device System: Radxa ROCK 5 ITX details: N/A serial: e2cdce52fcb8c15e CPU: Info: 8-Core (3-Die) model: N/A variant-1: cortex-a76 variant-2: cortex-a55 bits: 64 type: MCP MCM Speed: 2400 MHz min/max: 408/1800:2400 MHz Core speeds (MHz): 1: 1800 2: 1800 3: 1800 4: 1800 5: 2400 6: 2400 7: 2400 8: 2400 Graphics: Device-1: display-subsystem driver: rockchip_drm v: N/A Device-2: mali-bifrost driver: mali v: N/A Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip v: N/A Display: server: X.org 1.20.11 driver: loaded: modesetting tty: 80x24 Message: Advanced graphics data unavailable in console for root. Audio: Device-1: hdmi driver: rk_hdmi_sound Device-2: hdmi driver: rk_hdmi_sound Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip Device-4: hdmi driver: rk_hdmi_sound Device-5: simple-audio-card driver: asoc_simple_card Device-6: simple-audio-card driver: asoc_simple_card Sound Server: ALSA v: k5.10.110-37-rockchip Network: Device-1: Realtek driver: rtw89_8852be IF: wlP2p33s0 state: up mac: 48:46:c1:8f:98:79 Device-2: Realtek RTL8125 2.5GbE driver: r8125 IF: enP3p49s0 state: down mac: 00:e0:4c:09:01:1d Device-3: Realtek RTL8125 2.5GbE driver: r8125 IF: enP4p65s0 state: down mac: 00:e0:4c:09:01:1e Device-4: regulator-fixed driver: reg_fixed_voltage Device-5: wlan-platdata driver: wlan_platdata Bluetooth: Device-1: Realtek Bluetooth Radio type: USB driver: rtk_btusb Report: ID: hci0 state: up running bt-v: 3.0 address: 48:46:C1:8F:98:96 Report-ID: hci1 state: down address: 00:00:00:00:00:00 Drives: Local Storage: total: 6.84 TiB used: 656.81 GiB (9.4%) ID-1: /dev/mmcblk0 model: 8GTF4R size: 7.28 GiB ID-2: /dev/nvme0n1 model: PCIe SSD size: 476.94 GiB ID-3: /dev/sda vendor: Toshiba model: HDWL110 size: 931.51 GiB ID-4: /dev/sdb vendor: Hitachi model: HUS724040ALE641 size: 3.64 TiB ID-5: /dev/sdc vendor: Toshiba model: MQ01ABD100 size: 931.51 GiB ID-6: /dev/sdd vendor: Seagate model: ST1000DM003-1CH162 size: 931.51 GiB Partition: ID-1: / size: 476.45 GiB used: 12.12 GiB (2.5%) fs: ext4 dev: /dev/nvme0n1p3 ID-2: /boot/efi size: 299.4 MiB used: 4 KiB (0.0%) fs: vfat dev: /dev/nvme0n1p2 Swap: ID-1: swap-1 type: zram size: 7.8 GiB used: 0 KiB (0.0%) dev: /dev/zram0 Sensors: System Temperatures: cpu: 40.7 C mobo: N/A Fan Speeds (RPM): N/A Info: Processes: 289 Uptime: 33m Memory: 15.6 GiB used: 1.19 GiB (7.6%) Init: systemd runlevel: 5 Shell: Bash inxi: 3.3.01 |
Everything is here including the 8GB eMMC flash used by ROOBI OS and the four SATA drives I installed on the system. The idle CPU temperature is reported to be 40.7°C.
The system does not rely on Wayland…
… but X11 instead, and it looks like the GPU is disabled for that part (llvmpipe driver shown in the System Information screenshot).
ROCK 5 ITX features testing
I’ll run some feature tests like I did with the MILK-V Jupiter RISC-V motherboard. Arm is more mature, so I’ll expect more features to work, but we’ll see.
I’ll share the details of the tests below, but here are the results first. I highlighted things that look pretty bad in red and the items that can be improved in orange :
- GPU – Fail
- glmark2-es2-wayland – Can’t run because Wayland is not supported
- glmark2-es2 – Score: 250 points. But I had to try four times, because the system will log out at random times, and graphics rendering issues occur (See screenshots below).
- Video Playback
- YouTube Full HD @ 60 FPS in Chromium (VP9) – Almost watchable, but many frames are dropped. Chromium will often crash with the “Aw. Snap!” window.
- YouTube 720p60 in Chromium (VP9) – Similar as above
- YouTube 480p60 in Chromium (VP9) – Video playback OK, but Chromium will often crash with the “Aw. Snap!” window.
- Storage
- SSD – OK. Speed: 1.45 GB/s reads; 1.46 GB/s writes; Note: SSD rating: R: 2,050 MB/s; W: 1,700 MB/s
- SATA – All four SATA drives detected. iozone test on EXT-4 partition: 138MB/s reads, 142 MB/s writes (OK for this drive)
- HDMI
- Video Output
- HDMI 1 – OK. Test at 1920×1080 resolution
- HDMI 2 – OK. Test at 1920×1080 resolution
- Dual display – OK; 2x 1920×1080
- Audio Output – OK. Tested with YouTube video
- Input – HDMI input not tested (not documented).
- Video Output
- Audio jack
- Output – OK. Tested with YouTube video
- Input – Not Tested, but it shows up as “Analog Input (Build-in Audio Stereo) in the Settings.
- Networking
- Ethernet #1 (Left) – OK – iperf3 results: Full duplex: 2.35 Gbps/2.32 Gbps
- Ethernet #2 (Right) – OK – iperf3 results: Full duplex: 2.34 Gbps/2.34 Gbps
- WiFi 6 – OK. iperf3 results: DL: 752 Mbps; UL: 771 Mbps.
- Bluetooth – OK. Tested with Bluetooth audio through speakers connected to the audio jack.
- USB
- 2x USB 2.0 ports: OK – Tested with RF dongles for keyboard and mouse
- 4x USB 3.0 ports: OK – Tested with ORICO NVMe SSD enclosure. Link speed: 5 Gbps
- “Full-feature” USB Type-C port – OK
- ORICO enclosure works. Link speed: 5 Gbps
- Powers and drives CrowView USB-C display
- USB 3.0 port on top of the case – Not connected because ROCK 5 ITX back a USB 3.0 internal connector.
- Misc
- Power button – OK. The board will first start automatically when applying power. Pressing the power button once will bring up the power off/reboot/log-out pop-up. Once the system is turned off, pressing the button again for a few seconds will power on the system.
- LED on chassis – OK; orange when off and some green LEDs appear when turning the system on.
The ROCK 5 ITX motherboard is also much more responsive than the Jupiter RISC-V motherboard. The RK3588 system works well as a headless system, but there’s still some work as a desktop system with Chromium crashing frequently, YouTube video playback only working (quite of) at 480p60, and 3D graphics acceleration having issues. I had plans to install OpenMediaVault on Debian for testing the NAS function, but I’ll have to skip since I’ve run out of time for this review, and close to 15 other items are still patiently waiting for review…
Here’s some of the data for the list of features tested above.
glmark2-es2 results and graphics artifacts. A reboot is needed to recover.
Storage test results.
SSD:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
radxa@rock-5-itx:~$ sudo iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 4 137610 186384 90829 91784 42445 183111 1024000 16 391757 497495 101608 101606 137455 472920 1024000 512 1046439 1103781 729973 730769 730138 1079765 1024000 1024 1177868 1225333 959493 960160 959647 1195246 1024000 16384 1463601 1480959 1456259 1459288 1459636 1461711 iozone test complete. |
SATA drive:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
radxa@rock-5-itx:/media/radxa/NEWHOPE1$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 13164 12817 25967 27042 102400 16 41136 44314 76226 78972 102400 512 141831 141934 141960 147536 102400 1024 139758 141957 139028 143590 102400 16384 142190 141647 138969 144343 iozone test complete. |
Networking test results with iperf3.
Full duplex 2.5GbE (left port):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
radxa@rock-5-itx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 --bidir Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.182 port 45338 connected to 192.168.31.12 port 5201 [ 7] local 192.168.31.182 port 45340 connected to 192.168.31.12 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-10.00 sec 2.73 GBytes 2.35 Gbits/sec 0 919 KBytes [ 7][RX-C] 0.00-10.00 sec 2.55 GBytes 2.19 Gbits/sec [ 5][TX-C] 10.00-20.00 sec 2.73 GBytes 2.35 Gbits/sec 0 1.32 MBytes [ 7][RX-C] 10.00-20.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5][TX-C] 20.00-30.00 sec 2.73 GBytes 2.35 Gbits/sec 0 1.32 MBytes [ 7][RX-C] 20.00-30.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5][TX-C] 30.00-40.00 sec 2.73 GBytes 2.35 Gbits/sec 0 1.97 MBytes [ 7][RX-C] 30.00-40.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5][TX-C] 40.00-50.00 sec 2.73 GBytes 2.35 Gbits/sec 0 1.97 MBytes [ 7][RX-C] 40.00-50.00 sec 2.73 GBytes 2.35 Gbits/sec [ 5][TX-C] 50.00-60.00 sec 2.73 GBytes 2.35 Gbits/sec 0 1.97 MBytes [ 7][RX-C] 50.00-60.00 sec 2.73 GBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 16.4 GBytes 2.35 Gbits/sec 0 sender [ 5][TX-C] 0.00-60.01 sec 16.4 GBytes 2.35 Gbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 16.2 GBytes 2.32 Gbits/sec 2 sender [ 7][RX-C] 0.00-60.01 sec 16.2 GBytes 2.32 Gbits/sec receiver iperf Done. |
WiFi 6
- Upload:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
radxa@rock-5-itx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.150 port 51248 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 906 MBytes 760 Mbits/sec 0 3.03 MBytes [ 5] 10.00-20.00 sec 919 MBytes 771 Mbits/sec 0 3.03 MBytes [ 5] 20.00-30.00 sec 926 MBytes 777 Mbits/sec 0 3.03 MBytes [ 5] 30.00-40.00 sec 922 MBytes 774 Mbits/sec 0 3.03 MBytes [ 5] 40.00-50.00 sec 916 MBytes 769 Mbits/sec 0 3.03 MBytes [ 5] 50.00-60.00 sec 925 MBytes 776 Mbits/sec 0 3.03 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 5.39 GBytes 771 Mbits/sec 0 sender [ 5] 0.00-60.00 sec 5.38 GBytes 771 Mbits/sec receiver iperf Done. |
- Download:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
radxa@rock-5-itx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.31.150 port 51252 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 895 MBytes 751 Mbits/sec [ 5] 10.00-20.00 sec 901 MBytes 756 Mbits/sec [ 5] 20.00-30.00 sec 895 MBytes 750 Mbits/sec [ 5] 30.00-40.00 sec 895 MBytes 751 Mbits/sec [ 5] 40.00-50.00 sec 893 MBytes 749 Mbits/sec [ 5] 50.00-60.00 sec 894 MBytes 750 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 5.25 GBytes 752 Mbits/sec 0 sender [ 5] 0.00-60.00 sec 5.25 GBytes 751 Mbits/sec receiver iperf Done. |
ROCK 5 ITX benchmarks
Rockchip RK3588/RK3588S is a well-known processor and we have tested several platforms already including ROCK 5B SBC, Mixtile Core 3588E SoM, NanoPi R6S, and others. So I won’t run many benchmarks, and besides the ones above, I only selected one extra: sbc-bench.sh.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
radxa@rock-5-itx:~$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.67 Installing needed tools: apt-get -f -qq -y install build-essential sysstat lshw links mmc-utils smartmontools stress-ng p7zip. Something went wrong: apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct! perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_TIME = "en_GB.UTF-8", LC_MONETARY = "en_GB.UTF-8", LC_CTYPE = "en_US.UTF-8", LC_ADDRESS = "en_GB.UTF-8", LC_TELEPHONE = "en_GB.UTF-8", LC_NAME = "en_GB.UTF-8", LC_MEASUREMENT = "en_GB.UTF-8", LC_IDENTIFICATION = "en_GB.UTF-8", LC_PAPER = "en_GB.UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Trying to continue, tinymembench, ramlat, mhz, cpufetch, cpuminer. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (20 minutes elapsed). Results validation: * Advertised vs. measured max CPU clockspeed: -6.0% before, -6.2% after -> https://tinyurl.com/32w9rr94 * No swapping * Background activity (%system) OK * No throttling Full results uploaded to https://0x0.st/X45F.bin # Radxa ROCK 5 ITX Tested with sbc-bench v0.9.67 on Sun, 18 Aug 2024 07:41:36 +0000. Full info: [https://0x0.st/X45F.bin](http://0x0.st/X45F.bin) ### General information: Information courtesy of cpufetch: SoC: Rockchip RK3588 Technology: 8nm CPU 1: Microarchitecture: Cortex-A55 Max Frequency: 1.800 GHz Cores: 4 cores Features: NEON,SHA1,SHA2,AES,CRC32 CPU 2: Microarchitecture: Cortex-A76 Max Frequency: 2.400 GHz Cores: 4 cores Features: NEON,SHA1,SHA2,AES,CRC32 The CPU features 3 clusters consisting of 2 different core types: Rockchip RK3588 (35881000 / 35 88 12 fe 21 41 32 4e 32 4e 00 00 00 00), Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 408 1800 Cortex-A55 / r2p0 1 0 0 408 1800 Cortex-A55 / r2p0 2 0 0 408 1800 Cortex-A55 / r2p0 3 0 0 408 1800 Cortex-A55 / r2p0 4 1 4 408 2400 Cortex-A76 / r4p0 5 1 4 408 2400 Cortex-A76 / r4p0 6 2 6 408 2400 Cortex-A76 / r4p0 7 2 6 408 2400 Cortex-A76 / r4p0 15975 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: ondemand / 1800 MHz (ondemand performance schedutil / 408 600 816 1008 1200 1416 1608 1800) cpufreq-policy4: ondemand / 600 MHz (ondemand performance schedutil / 408 600 816 1008 1200 1416 1608 1800 2016 2208 2400) cpufreq-policy6: ondemand / 2400 MHz (ondemand performance schedutil / 408 600 816 1008 1200 1416 1608 1800 2016 2208 2400) dmc: dmc_ondemand / 534 MHz (powersave performance rknpu_ondemand dmc_ondemand simple_ondemand / 534 1320 2400) fb000000.gpu: simple_ondemand / 300 MHz (powersave performance rknpu_ondemand dmc_ondemand simple_ondemand / 300 400 500 600 700 800 900 1000) fdab0000.npu: rknpu_ondemand / 1000 MHz (powersave performance rknpu_ondemand dmc_ondemand simple_ondemand / 300 400 500 600 700 800 900 1000) Tuned governor settings: cpufreq-policy0: performance / 1800 MHz cpufreq-policy4: performance / 2400 MHz cpufreq-policy6: performance / 2400 MHz dmc: performance / 2400 MHz fb000000.gpu: performance / 1000 MHz fdab0000.npu: performance / 1000 MHz Status of performance related policies found below /sys: /sys/devices/platform/fb000000.gpu/power_policy: [coarse_demand] always_on /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 40.7°C: cpu0-cpu3 (Cortex-A55): OPP: 1800, Measured: 1798 cpu4-cpu5 (Cortex-A76): OPP: 2400, Measured: 2257 (-6.0%) cpu6-cpu7 (Cortex-A76): OPP: 2400, Measured: 2263 (-5.7%) After at 50.8°C: cpu0-cpu3 (Cortex-A55): OPP: 1800, Measured: 1794 cpu4-cpu5 (Cortex-A76): OPP: 2400, Measured: 2251 (-6.2%) cpu6-cpu7 (Cortex-A76): OPP: 2400, Measured: 2258 (-5.9%) ### Performance baseline * cpu0 (Cortex-A55): memcpy: 6548.8 MB/s, memchr: 3256.2 MB/s, memset: 21851.7 MB/s * cpu4 (Cortex-A76): memcpy: 12540.4 MB/s, memchr: 14846.9 MB/s, memset: 27597.5 MB/s * cpu6 (Cortex-A76): memcpy: 12568.7 MB/s, memchr: 14871.4 MB/s, memset: 27587.5 MB/s * cpu0 (Cortex-A55) 16M latency: 135.6 136.6 133.1 136.2 130.6 137.2 212.7 370.1 * cpu4 (Cortex-A76) 16M latency: 143.6 129.6 133.1 123.8 133.3 133.1 132.9 136.4 * cpu6 (Cortex-A76) 16M latency: 143.6 127.7 133.1 126.0 134.0 123.5 125.0 129.3 * cpu0 (Cortex-A55) 128M latency: 159.0 160.5 158.7 160.4 158.3 160.4 235.3 405.7 * cpu4 (Cortex-A76) 128M latency: 153.2 151.6 152.3 151.5 152.5 151.4 153.3 153.6 * cpu6 (Cortex-A76) 128M latency: 152.5 152.2 151.8 151.9 152.0 150.6 152.0 155.5 * 7-zip MIPS (3 consecutive runs): 15706, 15832, 15810 (15780 avg), single-threaded: 2972 * `aes-256-cbc 151009.39k 390823.23k 654746.11k 787768.66k 837596.50k 841487.70k (Cortex-A55)` * `aes-256-cbc 573493.22k 991763.43k 1199056.90k 1258775.21k 1283358.72k 1285870.93k (Cortex-A76)` * `aes-256-cbc 576736.93k 996071.66k 1202017.45k 1262136.66k 1286837.59k 1289459.03k (Cortex-A76)` ### PCIe and storage devices: * ASMedia ASM1164 Serial ATA AHCI: Speed 8GT/s (ok), Width x2 (ok), driver in use: ahci, ASPM Disabled * Realtek RTL8852BE PCIe 802.11ax Wireless Network: Speed 2.5GT/s (ok), Width x1 (ok), driver in use: rtw89_8852be, ASPM Disabled * Realtek RTL8125 2.5GbE: Speed 5GT/s (ok), Width x1 (ok), driver in use: r8125, ASPM Disabled * Realtek RTL8125 2.5GbE: Speed 5GT/s (ok), Width x1 (ok), driver in use: r8125, ASPM Disabled * 476.9GB "PCIe SSD" SSD as /dev/nvme0: Speed 8GT/s (ok), Width x2 (downgraded), 0% worn out, drive temp: 43°C, ASPM Disabled * 931.5GB "Toshiba TOSHIBA HDWL110" HDD as /dev/sda: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s), unhealthy drive temp: 46°C * 3.6TB "Hitachi/HGST Hitachi HUS724040ALE641" HDD as /dev/sdb: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s), unhealthy drive temp: 53°C * 931.5GB "Toshiba TOSHIBA MQ01ABD100" HDD as /dev/sdc: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s), drive temp: 45°C * 931.5GB "Seagate ST1000DM003-1CH162" HDD as /dev/sdd: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s), unhealthy drive temp: 50°C * 7.3GB "Samsung 8GTF4R" HS400 Enhanced strobe eMMC 5.1 card as /dev/mmcblk0: date 04/2023, manfid/oemid: 0x000015/0x0100, hw/fw rev: 0x0/0x0600000000000000 * 16MB SPI NOR flash, drivers in use: spi-nor/rockchip-sfc "smartctl -x /dev/sda ; smartctl -x /dev/sdb ; smartctl -x /dev/sdd" could be used to get further information about the reported issues. ### Challenging filesystems: The following partitions are NTFS: sda3 -> https://tinyurl.com/mv7wvzct ### Swap configuration: * /dev/zram0: 7.8G (0K used, zstd, 8 streams, 4K data, 58B compressed, 4K total) ### Software versions: * Debian GNU/Linux 11 (bullseye) * Build scripts: Radxa rbuild 56efd38986b069455ec7cb0ea7af1f959a82810f, --timestamp=b6 --compress --native-build --shrink rock-5-itx bullseye kde, u-boot-rknext 2017.09-29-be2c5d5, 06 Jun 2024 * Compiler: /usr/bin/gcc (Debian 10.2.1-6) 10.2.1 20210110 / aarch64-linux-gnu * OpenSSL 1.1.1w, built on 11 Sep 2023 * Boot environment: ddr-v1.16-9fffbe1e78, bl31-v1.45, uboot-17.09-29-b-06/06/2024 ### Kernel info: * `/proc/cmdline: root=UUID=9e383de3-7e73-4dcb-9e46-a69852973fc3 console=ttyFIQ0,1500000n8 quiet splash loglevel=4 rw earlycon consoleblank=0 console=tty1 coherent_pool=2M irqchip.gicv3_pseudo_nmi=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 androidboot.fwver=ddr-v1.16-9fffbe1e78,bl31-v1.45,uboot-17.09-29-b-06/06/2024` * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Vulnerability Spectre v2: Mitigation; CSV2, BHB * Kernel 5.10.110-37-rockchip / CONFIG_HZ=300 Kernel 5.10.110 is not latest 5.10.223 LTS that was released on 2024-07-27. See https://endoflife.date/linux for details. It is somewhat likely that a lot of exploitable vulnerabilities exist for this kernel as well as many unfixed bugs. But this version string doesn't matter since this is not an official LTS Linux from kernel.org. This device runs a Rockchip vendor/BSP kernel. This kernel is based on a mixture of Android GKI and other sources. Also some community attempts to do version string cosmetics might have happened, see https://tinyurl.com/2p8fuubd for example. To examine how far away this 5.10.110 is from an official LTS of same version someone would have to reapply Rockchip's thousands of patches to a clean 5.10.110 LTS. All known settings adjusted for performance. Device now ready for benchmarking. Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap and too high background activity all potentially invalidating benchmark scores. All changes with storage and PCIe devices as well as suspicious dmesg contents will be reported too. Time cpu0/cpu4/cpu6 load %cpu %sys %usr %nice %io %irq Temp DC(V) 07:41:37: 1800/2400/2400MHz 4.87 16% 0% 15% 0% 0% 0% 43.5°C 12.32 07:42:37: 1800/2400/2400MHz 1.82 0% 0% 0% 0% 0% 0% 41.6°C 12.32 |
Note that while I usually test devices indoors with an ambient temperature of around 28C, I tested the ROCK 5 ITX in the Augira case outdoors (shadow) with an ambient temperature of about 35°C. Yet, the utility reported no thermal throttling and the maximum CPU temperature topped at 51.8°C so the fansink is more than adequate.
The frequency reported by Linux (2400 MHz) for the Cortex-A76 cores was higher than the actual frequency (around 2260 MHz), but this should be due to the PVTM implementation by Rockchip that optimizes the frequency for a given processor. SBC-Bench also complains about high temperatures for three of the four SATA drives, but that’s because the fans are not connected. It should be possible to hack something after finding out the pinout for the fans.
memcpy was 10457.5 MB/s on the Cortex-A76 cores on the ROCK 5B (LPDDR4x), and 12540.4 MB/s for the ROCK 5 ITX (LPDDR5), so switching to LPDDR5 does have benefits when it comes to bandwidth. Some reported than the bandwidth was lower on the ROCK 5 ITX due to the RK3588 ddr init code being (over-)optimized for stability, but this seems to be fixed at least according to the memcy test.
7-zip averages 15,780 MIPS on the ROCK 5 ITX against around 16,243 MIPS on the ROCK 5B, but this looks to be due to the lower CPU frequency on the Rockchip RK3588’s on my board (2,257 MHz vs 2,304 MHz). If I adjust the score for the difference in CPU frequency, the ROCK 5 ITX would have delivered around 16,108 MIPS.
Power consumption
I measured the power consumption with the four SATA drives, two RF dongles, HDMI cable, and WiFi 6:
- Power off – 8.0 – 8.1 Watts
- Idle – 27.6 – 27.9 Watts
Conclusion
Building an Arm computer and NAS with the ROCK 5 ITX was a fun experience. At this stage, it works better than the Jupiter RISC-V motherboard with an 8-core SpacemIT M1 64-bit RISC-V SoC both in terms of features and performance. But it’s not ready to be used as a daily driver in desktop mode, as Chromium will often crash, YouTube only works reasonably well at 480p60, and 3D graphics acceleration is not reliable.
What it can be used for right now is as a DIY NAS. Network throughput is excellent (both 2.5GbE and the WiFi 6 module I tested), NVMe SSD (PCIe Gen3 x2) storage delivers good performance, and you can build a NAS with up to 88TB storage thanks to the four SATA ports.
I’d like to thank Radxa for sending the ROCK 5 ITX mini-ITX motherboard with Rockchip RK3588 SoC and 16GB LPDDR5 memory, as well as the Auriga 6-bay NAS chassis. The Radxa ROCK 5 ITX motherboard with 16GB sells for about $160, but it’s out of stock on Amazon, AliExpress, Arace, and AllNetChina right now… The Auriga chassis goes for about $100 on Aliexpress, and the 350W MSI PAG A350 PSU used in this review for about $70 on Aliexpress.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
The Armbian bookworm images are carrying an up-do-date kernel (6.1.75 at the moment) and GPU drivers that likely resolve most if not all the issues you’ve encountered: https://www.armbian.com/radxa-rock-5-itx/ I’m not sure why they’re not listed in the site above but there’s bookworm cinnamon and xfce builds available that can be found under the listed mirrors: mirror-eu-de1.armbian.airframes.io/dl/rock-5-itx/archive/ (Munich mirror; other mirrors: github. com/armbian/mirror ) Admittedly though, my experience with Armbian doesn’t extend to this particular board and SoC. However, from what I’ve seen, Armbian is quite literally the only distro to carry many important and even essential out-of-tree patches and drivers.… Read more »
The Armbian image can be installed from ROOBI directly.
“Ethernet #2 (Right) – OK – iperf3 results: Full duplex: 2.34 Mbps/2.34 Mbps”
I hope you meant Gbps!
This shows just how much further the RK3588 has to go, software wise, 2 years after first release. Another lemon in the making right now.
I would much rather build an N100 or N97 equivalent.
The only positive for me was the cooling.
Thanks for the tests, Jean-Luc. Could you please capture the boot messages from the serial port ? I’d like to see if u-boot configures the RAM at 2400 or 2736 MHz. It’s at 2400 on your Roobi installation SD but I don’t know what was flashed. I’m seeing that you’re running on the 16GB RAM version of the board, I’m on the 8GB one, but that shouldn’t make a difference in speed since only the DRAM controller should have any effect.
Also, do you have the whole sbc-bench output, with tinymembench and ramlat outputs ?
I’ll be able to check the serial port on Saturday because I don’t have access to the system right now. Remind me in case I forgot.
About sbc-bench.sh, I copied the full output of the benchmarks. Maybe you can find the outputs you need in one of the links in the output?
> Remind me in case I forgot. Not sure I’ll think about it 🙂 > copied the full output of the benchmarks. Maybe you can find the outputs you need in one of the links in the output? Guess what ? before asking, I has carefully scanned the article for a link to the data, and even eyed over the output multiple times but couldn’t find it (I did find the tinyurl though). But your comment made me search again even deeper and now I found it: https://0x0.st/X45F.bin . Thank you! I was indeed looking for ramlat/tinymembench outputs to compare… Read more »
I just received this board a few days ago, and had the same issue. Completely black screen on boot, existing UART cable didn’t work due to baud rate requirements. After compiling my own rkdeveloptool binary, I was able to get edk2-rockchip flashed onto the device which gave me something on the UI. I still have yet to see a U-Boot menu appear…Overall, a pretty frustrating experience so far. Also, mainline Linux kernel support is landing in 6.10, so hopefully the situation improves soon.
I ordered one of these after having acceptable results with my Rock 5B and Orange PI 5 Plus boards for what I was doing. While I haven’t set it up yet I’m somewhat concerned about how it’s going to go. That the CPU cooler is sold separately is quite a pain, and while I’m not an expert on the dimensions of mounting holes for CPU coolers it’d be nice if had some stated standard where one could go out and buy an off the shelf cooler for it. According to the specs I’ve read the holes are 84mm apart, while… Read more »
You can use any compatible x86 CPU cooler for it, that’s what I did here. It doesn’t need to be very strong, the CPU doesn’t heat much, I unplugged the fan on mine, while it was an appliance model (very thin), so it doesn’t radiate much but it remains cool enough anyway.
The emmc was empty in m case. Followed the guide and it works fine. In my case under armbian cpu was always at the lowest frequency. Had to manually adjust cpufrfeq policies. Now it is a speedy beast.
Did Armbian switch to a mainline kernel or not ? Last time I tried (6.11-rc-something), it would still hang during boot, and I spent way too much time trying to get mainline to even just boot on it. I will just not switch my server to this beast as long as it relies on the BSP crap.
> Did Armbian switch to a mainline kernel
BSP in 6.1.75 flavour.