Raspberry Pi 3 B network speeds (USB to Ethernet)

I've successfully installed OpenWRT 22.03.1 on my Pi3 and connected two TP-Link UE300 USB to Ethernet adapters for 1Gbps network speeds (eth1 LAN and eth2 WAN). However, when using the Pi as my router my normal internet speeds of ~200Mbps drop way down to ~50Mbps or less. Any idea what might be causing this?

The Pi4 is a great option as a router, but the Pi3 does not have nearly the same processor capabilities or I/O bandwidth. Your UE300 devices will be limited to a theoretical maximum throughput of 480Mbps (USB 2.0 speeds) since the Pi3 only has USB 2.0 ports, and that is never achieved in reality.

I don't know offhand what the Pi3 can do in terms of raw routing bandwidth, but it also highly depends on any additional packages/functions you are using... for example, SQM is very processor intensive and will kill your overall performance on that device. Are you running anything other than a purely default install (+the drivers for the UE300 and the requisite network config of those)?

1 Like

Since my internet connection is only 200Mbps I figured USB 2.0 should be fast enough. Looking at CPU load averages it shows 0.11, 0.35, 0.39 which doesn't seem that bad. I have seen it go as high as .81 though while performing a speed test.

The only things I've installed are the RTL8152 driver (because I didn't see an RTL8153), DDNS service, and wireguard which is currently disabled.

They say 43MBps in practice. I'm getting 50Mbps (bits, not bytes). That's nowhere close to 344Mbps.

You could install iperf and test the connection between your lan port and a directly connected computer. Iperf isn’t necessarily a representative test, but it may help you see the max speeds that can be achieved if the pi originates or terminates packets.

Connecting to host 10.0.0.1, port 5201
[  4] local 10.0.0.6 port 50278 connected to 10.0.0.1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  10.9 MBytes  91.0 Mbits/sec
[  4]   1.00-2.00   sec  30.2 MBytes   254 Mbits/sec
[  4]   2.00-3.00   sec  30.6 MBytes   257 Mbits/sec
[  4]   3.00-4.00   sec  30.4 MBytes   255 Mbits/sec
[  4]   4.00-5.00   sec  30.4 MBytes   254 Mbits/sec
[  4]   5.00-6.00   sec  30.4 MBytes   256 Mbits/sec
[  4]   6.00-7.00   sec  30.5 MBytes   255 Mbits/sec
[  4]   7.00-8.00   sec  29.6 MBytes   249 Mbits/sec
[  4]   8.00-9.00   sec  30.8 MBytes   258 Mbits/sec
[  4]   9.00-10.00  sec  30.2 MBytes   254 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   284 MBytes   238 Mbits/sec                  sender
[  4]   0.00-10.00  sec   284 MBytes   238 Mbits/sec                  receiver

iperf Done.

So, your max throughput would be ~250Mbps.

I'm thinking that the value above gets cut in half for practical routing purposes because you have two USB adapters and there is only a single USB connection to the CPU (that connects to the built-in 4-port USB hub), so you're dealing with a practical ~125Mbps speed limit.

That said, I'm not sure how fast the Pi3 can route.

If you can take it out of your network, you can do a more scientific tests...
If you create two networks using your 2 USB ethernet adapters (in other words, remove one of them from the wan interface and create another lan type interface complete with a DHCP server). Then, plug a computer into each of these and run iPerf from one computer to the other. That will give you the practical maximum routing speed you can expect to see.

Regarding that hat, there is the following information from the website:

Only Raspberry Pi 4B and Pi 400 support USB 3.2 Gen 1 for the moment, therefore, when working with other previous Raspberry Pi versions, there will be a data rate degradation.

This hat is basically a USB hub + USB ethernet adapter that plugs into the USB bus already provided by the Pi. As such, it won't improve performance for the OP's issue since the Pi3 is limited to USB 2.0. The performance, therefore, would be expected to be the same as the OP is already getting.

2 Likes

Actually, leave it there, but edit with a note to indicate that the high performance can only be achieved with a pi4/400 (or newer devices when they come out). The hat itself may be useful info for some readers.

1 Like

Thanks all. I was afraid there may be performance issues with using a Pi 3. Perhaps this page should be updated to note as much.

Guess I'll have to wait for Pi 4s to become available again (next year?).

Well OK, but I can get a Pi 4 B new off eBay for under $100.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.