Issue with USB Thunderbolt network adapter

Hi,

I have installed FreeBSD 14.1 on a ThinkPad X280. I have connected it to the HUB of my Dell U2723QE Monitor via USB/Thunderbolt ; this provides HDMI output, USB 3 Hub (where a mouse and a keyboard are connected) and Ethernet adapter. Everything works Ok except the Ethernet connection.

When it ends working, after a serie of plug/unplug the RJ45 cable, I get really poor bandwidth - like 10Mbps. But most of the time, the status is "no carrier". I don't think the cable or the monitor are the culprit as I also use them with an X1 Carbon (with Windows or OpenBSD) and it works great. I have updated the X280 BIOS but this doesn't help. I have tried various things found using a web search engine (like ifconfig media options, remove laag config and configure ue0 on its own) but none solved the issue. I have no other OS on this machine as I expected to run FreeBSD only on it.

Are there known additionnal things to configure or tricks to have Ethernet over Thunderbolt working on FreeBSD?

Thank you.

Here's a few details on the hardware in case it helps.
- dmesg extract:
Code:
ugen0.13: <Realtek USB 10/100/1000 LAN> at usbus0
ure0 on uhub5
ure0: <Realtek USB 10/100/1000 LAN, class 0/0, rev 3.20/33.10, addr 12> on usbus0
ure0: unknown version 0x7420
miibus0: <MII bus> on ure0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
ue0: <USB Ethernet> on ure0[/ICODE]
- usbconfig output
[ICODE]ugen1.1: <Intel XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.2: <AU9540 Smartcard Reader Alcor Micro Corp.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (50mA)
ugen0.3: <Generic 4-Port USB 2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.4: <Generic 4-Port USB 2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.5: <Unifying Receiver Logitech, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (98mA)
ugen0.6: <Aluminium Keyboard (ANSI) Apple, Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.7: <Realtek USB2.0 HID> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
ugen0.8: <Bluetooth wireless interface Intel Corp.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.9: <SunplusIT Integrated Camera Bison Electronics Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.10: <Card Reader Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (200mA)
ugen0.11: <Generic 4-Port USB 3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.12: <Generic 4-Port USB 3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.13: <RTL8153 Gigabit Ethernet Adapter Realtek Semiconductor Corp.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (64mA)
- ifconfig output
Code:
ue0: flags=1008802<BROADCAST,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
    options=68009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
    media: Ethernet autoselect (10baseT/UTP <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
- /var/log/message output
Code:
Jun 15 01:00:25 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:25 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:29 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:30 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:34 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:34 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:38 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:38 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:42 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:42 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:46 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:46 kaa kernel: ue0: link state changed to DOWN
Jun 15 01:00:50 kaa kernel: ue0: link state changed to UP
Jun 15 01:00:51 kaa kernel: ue0: link state changed to DOWN
 
Last edited by a moderator:
Hi,

I almost got the same issue ! and I am desperate to find a solution...
My Dell monitor is not the same model (U3224KBA) but I am pretty sure it is using the same Realtek NIC / thunderbolt.
When I connect it to my Dell XPS through USBc I got the Ethernet working for some time and then it goes to a no carrier status.
I have no other way to disconnect and reconnect to get it up working again but most of the time it is only for a couple minutes before it goes down.

Compared to you I don't see any UP & DOWN messages, nothing in dmesg
 
After doing further testing, I notice that when I am losing connection, the MAC address is changing as well !

Code:
e0: Ethernet address: c8:4b:d6:c5:d8:xx
ue0: link state changed to DOWN
ue0: link state changed to UP
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 2a:d7:70:f9:7f:00

jcarnat do you also experiment the same behavior when you lose your connection?

After noticing that, it makes me think about some options in the BIOS, and I disabled the MAC address pass-through option.

So far, I don't see any disconnection and the problem is solved, but I have to spend more time with the system to confirm, maybe a good test to run on your side jcarnat

EDIT : my bad, same issue after a while
 
Last edited:
I still don't know why this happening but I know how to fix it...
The reason why the MAC changes is because the USB conf is changed !
I really want to know what triggers this change but I can't find the reason...

To fix on my case I have to do a usbconfig -d ugen0.7 set_config 2

For sure ugen0.7 has to be adjusted based on system configuration
 
Back
Top