![usb-以太网不自动协商链接](https://linux22.com/image/953456/usb-%E4%BB%A5%E5%A4%AA%E7%BD%91%E4%B8%8D%E8%87%AA%E5%8A%A8%E5%8D%8F%E5%95%86%E9%93%BE%E6%8E%A5.png)
有问题的设备:lsusb 告诉我 ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 千兆以太网适配器这是 Monoprice 品牌的 USB-A 3 适配器。
运行 Ubuntu 20.04.6 LTS
在网络管理器中,连接显示速度:1 GB/s
当我将此 USB 以太网设备插入千兆交换机时,它工作正常。
但我经常插入仅支持 100 Mbit 的设备。当我这样做时,我得到:
# mii-tool enx00e04c680835
enx00e04c680835: 10 Mbit, full duplex, no link
如果我强制执行,它最终会获得一个 dhcp 地址并保持在 100 Mbit 的网络上,但如果我只运行mii-tool --force=100baseTx-FD enx00e04c680835
一次,它会暂时显示enx00e04c680835: 100 Mbit, full duplex, no link
但随后会恢复到10...no link
有时我很幸运,它第一次就能成功,但通常需要尝试几次才能切换到“链接成功”。例如,如果我每秒运行一次 mii-tool:
enx00e04c680835: 10 Mbit, full duplex, no link
enx00e04c680835: 10 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, no link
enx00e04c680835: 10 Mbit, full duplex, no link
enx00e04c680835: 10 Mbit, full duplex, no link
enx00e04c680835: 10 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, no link
enx00e04c680835: 100 Mbit, full duplex, link ok
enx00e04c680835: 100 Mbit, full duplex, link ok
按照要求:
# lsmod | fgrep r815
r8152 69632 0
mii 20480 3 usbnet,r8152,ax88179_178a
插入期间的 dmesg:
# dmesg >/tmp/0
# echo Insert dongle
# dmesg >/tmp/1
# diff -U0 /tmp/[01]
+[ 198.076807] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
+[ 198.097308] usb 2-1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
+[ 198.097314] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
+[ 198.097318] usb 2-1: Product: USB 10/100/1000 LAN
+[ 198.097322] usb 2-1: Manufacturer: Realtek
+[ 198.097325] usb 2-1: SerialNumber: 000001000000
+[ 198.118095] usbcore: registered new interface driver r8152
+[ 198.124378] usbcore: registered new interface driver cdc_ether
+[ 198.245331] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd
+[ 198.297994] r8152 2-1:1.0 eth0: v1.10.11
+[ 198.319976] r8152 2-1:1.0 enx00e04c680835: renamed from eth0
+[ 200.490820] IPv6: ADDRCONF(NETDEV_CHANGE): enx00e04c680835: link becomes ready
+[ 200.491241] r8152 2-1:1.0 enx00e04c680835: carrier on
+[ 200.525194] r8152 2-1:1.0 enx00e04c680835: carrier off
可重复性:我有两个这样的加密狗,它们两个都存在相同的不良行为,所以这是软件问题,而不是硬件问题。我还尝试了 Apple 品牌的 USB-A 转 100 Mbit 加密狗,它可以正常工作。我还尝试了 Monoprice 的“带以太网的 USB-A 3 集线器”,它也不需要 mii-tool 就可以正常工作。
几个月前就开始出现这种情况了;以前它工作得很好。驱动程序有变化吗?网络管理器有变化吗?我不知道是什么搞乱了我的设备。