On Dec 23, 2025, at 08:29, Poul-Henning Kamp <[email protected]> wrote:
> --------
> Mark Millard writes:
>
>
>> This means that I'll have to set up and do before vs.
>> after-upgrading-FreeBSD-OS testing for
>> comparison/contrast.
>
> You should be able to do it at runtime with
>
> usbconfig -d X.Y set_config [0|1]
Cool. I rarely do these sorts of activities and have to
refigure out the details each time.
. . . However, the result of:
# usbconfig -d ugen0.11 set_config
on the Windows Dev Kit 2023 was:
Fatal data abort
. . .
panic: vm_fault failed.
So all I have so far for testing is the prior cfg=0
test . . .
The FreeBSD OS here is pkgbase main with the
GENERIC-NODEBUG kernel on each machine.
For the below the "iperf3 -s" was done on a
amd64 7950X3D system using its build-in:
# pciconf -l rge0
rge0@pci0:8:0:0: class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec
device=0x8125 subvendor=0x1043 subdevice=0x87d7
Windows Dev Kit 2023 (so: aarch64) . . .
# usbconfig -l -d ugen0.11
ugen0.11: <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.143 port 50986 connected to 192.168.1.195 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 113 MBytes 945 Mbits/sec 0 488 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec 0 488 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec 0 488 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
[ 5] 6.00-7.00 sec 112 MBytes 941 Mbits/sec 0 488 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
[ 5] 9.00-10.00 sec 112 MBytes 942 Mbits/sec 0 488 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 1.10 GBytes 941 Mbits/sec receiver
Server output:
Accepted connection from 192.168.1.143, port 61091
[ 5] local 192.168.1.195 port 5201 connected to 192.168.1.143 port 50986
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.06 sec 119 MBytes 936 Mbits/sec
[ 5] 1.06-2.06 sec 112 MBytes 942 Mbits/sec
[ 5] 2.06-3.06 sec 112 MBytes 941 Mbits/sec
[ 5] 3.06-4.06 sec 112 MBytes 942 Mbits/sec
[ 5] 4.06-5.06 sec 112 MBytes 942 Mbits/sec
[ 5] 5.06-6.06 sec 112 MBytes 941 Mbits/sec
[ 5] 6.06-7.05 sec 112 MBytes 941 Mbits/sec
[ 5] 7.05-8.06 sec 113 MBytes 942 Mbits/sec
[ 5] 8.06-9.03 sec 109 MBytes 941 Mbits/sec
[ 5] 9.03-10.01 sec 110 MBytes 942 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 1.10 GBytes 941 Mbits/sec receiver
iperf Done.
# iperf3 -R -c 192.168.1.195 --get-server-output
you have mail
Connecting to host 192.168.1.195, port 5201
Reverse mode, remote host 192.168.1.195 is sending
[ 5] local 192.168.1.143 port 17266 connected to 192.168.1.195 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.06 sec 118 MBytes 941 Mbits/sec
[ 5] 1.06-2.04 sec 110 MBytes 942 Mbits/sec
[ 5] 2.04-3.06 sec 115 MBytes 941 Mbits/sec
[ 5] 3.06-4.06 sec 112 MBytes 941 Mbits/sec
[ 5] 4.06-5.06 sec 112 MBytes 942 Mbits/sec
[ 5] 5.06-6.02 sec 108 MBytes 941 Mbits/sec
[ 5] 6.02-7.00 sec 110 MBytes 942 Mbits/sec
[ 5] 7.00-8.06 sec 119 MBytes 941 Mbits/sec
[ 5] 8.06-9.06 sec 112 MBytes 942 Mbits/sec
[ 5] 9.06-10.00 sec 106 MBytes 941 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 #2)
-----------------------------------------------------------
Accepted connection from 192.168.1.143, port 64359
[ 5] local 192.168.1.195 port 5201 connected to 192.168.1.143 port 17266
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.06 sec 120 MBytes 947 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 942 Mbits/sec 0 730 KBytes
[ 5] 3.06-4.05 sec 112 MBytes 941 Mbits/sec 0 730 KBytes
[ 5] 4.05-5.06 sec 113 MBytes 941 Mbits/sec 0 730 KBytes
[ 5] 5.06-6.06 sec 112 MBytes 942 Mbits/sec 0 730 KBytes
[ 5] 6.06-7.03 sec 108 MBytes 941 Mbits/sec 0 730 KBytes
[ 5] 7.03-8.06 sec 116 MBytes 942 Mbits/sec 0 730 KBytes
[ 5] 8.06-9.06 sec 112 MBytes 941 Mbits/sec 0 730 KBytes
[ 5] 9.06-10.00 sec 106 MBytes 941 Mbits/sec 0 730 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 0 sender
For reference for the panic:
#8 0xffff0000005293e0 in vpanic (fmt=<optimized out>, ap=...)
at /usr/src/sys/kern/kern_shutdown.c:962
buf = "vm_fault failed: 0xffff00000074c5dc error 1", '\000' <repeats
212 times>
other_cpus = {__bits = {127, 0 <repeats 15 times>}}
td = 0xffff0000eb228640
newpanic = <optimized out>
bootopt = <optimized out>
#9 0xffff0000005291d0 in panic (
fmt=0x12 <error: Cannot access memory at address 0x12>)
at /usr/src/sys/kern/kern_shutdown.c:887
ap = {__stack = 0xffff00010cfec1a0, __gr_top = 0xffff00010cfec150,
__vr_top = 0xffffa00080cf7700, __gr_offs = -56, __vr_offs = 0}
#10 0xffff00000095ea5c in data_abort (td=<optimized out>,
frame=0xffff00010cfec270, esr=2516582404, far=<optimized out>,
lower=<optimized out>) at /usr/src/sys/arm64/arm64/trap.c:410
sig = 11
ucode = 1
pcb = 0xffff00010cfecb20
map = <optimized out>
ftype = <optimized out>
error = <optimized out>
handled = <optimized out>
#11 <signal handler called>
No locals.
#12 0xffff00000074c5dc in in6m_disconnect_locked (
inmh=inmh@entry=0xffff00010cfec498, inm=inm@entry=0xffffa00087100b00)
at /usr/src/sys/netinet6/in6_mcast.c:604
curelm = 0x0
ifp = 0xffffa000870f9c00
ifma = 0xffffa000872cc500
ll_ifma = <optimized out>
ifa = <optimized out>
ifa6 = <optimized out>
imm = <optimized out>
imm_tmp = <optimized out>
#13 0xffff00000074d840 in in6_leavegroup_locked (inm=0xffffa00087100b00,
imf=<optimized out>, imf@entry=0xffff00010cfec4c0)
at /usr/src/sys/netinet6/in6_mcast.c:1404
inmh = {slh_first = 0x0}
error = <optimized out>
timf = <optimized out>
ifp = 0xffffa000870f9c00
#14 0xffff000000752550 in in6_pcbpurgeif0 (pcbinfo=<optimized out>,
ifp=ifp@entry=0xffffa000870f9c00) at /usr/src/sys/netinet6/in6_pcb.c:857
inpi = {ipi = 0xffff0000435dad38, inp = 0xffffa00087a8bc40,
match = 0xffff000000752590 <in6_multi_match>, ctx = 0x0, hash = -1,
lock = INPLOOKUP_RLOCKPCB}
im6o = 0xffffa00087470260
imf = <optimized out>
inm = 0xffffa000870f9c00
inp = <optimized out>
#15 0xffff00000074a348 in _in6_ifdetach (ifp=ifp@entry=0xffffa000870f9c00,
purgeulp=<optimized out>, purgeulp@entry=1)
at /usr/src/sys/netinet6/in6_ifattach.c:877
ifa = <optimized out>
next = <optimized out>
#16 0xffff00000074a88c in in6_ifdeparture (arg=<optimized out>,
ifp=0xffffa000870f9c00) at /usr/src/sys/netinet6/in6_ifattach.c:918
ext = 0xffffa000870f4340
#17 0xffff0000006834bc in if_detach_internal (
ifp=ifp@entry=0xffffa000870f9c00, vmove=false)
at /usr/src/sys/net/if.c:1122
_ep = <optimized out>
_t = 0xffffa00080cf7700
_el = 0xffffa00080376a80
shutdown = <optimized out>
ifa = <optimized out>
#18 0xffff000000682c54 in if_detach (ifp=0xffffa000870f9c00)
at /usr/src/sys/net/if.c:1029
saved_vnet = 0x0
found = <optimized out>
#19 0xffff0000006913e0 in ether_ifdetach (ifp=ifp@entry=0xffffa000870f9c00)
at /usr/src/sys/net/if_ethersubr.c:1045
sdl = <optimized out>
#20 0xffff00000033caec in uether_ifdetach (ue=ue@entry=0xffffa0008785b000)
at /usr/src/sys/dev/usb/net/usb_ethernet.c:315
ifp = 0xffffa000870f9c00
#21 0xffff00000033579c in ure_detach (dev=<optimized out>)
at /usr/src/sys/dev/usb/net/if_ure.c:591
ue = 0xffffa0008785b000
sc = 0xffffa0008785b000
#22 0xffff000000569bb0 in DEVICE_DETACH (dev=0xffffa00087534d00)
at ./device_if.h:234
_m = 0x0
rc = <optimized out>
_desc = <optimized out>
_cep = <optimized out>
_ce = <optimized out>
#23 device_detach (dev=dev@entry=0xffffa00087534d00)
at /usr/src/sys/kern/subr_bus.c:2709
error = <optimized out>
#24 0xffff000000569744 in device_delete_child (dev=0xffffa0008786e500,
child=child@entry=0xffffa00087534d00) at /usr/src/sys/kern/subr_bus.c:1550
error = <optimized out>
grandchild = <optimized out>
#25 0xffff0000003175e8 in usb_detach_device_sub (udev=0xffffa00087847000,
ppdev=<optimized out>, ppnpinfo=<optimized out>, flag=<optimized out>)
at /usr/src/sys/dev/usb/usb_device.c:1253
dev = 0xffffa00087534d00
err = <optimized out>
pnpinfo = <optimized out>
#26 usb_detach_device (udev=udev@entry=0xffffa00087847000,
iface_index=<optimized out>, flag=<optimized out>)
at /usr/src/sys/dev/usb/usb_device.c:1315
i = 0 '\000'
iface = <optimized out>
#27 0xffff000000316538 in usb_unconfigure (udev=udev@entry=0xffffa00087847000,
flag=0 '\000', flag@entry=144 '\220')
at /usr/src/sys/dev/usb/usb_device.c:623
do_unlock = <optimized out>
#28 0xffff0000003161f4 in usbd_set_config_index (
udev=udev@entry=0xffffa00087847000, index=1 '\001')
at /usr/src/sys/dev/usb/usb_device.c:686
ds = {wStatus = "\000"}
cdp = 0xffff000000e79000 <sdta_vfs_vop_vop_spare4_return1+16>
err = <optimized out>
selfpowered = <optimized out>
power = <optimized out>
max_power = <optimized out>
do_unlock = <optimized out>
#29 0xffff0000003205f4 in uhub_explore_handle_re_enumerate (
child=child@entry=0xffffa00087847000) at /usr/src/sys/dev/usb/usb_hub.c:479
err = <optimized out>
do_unlock = <optimized out>
#30 0xffff0000003212c4 in uhub_explore_sub (sc=0xffffa0008767b000,
up=0xffffa0008786e49c) at /usr/src/sys/dev/usb/usb_hub.c:527
bus = 0x0
err = USB_ERR_NORMAL_COMPLETION
child = 0xffffa00087847000
refcount = <optimized out>
#31 uhub_explore (udev=0xffffa00087658000)
at /usr/src/sys/dev/usb/usb_hub.c:1107
hub = 0xffffa0008786e400
sc = 0xffffa0008767b000
x = <optimized out>
retval = USB_ERR_NORMAL_COMPLETION
up = 0xffffa0008786e49c
portno = 2 '\002'
err = <optimized out>
do_unlock = <optimized out>
#32 0xffff00000032130c in uhub_explore_sub (sc=0xffffa00087473580,
up=0xffffa00087448a9c) at /usr/src/sys/dev/usb/usb_hub.c:547
bus = <optimized out>
err = USB_ERR_NORMAL_COMPLETION
child = 0xffffa00087658000
refcount = <optimized out>
#33 uhub_explore (udev=0xffffa00087440000)
at /usr/src/sys/dev/usb/usb_hub.c:1107
hub = 0xffffa00087448a00
sc = 0xffffa00087473580
x = <optimized out>
retval = USB_ERR_NORMAL_COMPLETION
up = 0xffffa00087448a9c
portno = 2 '\002'
err = <optimized out>
do_unlock = <optimized out>
#34 0xffff00000032130c in uhub_explore_sub (sc=0xffffa00080d88b00,
up=0xffffa00080da9bcc) at /usr/src/sys/dev/usb/usb_hub.c:547
bus = <optimized out>
err = USB_ERR_NORMAL_COMPLETION
child = 0xffffa00087440000
refcount = <optimized out>
#35 uhub_explore (udev=0xffffa00080de4000)
at /usr/src/sys/dev/usb/usb_hub.c:1107
hub = 0xffffa00080da9b00
sc = 0xffffa00080d88b00
x = <optimized out>
retval = USB_ERR_NORMAL_COMPLETION
up = 0xffffa00080da9bcc
portno = 5 '\005'
err = <optimized out>
do_unlock = <optimized out>
#36 0xffff00000030c65c in usb_bus_explore (pm=<optimized out>)
at /usr/src/sys/dev/usb/controller/usb_controller.c:409
udev = 0xffffa00080de4000
bus = 0xffff00010ef84428
#37 0xffff000000326434 in usb_process (arg=arg@entry=0xffff00010ef84538)
at /usr/src/sys/dev/usb/usb_process.c:160
up = 0xffff00010ef84538
td = <optimized out>
pm = 0xffff00010ef845e8
#38 0xffff0000004cc260 in fork_exit (callout=0xffff000000326320 <usb_process>,
arg=0xffff00010ef84538, frame=0xffff00010cfeca00)
at /usr/src/sys/kern/kern_fork.c:1155
td = 0xffff0000eb228640
p = 0xffffa000824acaa0
dtd = <optimized out>
#39 <signal handler called>
===
Mark Millard
marklmi at yahoo.com