Re: Raspberry Pi 3B+ and pitiful network speeds

From: Denis Ovsienko <denis_at_ovsienko.info>
Date: Tue, 22 Jun 2021 12:37:29 UTC
On Tue, 22 Jun 2021 08:24:02 +1000
MJ <mafsys1234@gmail.com> wrote:

> [  1] 0.00-30.19 sec   310 MBytes  86.0 Mbits/sec
> 
> Now, I could run these very same tests off Devuan if you like? This
> may help disprove any network issues? Although, as I've stated, the
> Devuan version running on the RPI3 consistently gets up to 3 times
> this speed.

Thank you for clarifying the test results Matt. From the numbers it
indeed looks like the TCP throughput never reaches even 100Mb/s. Whilst
the root cause of this might be a driver issue, or a consequence of the
"early access" board USB implementation not working well in FreeBSD, it
would help to eliminate trivial explanations as well.

One such thing that comes to my mind is whilst the FreeBSD RPI end is
displaying 1000Mb/s in ifconfig, it might not represent the actual mode
negotiated between the PHYs, and that the actual mode might be
100Base-TX, possibly even half-duplex. So if you could confirm how the
other end of the link (assuming it works correctly) is seeing the
Ethernet connection and its error counters (frame length, CRC,
collisions), that would improve the sense of where the root cause might
be. Also I wonder if limiting the negotiated mode (or nailing it down
at both ends) to 100Base-TX/full would actually make the link perform
at 100Base-TX level (it is not even there right now).

It might look a far cry, but in my experience any hardware and any
software can malfunction, often in unexpected places. Considering the
classic "swap one component at a time and watch if anything changes"
method you are already using, you might want to run another TCP
throughput test using an external USB Ethernet interface. If that
delivers 300Mb/s (or even steady 100Mb/s), that would be interesting.

Also it might help to plug a fast USB storage into this board and to
run a block device read test with dd to confirm that this specific board
is able to push bytes through USB fast enough when it is running
FreeBSD.

I would unlikely do that myself anytime soon because the only RPI3B+ I
use runs NetBSD and is not available for tests. Most importantly, I am
not a FreeBSD developer, but the developers would likely want to receive
as exact problem statement as possible.

Have a nice day.

-- 
    Denis Ovsienko