NanoPi R5S router review – Part 1: Unboxing, OpenWrt, and iperf3 benchmarking

FriendlyElec has just launched the NanoPi R5S mini router powered by a Rockchip RK3568 processor, and the company kindly sent me two samples for review. In the first part of the review, I’ll check out the device itself, the internal design, the preinstalled OpenWrt, and run some networking benchmarks with iperf3.

NanoPi R5S unboxing


NanoPi R5S metal case SSD thermal pad

The router comes fully assembled together with a 3M sheet with 6 rubber feet, which, as we’ll see below, are not really necessary.

NanoPi R5S review
A microSD card socket can be found on one of the sides, while the rear panel comes with a USB-C port for power, a WiFi antenna hole (which can also be used to run cables for GPIO. UART console, etc…), two 2.5GbE RJ45 LAN ports, a Gigabit Ethernet WAN port, and HDMI video output.
NanoPi R5S mask key

We’ll find a Mask button for firmware flashing on the other side, and the front panel features four LEDs for “System” and Ethernet ports, as well as two USB 3.0 ports.

NanoPi R5S teardown

There are several reasons you might want to open the device: curiosity, M.2 NVMe SSD installation, soldering an SPI flash, connecting some GPIOs, an RTC battery, or a UART to TTL debug board. So it’s been made relatively easy to open with just four screws that needs to be loosened.

NanoPi R5S unboxing
This will reveal the bottom side of the board with the M.2 Key M socket (I’ve purchased an NVMe SSD, and waiting for delivery), SPI flash footprint (right side), and a Samsung KLM8G1GETF-B041 eMMC 5.1 flash with 8GB capacity.
NanoPi R5S board SPI flash and M.2 socket
We’ll need to loosen four more screws before taking out the board from the enclosure.
NanoPi R5S SBC
Rayson RS512M32LM4 D2BDS is a 2GB LPDDR4X memory chip, and we’ve got the advertised RTL8211F (GbE) and 2x RTL8125BG (2.5GbE) Ethernet chips, plus an RK809 PMIC. We’ll also find the 16-pin SDIO/I2C connector and 2-pin RTC battery connectors on the left, 4-pin SWD and 3-pin UART headers (both unpopulated) on the top right, as well as a GPIO connector and fan header on the bottom right.

metal enclosure acts as CPU heatsink
The Rockchip RK3568 processor is covered with a thermal pad that’s in direct contact with the metal enclosure for optimal cooling.

Test setup with 2.5GbE USB dongle and UP Xtreme i11 mini PC

Regular readers may remember that I had some performance issues with an RTL8156B USB dongle a while ago, but this is now fixed as Realtek sent me another one with RTL8156BG which I tested at 2.34Gbps/2.29Gbps with an iperf3 full duplex test when connected to my laptop and transferring data to/from UP Xtreme i11 mini PC through a TP-Link 2.5GbE switch.

I’ve now reused the same setup but with NanoPi R5S in the middle.

NanoPi R5S router review

The TP-Link switch is only used as a Gigabit Ethernet switch here connecting the WAN port of the NanoPi R5S router to the internet through Xiaomi AX6000 router in case I have to install some packages on the devices. While it makes for a nicer photo to place the R5S on top of the TP-Link switch, both devices are quite hot, and it’s not recommended to do so. I only have short Ethernet cables, but I still managed to move the router on the table for testing.

OpenWrt and iperf3 benchmarking

FriendlyWrt is preinstalled on the router so it works out of the box. It’s also possible to access the LuCI interface or SSH immediately using “root” user and “password” as the password. That’s convenient, but insecure and possibly breaks the law in some countries. In any case, it’s a good idea to at least change the password the first time.

FriendlyWrt Status

FriendlyWrt is based on OpenWrt 22.03.0-rc1 and Linux 5.10.66 kernel. There’s less than about 250MB RAM used at idle using default settings, so that leaves plenty of RAM to play with since the system comes with 2GB RAM.

FriendlyWrt Network

I haven’t connected an SSD yet, so only the root partition is mounted with 920KB used out of the 6.7 GB available. All interfaces acquired IP addresses properly at boot time with DHCP, and the devices on the LAN can also be accessed with <hostname>.lan, and got some IPv6 addresses too.

Let’s start with some iperf3 benchmarking running “iperf3 -s” on NanoPiu R5S and running the following commands on the laptop:

  • Download: (Rx from R5S point-of-view)

  • Upload (Tx from R5S point-of-view):

That’s not quite the 2.35 Gbps and 1.85 Mbps advertised by FriendlyElec, as I only got 1.84 Gbps and 1.12 Gbps in this configuration. There’s also some variations on the Rx side when looking at the 10-second reports. The good news is that there are no retransmissions at all.

Let’s now try the same with the other WAN port on NanoPi R5S, and run the commands from UP Xtreme i11:

  • Download (Rx):

  • Upload (Tx);

Rx looks better here at 2.17 Gbps, but Tx is still fairly slow at 1.12 Gbps.

Let’s see what numbers we have when using both WAN ports at the same time with UP Xtreme i11 running “iperf3 -s” and the laptop the following commands:

That’s a number that could have been expected due to the low Tx numbers we got before. At 1.21 Gbps, it’s still higher than the 1.12 Gbps we got with Tx only. A bit odd.

Let’s that again but in reverse:

1.75 Gbps. I am no idea what’s going on, and how it’s possible.

I’ve also run the test again using full-duplex for 600 seconds to check out CPU, memory, and temperatures as reported in LuCI.

NanoPi R5S CPU load

CPU load was between 2.0 and 2.5.

NanoPi R5S temperature

CPU #0 had relatively low utilization with most of the resources on CPU #1 to #3.

FriendlyWrt CPU usage iperf3

The temperature never exceeded 60°C in a room with a 28°C ambient temperature.

FriendlyWrt Memory Usage

And somehow memory usage did not change at all with almost 1.8GB free.

In case you wonder about the performance during a full-duplex test: 1.66 Gbps and 736 Mbps.

The results are a bit disappointing. I’m now considering switching to FriendlyCore (Ubuntu Core) to check if we get similar results, and perform further testing. I plan to start on Saturday using the second router. If you want me to check some other parts in OpenWrt let me know in the comments section.

Continue reading “NanoPi R5S preview – Part 2: Ubuntu 20.04 (FriendlyCore)“.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus
Notify of
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.
Weller PCB manufacturer