Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 May 2026 23:33:48 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-arm@freebsd.org
Subject:   Re: about usb3 <> ethernet adapters for raspberry pi 5
Message-ID:  <f9ae8a6a-60a5-4f75-833c-c98403fb13b9@yahoo.com>
In-Reply-To: <ahCTmhemuTowj-MD@int21h>

index | next in thread | previous in thread | raw e-mail

On 5/22/26 10:34, void wrote:
> Hi,
> 
> As subject: 1. what works?
>             2. what's the throughput like as measured with iperf/iperf3 ?
> thanks,

>From an 2025-Dec-23 message of mine for systems that were likely running
a official pkgbase GENERIC-NODEBUG kernel (main) and, likely, the
official pkgbase world (which is always debug for official pkgbase
main). The alternate non-debug world would have been via a chroot use.
My use of the debug kernel variant is rare.

I have access to several of the dongles at the same revision. (See
later.) Also: both systems involved were using this type of dongle. The
other system was an amd64 7950X3D. At the time, as far as I knew, the
FreeBSD OS did not support the built-in ethernet in the 7950X3D system.

QUOTE
Instead of the built=in Ethernet for the Windows Dev Kit
2023, use of the dongle on a RPi5:
. . .

# usbconfig -l -d ugen0.2
ugen0.2: <RTL8153 Gigabit Ethernet Adapter Realtek Semiconductor Corp.>
at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (72mA)

# iperf3 -c 192.168.1.195 --get-server-output
Connecting to host 192.168.1.195, port 5201
[  5] local 192.168.1.161 port 25933 connected to 192.168.1.195 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   112 MBytes   942 Mbits/sec    8    470 KBytes

[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec    0    487 KBytes

[  5]   2.00-3.06   sec   119 MBytes   939 Mbits/sec    9    488 KBytes

[  5]   3.06-4.06   sec   112 MBytes   940 Mbits/sec    9    486 KBytes

[  5]   4.06-5.00   sec   106 MBytes   941 Mbits/sec    0    488 KBytes

[  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec   10    486 KBytes

[  5]   6.00-7.04   sec   116 MBytes   938 Mbits/sec    7    486 KBytes

[  5]   7.04-8.00   sec   108 MBytes   941 Mbits/sec    0    488 KBytes

[  5]   8.00-9.00   sec   112 MBytes   940 Mbits/sec    7    486 KBytes

[  5]   9.00-10.03  sec   115 MBytes   941 Mbits/sec    0    486 KBytes

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.03  sec  1.10 GBytes   940 Mbits/sec   50            sender
[  5]   0.00-10.03  sec  1.10 GBytes   940 Mbits/sec
receiver

Server output:
-----------------------------------------------------------
Server listening on 5201 (test #3)
-----------------------------------------------------------
Accepted connection from 192.168.1.161, port 49403
[  5] local 192.168.1.195 port 5201 connected to 192.168.1.161 port 25933
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.06   sec   119 MBytes   937 Mbits/sec
[  5]   1.06-2.06   sec   112 MBytes   941 Mbits/sec
[  5]   2.06-3.06   sec   112 MBytes   939 Mbits/sec
[  5]   3.06-4.06   sec   112 MBytes   939 Mbits/sec
[  5]   4.06-5.00   sec   106 MBytes   941 Mbits/sec
[  5]   5.00-6.06   sec   119 MBytes   938 Mbits/sec
[  5]   6.06-7.06   sec   112 MBytes   940 Mbits/sec
[  5]   7.06-8.06   sec   112 MBytes   941 Mbits/sec
[  5]   8.06-9.05   sec   112 MBytes   939 Mbits/sec
[  5]   9.05-10.03  sec   110 MBytes   941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.03  sec  1.10 GBytes   940 Mbits/sec
receiver


iperf Done.

# iperf3 -R -c 192.168.1.195 --get-server-output
Connecting to host 192.168.1.195, port 5201
Reverse mode, remote host 192.168.1.195 is sending
[  5] local 192.168.1.161 port 37464 connected to 192.168.1.195 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.06   sec   119 MBytes   941 Mbits/sec
[  5]   1.06-2.06   sec   112 MBytes   941 Mbits/sec
[  5]   2.06-3.03   sec   109 MBytes   942 Mbits/sec
[  5]   3.03-4.01   sec   109 MBytes   941 Mbits/sec
[  5]   4.01-5.02   sec   114 MBytes   941 Mbits/sec
[  5]   5.02-6.00   sec   110 MBytes   941 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   942 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   942 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   942 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   942 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0            sender
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec
receiver

Server output:
-----------------------------------------------------------
Server listening on 5201 (test #4)
-----------------------------------------------------------
Accepted connection from 192.168.1.161, port 16691
[  5] local 192.168.1.195 port 5201 connected to 192.168.1.161 port 37464
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.06   sec   120 MBytes   948 Mbits/sec    0    730 KBytes

[  5]   1.06-2.06   sec   112 MBytes   941 Mbits/sec    0    730 KBytes

[  5]   2.06-3.06   sec   112 MBytes   941 Mbits/sec    0    732 KBytes

[  5]   3.06-4.06   sec   112 MBytes   942 Mbits/sec    0    732 KBytes

[  5]   4.06-5.06   sec   112 MBytes   941 Mbits/sec    0    732 KBytes

[  5]   5.06-6.03   sec   109 MBytes   941 Mbits/sec    0    732 KBytes

[  5]   6.03-7.04   sec   113 MBytes   941 Mbits/sec    0    732 KBytes

[  5]   7.04-8.04   sec   112 MBytes   941 Mbits/sec    0    732 KBytes

[  5]   8.04-9.06   sec   115 MBytes   942 Mbits/sec    0    732 KBytes

[  5]   9.06-10.00  sec   106 MBytes   941 Mbits/sec    0    732 KBytes

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0            sender


iperf Done.


I'll note that the RPi5 is booted via a draft EDK2 version
via UEFI/ACPI . The draft does not publish the built-in
Ethernet.
END QUOTE

cfg=1 was under 24 MBytes/sec one direction and under 12 MBytes/sec in
the other direction. I'll not bother with the detailed results here.

The tests were for helping with example information for someone else to
make the decision on if the default cfg value should be updated or not.

It turned out that different revisions behave very differently and the
prior cfg change that had been committed messed up the operation of
the rev I have access to. In the end, the original default cfg (0) was
restored and the other rev 0x31fd got a rev-specific Quirk for Realtek
RTL8153 to use UQ_CFG_INDEX_1 so if_cdce claims rev 0x31fd instead of
if_ure:

-	USB_QUIRK(REALTEK, RTL8153, UQ_CFG_INDEX_1),
+	USB_QUIRK_REV(REALTEK, RTL8153, 0x31fd, 0x31fd, UQ_CFG_INDEX_1),


The non-0x31fd rev is the type of dongle that I normally use. I do have
at least one other type of dongle around that was historically slower
then the RTL8153 ones I have access to. But, back when the type of my
dongles that I use were speed up (2020-Sep?), I was also a tester for
the effort at that time.


-- 
===
Mark Millard
marklmi at yahoo.com


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f9ae8a6a-60a5-4f75-833c-c98403fb13b9>