Date: Tue, 9 Jun 2026 10:20:47 -0700 From: Mark Millard <marklmi@yahoo.com> To: freebsd-arm@freebsd.org, void <void@f-m.fm> Subject: Re: about usb3 <> ethernet adapters for raspberry pi 5 Message-ID: <1bbba34d-0a7f-4cb0-932a-235b5de3ec65@yahoo.com> In-Reply-To: <f9ae8a6a-60a5-4f75-833c-c98403fb13b9@yahoo.com> References: <ahCTmhemuTowj-MD@int21h> <f9ae8a6a-60a5-4f75-833c-c98403fb13b9@yahoo.com>
index | next in thread | previous in thread | raw e-mail
On 5/22/26 23:33, Mark Millard wrote: > 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. > > FYI: the RTL8153's that I have access to have: bcdDevice = 0x3000 An example showing that revision code: # usbconfig -d ugen0.2 dump_device_desc ugen0.2: <RTL8153 Gigabit Ethernet Adapter Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0210 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x0bda idProduct = 0x8153 bcdDevice = 0x3000 iManufacturer = 0x0001 <Realtek> iProduct = 0x0002 <USB 10/100/1000 LAN> iSerialNumber = 0x0006 <000001> bNumConfigurations = 0x0002 The quirk added to sys/dev/usb/quirk/usb_quirk.c to avoid config 0 was for: 0x31fd Another issue is referenced in: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252165 for some some vintage of RTL8251/RTL8153 that . . . ) is bad used on: Lenovo x1 carbon gen11 but: ) is good used on: x1 carbon gen6 and raspberry pi5 --at least if I interpret the wording correctly. -- === Mark Millard marklmi at yahoo.comhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1bbba34d-0a7f-4cb0-932a-235b5de3ec65>
