Network performance uneven

So fiber internet is coming to my neighborhood soon, and in preparation I’ve decided to turn my 5A into a router as my current router wont be able to handle a gigabit connection.

The 5A now has Dietpi v8.23.3, which runs kernel 5.10.160-legacy-rk35xx.

Both my desktop machine (AMD 3900X) and my 5a are connected to my gigabit switch. They both report that they’re connected to the switch at 1000Mb/s full duplex.

I’m using iperf3 to check the throughput. When I have my desktop as server and my 5A as client (ie the data is being sent from the 5A to the desktop, iperf3 reports a speed of ~940Mbits/sec, ie nearly full wire speed as expected.

When I reverse the direction of the test, from desktop to 5A, it only goes around 340Mbits/sec. And I don’t understand why it’s so much slower.

Anyone else seeing this?

What module are u using in 5A? Also why dont u get some 8dbi antennas for it instead of the stock 2dbi?

AX210NGW WiFi Card WiFi6E 6GHz Tri-Band Network Card Bluetooth 5.3 intel AX210 AX200 Wireless Module for Laptop M.2 NGFF

8dBi IPX IPEX Connector Solder Omni Buletooth Antenna 3dBi IEEE b/g/n WLAN

This doesn’t seem to be about wifi @DarkevilPT.

Well if not then idk

No wifi involved.
[Desktop]----[switch]----[5A]

@dylandn when I get time I will check iperf3 speed but between a raspberry pi 4 and Rock 5A, both connected to the same router. Might be also useful for you to check iperf3 to localhost (the traffic goes through the loopback interface).

Testing through localhost:

My desktop machine:

dylan@rezk ~ $ iperf3 -c localhost -t 10
Connecting to host localhost, port 5201
[ 5] local 127.0.0.1 port 35494 connected to 127.0.0.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 10.9 GBytes 93.3 Gbits/sec 0 1.31 MBytes
[ 5] 1.00-2.00 sec 10.9 GBytes 93.7 Gbits/sec 0 1.94 MBytes
[ 5] 2.00-3.00 sec 10.9 GBytes 93.9 Gbits/sec 0 2.81 MBytes
[ 5] 3.00-4.00 sec 10.6 GBytes 91.3 Gbits/sec 0 3.43 MBytes
[ 5] 4.00-5.00 sec 10.3 GBytes 88.3 Gbits/sec 0 5.62 MBytes
[ 5] 5.00-6.00 sec 9.99 GBytes 85.8 Gbits/sec 2 6.49 MBytes
[ 5] 6.00-7.00 sec 10.1 GBytes 87.1 Gbits/sec 20 6.74 MBytes
[ 5] 7.00-8.00 sec 10.8 GBytes 93.2 Gbits/sec 34 6.87 MBytes
[ 5] 8.00-9.00 sec 10.2 GBytes 87.8 Gbits/sec 4 6.99 MBytes
[ 5] 9.00-10.00 sec 8.04 GBytes 69.1 Gbits/sec 4 6.99 MBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 103 GBytes 88.3 Gbits/sec 64 sender
[ 5] 0.00-10.00 sec 2.00 GBytes 1.72 Gbits/sec receiver

iperf Done.
dylan@rezk ~ $ iperf3 -c localhost -t 10 -R
Connecting to host localhost, port 5201
Reverse mode, remote host localhost is sending
[ 5] local 127.0.0.1 port 40274 connected to 127.0.0.1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 5.96 GBytes 51.2 Gbits/sec
[ 5] 1.00-2.00 sec 6.87 GBytes 59.1 Gbits/sec
[ 5] 2.00-3.00 sec 6.85 GBytes 58.9 Gbits/sec
[ 5] 3.00-4.00 sec 5.60 GBytes 48.1 Gbits/sec
[ 5] 4.00-5.00 sec 6.52 GBytes 56.0 Gbits/sec
[ 5] 5.00-6.00 sec 4.49 GBytes 38.6 Gbits/sec
[ 5] 6.00-7.00 sec 8.40 GBytes 72.2 Gbits/sec
[ 5] 7.00-8.00 sec 7.93 GBytes 68.1 Gbits/sec
[ 5] 8.00-9.00 sec 8.66 GBytes 74.4 Gbits/sec
[ 5] 9.00-10.00 sec 9.10 GBytes 78.1 Gbits/sec


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.00 GBytes 1.72 Gbits/sec 18 sender
[ 5] 0.00-10.00 sec 70.4 GBytes 60.5 Gbits/sec receiver

iperf Done.
dylan@rezk ~ $

The 5A:

root@DietPi:~# iperf3 -c localhost -t 10
Connecting to host localhost, port 5201
[ 5] local ::1 port 49832 connected to ::1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 2.94 GBytes 25.3 Gbits/sec 0 1.50 MBytes
[ 5] 1.00-2.00 sec 3.88 GBytes 33.3 Gbits/sec 0 1.50 MBytes
[ 5] 2.00-3.00 sec 3.89 GBytes 33.4 Gbits/sec 0 1.50 MBytes
[ 5] 3.00-4.00 sec 3.88 GBytes 33.3 Gbits/sec 0 1.50 MBytes
[ 5] 4.00-5.00 sec 3.84 GBytes 33.0 Gbits/sec 0 1.50 MBytes
[ 5] 5.00-6.00 sec 4.00 GBytes 34.4 Gbits/sec 0 1.50 MBytes
[ 5] 6.00-7.00 sec 3.84 GBytes 33.0 Gbits/sec 0 1.50 MBytes
[ 5] 7.00-8.00 sec 4.77 GBytes 40.9 Gbits/sec 0 1.50 MBytes
[ 5] 8.00-9.00 sec 4.99 GBytes 42.9 Gbits/sec 0 1.50 MBytes
[ 5] 9.00-10.00 sec 4.99 GBytes 42.8 Gbits/sec 0 1.50 MBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 41.0 GBytes 35.2 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 41.0 GBytes 35.2 Gbits/sec receiver

iperf Done.
root@DietPi:~# iperf3 -c localhost -t 10 -R
Connecting to host localhost, port 5201
Reverse mode, remote host localhost is sending
[ 5] local ::1 port 55230 connected to ::1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 4.29 GBytes 36.9 Gbits/sec
[ 5] 1.00-2.00 sec 5.14 GBytes 44.2 Gbits/sec
[ 5] 2.00-3.00 sec 5.13 GBytes 44.1 Gbits/sec
[ 5] 3.00-4.00 sec 5.14 GBytes 44.1 Gbits/sec
[ 5] 4.00-5.00 sec 5.14 GBytes 44.1 Gbits/sec
[ 5] 5.00-6.00 sec 5.13 GBytes 44.0 Gbits/sec
[ 5] 6.00-7.00 sec 5.13 GBytes 44.1 Gbits/sec
[ 5] 7.00-8.00 sec 5.13 GBytes 44.1 Gbits/sec
[ 5] 8.00-9.00 sec 5.12 GBytes 44.0 Gbits/sec
[ 5] 9.00-10.00 sec 5.13 GBytes 44.1 Gbits/sec


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 50.5 GBytes 43.4 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 50.5 GBytes 43.4 Gbits/sec receiver

iperf Done.
root@DietPi:~#

It’s strange how reversing the direction changes the speed, even on localhost.

1 Like

I just received my new 2.5Gbps m.2 E key ethernet adapter, worked on first try with the 5A, but it too shows 940Mbps up and 340Mbps down speeds.