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.

*Sorry still waking up, this comment might no be organized the best

Hi,

From what I have read the raspberry pi 3 usb and ethernet ports are shared by one chip, the chip for the Raspberry pi 3 is called "SMSC LAN9514" and the chip for the Rasspbery pi 3 B is "Microchip LAN7515".

The problem you are facing is that raspberry pi 3 usb only has one bus.

As @psherman has pointed out, this (along with the fact that the speed limit in general is slow on this model) is causing your slow internet speeds.

Now I did find a raspberry pi hat with a ethernet port that is supposably compatible with the raspberry pi 3 but it will reduce cpu performance and there was no info online about this being used to setup a router so you should take that into consideration before purchasing.

It also draws power from the usb port it seems so maybe using a alternative power source may help, this is not something I have done, asking others in the raspberry pi community would be the best idea to make sure it does not cause issues to your raspberry pi.

edit: Turns out this will only be beneficial for those who have a newer model, Pi4 for example because of performance requirements.

Here are a few links that will provide you more information about your pi 3 model.

1 Like

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

My apologies @DiskCrasher the hat is not the solution.

@psherman Thank you, I miss understood the device and how it functions; ie thought it would provide him a second ethernet port that would get around the bus issue from using the cpu and a alternative power device would remove the need for it to be connected to the usb ports.

Thank you for the correction and information.

Will be removing the link from my original post.

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

good point :slight_smile:

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?).

The Raspberry Pi 4000 is supported.

Currently can be purchased from an Approved Reseller:

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

Based on the first comment It seemed you where wanting to purchase new at retail price, I guess? anyway yeah if you can find a raspberry pi 4 off ebay for under $100 obviously the way to go.

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