1

I have an rpi 3B+ running Raspbian connected to a gigabit switch, and a Debian machine on the same switch. Both systems negotiated a gigabit link to the switch:

$ sudo mii-tool eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

(The output is identical on both systems.)

Nonetheless, an iperf test is unable to exceed 100Mbps throughput even though the 3B+ should be capable of ~330Mbps.

$ iperf3 -c 172.16.1.171
Connecting to host 172.16.1.171, port 5201
[  4] local 172.16.1.21 port 52356 connected to 172.16.1.171 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  12.1 MBytes   102 Mbits/sec    0    151 KBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  93.8 Mbits/sec    0    151 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec    0    151 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    158 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  93.8 Mbits/sec    0    165 KBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0    182 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0    182 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    182 KBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  93.8 Mbits/sec    0    182 KBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0    182 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   113 MBytes  94.9 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   112 MBytes  94.0 Mbits/sec                  receiver

iperf Done.

A test with -R shows comparable results.

The results seem to indicate that at least one link between the pi and my desktop linked at 100Mbps instead of 1000Mbps but I've already verified that this isn't the case. All cabling between the two systems is at least cat5e and some is cat6. Running iperf on other systems attached to the same switch shows results approaching 1Gbps.

Is there something I'm missing? Do I need to do something on the pi to achieve throughput above 100Mbps?

2

Jeff Geerling has published some test results here, and has measured approx. 224 Mbps using iperf. I can't explain why your results don't match his, but a thorough reading of his results may suggest something to you.

Other than cabling issues, two potential limitations could be:

  1. The USB bus is not dedicated to Ethernet: i.e. if you are using the USB for anything other than Ethernet. The USB is the bottleneck for Ethernet speeds.

  2. Temperature: if the RPi gets too hot, it will throttle back on its CPU clock, thereby reducing the speed of everything.

  • Thanks for the suggestions. The only attached USB device is a mouse+keyboard combo. The system is running fairly cool right now and has heatsinks. – cdhowie Apr 11 at 16:12
  • Have you tried reaching out to Jeff Geerling? The page I linked to has a comments section at the bottom. – Seamus Apr 11 at 16:15
  • Not yet. I will do so if I can't figure anything else out. – cdhowie Apr 11 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.