What problem am I trying to solve?
Wi-Fi standards have developed and also WAN links are fast and reasonably priced these days. When it comes to throughput testing tools like iperf3 servers, 1 Gigabit Ethernet has become a bottleneck. A Wi-Fi 6E client can now easily generate more than 1 Gbps of traffic, but how do we measure it?
To overcome that issue, I am looking for a reasonably priced portable single-board computer, which can push more than 1 Gbps of traffic. It should be powered via USB-C, battery, or PoE powered, and should be portable to fit in my “just in case I need it” tool bag.
FriendlyElec NanoPi R5S
This little FriendlyElec NanoPi R5S single-board computer (SBC) delivers everything I mentioned above. Let’s have a look.
Dimensions and case
It comes with a well designed aluminium case, which also serves as a heatsink. The whole unit is smaller than the smallest iPhone, slightly thicker obviously. It runs silent. There is no built-in fan whatsoever.
It has two 2.5 Gigabit Ethernet interfaces (LAN1 and LAN2) and one 1 Gigabit Ethernet interface (WAN). Either of the LAN ports delivers 2.3 Gbps of actual useful iperf3 throughput with default 1500-byte MTU and single stream. I used MacBook with OWC 10 Gigabit Ethernet Thunderbolt 3 Adapter and Cisco WS-C3560CX-8XPD switch.
The R5S only draws 4 Watts in idle, and can be powered by any USB-C 5V power source. Your MacBook USB-C charger, iPad/iPhone charger, or USB-C battery pack would do. Alternatively, use a 1 Gigabit Ethernet 5V PoE splitter and PoE power the unit. In my lab with a 2 meter cable, the 1 Gigabit Ethernet PoE splitter actually allowed the R5S auto negotiate stable 2.5 Gbps connection with the switch.
FriedlyElec built and published two operating system SD card images for the R5S – Ubuntu and FriendlyWRT. I tested both, and for my use case FriendlyWRT works best. It has a network-centric and easy to use web UI, has iperf3 preinstalled, and delivers great performance.
Initial setup and tips
R5S ships without any micro SD card, so make sure you have one ready to use. Flash the software image to it using Balena Etcher or similar tool.
Connect the WAN port to a network with existing DHCP server. If you are in the same subnet, simply ping FriendlyWrt.local to get the IP address of the R5S.
Then access the web UI or SSH to the unit, SSH is enabled by default. Change the root password now.
Now, this is important! To achieve maximum throughput, delete the pre-configured bridge interface br0, and configure both multigigabit eth1 (LAN1 port) and eth2 (LAN2 port) as standalone unbridged interfaces. Also, tweak IP address settings to your liking while you are there.
Make iperf3 automatically start by going to System > Startup > Local Startup and add iperf3 -s and hit the Save button.
Change CPU Governor setting to Performance. And CPU Minimum Frequency to the maximum value.
Here is the FriendlyElec documentation and introduction to their FriendlyWRT distribution.
This little single-board computer absolutely deserves its space in my tool bag. For the 2 GB RAM model with case I paid $88 including shipping to the UK. Add a Micro SD card and that’s all you need to get started.
Finally, it you need top performance, don’t care that much about small form factor, and money is no object, the latest Apple M1 Mac Mini can be configured with built-in 10 GbE.
17 thoughts on “Portable and affordable 2.5 Gigabit Ethernet iperf3 Server – FriendlyElec NanoPi R5S”
Which model R5S did you purchase, the 2 GB model or the 4 GB model?
I purchased the 2 GB model. The 4 GB one wasn’t available yet back then.
What can this fo more?
Yes, FreeRADIUS should work just fine:
I would like to be able to run Asterix on this device, is that possible plus RADIUS,
I too would definitely like to be able to run FreeRADIUS on this unit.
Yes and yes:
And I finally read the final verdict paragraph…
I have my eyes on this product to make it my new router since there are very few routers on the market with multiple 2.5 Gbps ethernet ports for an affordable price. I wanted to know if its possible and how I could set the 1 Gbps WAN port as a LAN port and set one of the 2.5 Gbps LAN port as a WAN port. Thank you and great review!
Yes, you should be able to do that. You can configure the ports individually.
Hi have you tried running a m.2 SSD on this? I tried both SATA and NVMe and neither show under “Mount Points” but they work fine under USB. What am I doing wrong?
Which software image file are you using? I downloaded the FriendlyWRT image from Official Images > SD Card Images, Flashed it using Balena and on boot there is no WebUI or SSH enabled. What steps am I missing?
I don’t have my unit yet, so I cannot be sure, but I think you may need to use the integrated HDMI (monitor) and USB (keyboard/mouse) for the install from MicroSD to eMMC. Can you confirm?
I plugged in a Comfast CF-912AC, which is supported. How do I configure it to be an AP?
I finally figured out how to configure the AP (note: the CF-912AC only supports non-DFS channels), but even after attaching the AP interface to the LAN interface, my wireless clients get no IP address.
Hello, as you said, I see 2.37GB with iperf3, which I set eth1 and eth2 independently. However, when I really copy from disks, which I have 2.5gb ethernet on my computer, there must be a problem somewhere below 100 megabytes, but what should I check? Is there an extra setting samba4? Or I have sata disks connected to the USB 3.0 External disk box I use, and at least because it is usb 3.0, I should be able to get over 200 megabytes according to iperf3 results. Could you please share the steps I need to check when you are free to do so? Thanks.
Where is your disk connected to? To the R5S? If so, that might be the bottleneck from IO perspective.
If iperf3 gives you 2.37 Gbps, it clearly isn’t a network issue. It might have something to do with the drive connection, overhead of Samba protocol.