Rock 5B RK3588 SBC preview – What works, what doesn’t in Debian 11

I’ve recently received an early sample of Radxa ROCK5 Model B (aka ROCK 5B) SBC part of the “Developer Edition” batch with 16GB RAM, and already showed the hardware and it booting successfully in Debian 11.

I’ve now spent more time with the board, and as part of the “debug party” tested performance and features in Debian 11. As one would expect, some things work OK, but others still need improvement.

Rock 5B benchmarks

Let’s run some benchmarks on the board to test performance and stability starting with SBC Bench script:


If you look at the full results, you’ll notice the Cortex-A76 cores on my board are only clocked at up to 2,304 MHz, instead of the 2.4GHz advertiser, and we’ve already looked as to why in your post about PTVM. So that just means they are some RK3588 processors may be very slightly faster or slower due to normal differences that occured during manufacturing. It’s quite possible that mass-manufactured boards will all be sold with the OS set to run the processor at up to 2.2 or 2.3 GHz by default. For reference, the CPU temperature reached up to 62.8°C during the benchmark, so the heatsink/fan combo on the developer edition board is doing its job.

Raspberry Pi 4 vs Rock 5B vs Khadas VIM4 vs ODROID-N2+

Rock 5B is clearly ahead of other SBCs when compared to Raspberry Pi 4, Khadas VIM4, and ODROID-N2+, especially when it comes to memory bandwidth, but the four Cortex-A76 and four Cortex-A55 cores from Rockchip RK3588 also help a great deal with 7-zip. AES-256 results shows it does not matter whether a Cortex-A72 or Cortex-A76 CPU is used for this type of workload as it scales with frequency. That’s at least true for processor with Armv8 Crypto extension which are missing on the Broadcom BCM2711 CPU found in the Raspberry Pi board.

An important side note is that I had to run sbc-bench.sh four times before completing the run. That’s because my board is not quite as stable as other beta testers, and it will reboot without warning from time to time. It can happen under load or at idle, and after extensive testing, it does not appear related to the power supply/USB cable, CPU frequency, or overheating. It just happens and there’s no output in the serial console.

I still tried to install Phoronix:


and compare it against UP 4000 (Intel N3350) and Raspberry Pi 4 boards.


Such test would take close to two hours, and my board will not last that long without a reboot, so I only have a few results:


SQLite probably is highly dependent on storage performance, but the Rock 5B board is right there close to the UP 4000.


The RAMSpeed test confirms the really high memory bandwidth we’ve seen with sbc-bench.


The Rockchip RK3588 board is also close to the Intel Celeron N3350 dual-core “Apollo Lake” board in perf-bench…


… but is quite faster in the Go benchmark. That’s the last test I could manage.

For reference, I also tried to limited to maximum frequency of the Cortex-A76 cores using two methods, first to 2.21 GHz:


then 2.02 GHz with the user space governor:


It did not fix my stability issue, but something funny happened:


The Rock 5B is faster at 2.02 GHz with the userspace governor than at 2.21 or 2.3 GHz with the ondemand governor.

Storage testing and benchmarks

I’ve installed iozone3 to first test the 16GB eMMC flash module performance:


That’s 205MB/s sequential read speed and 40 MB/s sequential write speed, and the random read/write values looks to be fairly OK to me.

Now let’s test one of the USB 3.0 Type-A (5Gbps) ports with ORICO USB 3.2 Gen 1 enclosure fitted with an Apacer NVMe SSD capable of up to 1,800 MB/s reads, and 1,100 MB/s writes:


375 MB/s writes, and 320 MB/s reads. For reference, 375MB/s corresponds to 3 Gbps, so even taking USB overhead into account, there should still be some optimizations to boost that further.

Let’s now move the M.2 SSD from the USB enclosure directly to the Rock 5B board. I’ve kept the thermal pad and “heatsink” from the ORICO enclosure.

ROCK 5B NVMe SSD

Oops, the board will not boot anymore with no display output and no networking. So I attached a USB-to-serial debug board and noticed the eMMC flash appeared to be damaged:


Since I don’t have a USB eMMC flash adapter with me, I prepared myself to install Debian 11 (May 1, 2022) on a microSD card, until I found out the eMMC flash module was not firmly in place in its socket. It had become slightly loose when I installed the SSD and pressing on the module fixed the error. We can now run iozone3:


Fantastic! 2.2GB/s that’s ever faster than the theoretical speed of the SSD!!! Those are obviously crazy numbers with caching involved, so let’s try one more time:


It’s gone down a bit, but let’s carry on:


And one last time with a 100GB file that won’t fit into memory:


It’s the same as the last test, so the numbers we’ve got over NVMe/PCIe x4 Gen 3.0 are … about 1401 MB/s sequential read speed, and 650 MB/s sequential write speed.

Rock 5B review Debian 11

I wanted to try microSD card support as well, but sadly, it appears the only microSD card I have with me is physically damaged… So I get a bunch of I/O errors unrelated to Rock 5B, as the card, taken from a Raspberry Pi, will not work on the Pi board either…

Video Output

As we’ve seen in the first part of the review, the HDMI port next to the USB ports works fine, but the HDMI port next to it does not.

ROCK 5B Debian 11

I’ve also tried to connect a MINIX USB Type-C dock to check if DisplayPort alt mode would work, but it did not either. More than that latter though. Debian 11 will only show the display attached to the first HDMI port in all cases.

Networking (WiFi & 2.5GbE)

One key selling point of the Rock 5B SBC is its networking capabilities. It comes a with 2.5GbE port, and supports WiFI 6 M.2 cards.

Let’s try by testing the 2.5GbE port with iperf3 first.

  • Download to Rock 5B:

  • Upload:


2.35 Gbps in both directions, that’s the best we can usually achieve. So let’s be naughty with a full-duplex test:


2.34 Gbps and 2.16 Gbps, so Rock 5B handled 2.5GbE networking is really outstanding.

My board is fitted with a Realtek RTL8852BE-based Fn-Link 6252M-PUB WiFi 6 and Bluetooth 5.2 module, so let’s repeat the test with WiFi 6

  • Download to Rock 5B:

  • Upload:


We’re getting close to Gigabit Ethernet speeds at close to 870 Mbps, but for the download test at least we can see a lot of variability and retries… For reference, the Xiaomi Mi AX6000 router used for testing is placed at around one meter from the board, and a Ubuntu 20.04 laptop connected to a Realtek RTL8156BG 2.5GbE to USB 3.0 dongle can be found on the other side of the connection.

Bluetooth

Since the module is supposed to support Bluetooth too, I planned to test Bluetooth with my phone, but Bluetooth is not enabled by default.

No Bluetooth found

USB on ROCK 5B

We’ve already done some USB testing with in the storage and display sections, but here’s what it looks when USB keyboard and mouse, as well as the MINIX USB-C dock are connected:


We have a bunch of USB 2.0 (480M) and USB 3.0 (5000M) devices as expected, plus slower HID devices that are our mouse and keyboard.

But when I connect the MINIX USB-C dock I get plenty of errors:


and the login screen will never show up on the display, just a blinking underscore on the top left of the screen. If I remove the MINIX USB-C dock, I can boot the board fully again, and Bus 09 and 10 are gone:


I had used Khadas VIM4 board’s 5V/3A power supply, so I decided to switch to a 100W GAN USB-C power adapter just in case the 480GB SSD drew a bit too much power. It boots just fine now, although I have a few errors at boot time:


Those errors do not show continuously like previously. The idle power consumption is 10.1W with the internal 256GB NVMe SSD and USB-C dock with a 480GB SSD. But there are still some issues since the 480GB SSD does not show up at all:


So the USB 2.0/3.0 Type-A ports work fine, but the USB-C port may have some issues.

GPIO testing

Rockchip RK3588 is supposed to have five GPIO banks numbered from GPIO0 to GPIO4, but I can see six in the Debian image:


Radxa provides the pinout and explains how to calculate the GPIO pin numbers in the Wiki.

We can try to pull up and down GPIO4_C6 (pin 27 on the 40-pin header) as follows:


We’re also told the Rock 5B board supports the libmraa GPIO library, but there’s no documentation for that just yet.

GPU 3D acceleration is not enabled in Debian 11

Here’s the full output of glxinfo, and the important part is:


llvmpipe means software rendering. There are some “mali” string in the kernel output though:


So no luck here at this point in time.

VPU (Video Processing Unit)

I could not find any documentation of a tool to play videos using hardware video decoding in Linux, so I haven’t tested it. As a side note, 4K video playback works great in Android 12, except for AV1 where I had issues. As a side note,tThe processor should be powerful enough to play 1080p video using software decoding.

NPU / AI accelerator

The 6.0 TOPS NPU also shows up, but with plenty of errors:


The NPU is not well documented, and the error messages do not look promising, so I have not tested it yet, and once it works it will probably warrant a separate post. Note that the NPU SDK for RK3588, and other newer Rockchip processors such as RK3566/68, is not the same as for RK1808 or RK3399Pro, and can now be found in RKNPU2 repository.

HDMI input on Rock 5B

Sadly, I don’t have a micro HDMI cable with me so I can’t test it in detail, but based on information from Firefly wiki, HDMI input will work in Linux too, and is properly detected in Rock 5B:


and HDMI input audio also shows up:


So it looks promising. Having a full-size HDMI port would have been nice, but I understand space is limited on that type of board.

Power consumption

Some power consumption numbers for reference:

  • Power off with fan – 1.5 Watts
  • Power off without fan – 0.6 Watts
  • Ilde with fan – 5 Watts
  • Idle without fan – 4.2 Watts
  • Stress test on all 8 cores with fan, NVMe SSD connected – 11.3 Watts

The developer edition board is using a dumb fan that uses about almost one watt, but it should be possible to create fanless solutions as demonstrated with Mekotronics R58 mini PC.

Summary

Here’s a summary of what works and what doesn’t in the Debian 11 image that shipped with the board, plus the parts I was unable to test for various reasons.

FeatureRemark
StorageNVME OK with good performance
eMMC flash OK
microSD card (no working microSD, not tested)
Video OutputHDMI (Next to USB ports) - OK
Other HDMI ports and USB-C Displayport Alt mode - Failed
HDMI inputDetected (video and audio) but not tested due to lack of cable
Networking2.5GbE OK with great performance
WiFi 6 OK with up to 870 Mbps, but highly varying throughput
BluetoothNot working/not enabled
USBUSB 2.0 and USB 3.0 Type-A ports - OK
USB Type-C port had issues with a MINIX USB-C dock
GPIO OK, tested with sysfs
GPUSoftware rendering only
VPU (Video Processing Unit)Not tested, as unsure which tools to use for hardware video playback
NPUShows up in kernel, but with plenty of errors
MIPI CSINot tested, no hardware

If you need fast networking and storage, the board is already great, but there are still many parts to work on or provide documentation for. We’ll see how it evolves, and I might also try to investigate why my board randomly (and silently) reboots.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
70 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications