USB 以太网适配器 (Realtek r8153) 不断断开连接

nha*_*ler 5 usb networking ethernet tlp 18.04

自从从 17.10 升级到 Ubuntu 18.04 以来,我的 USB 以太网适配器一直断开连接。它曾经与 17.10 完美配合。

dmesg 在连接断开时显示以下输出:

[  273.462732] usb 4-1.4: usb_reset_and_verify_device Failed to disable LTM
               .
[  273.643622] usb 4-1.4: USB disconnect, device number 11
[  273.795468] usb 4-1.4: new SuperSpeed USB device number 12 using xhci_hcd
[  273.816520] usb 4-1.4: New USB device found, idVendor=0bda, idProduct=8153
[  273.816522] usb 4-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[  273.816523] usb 4-1.4: Product: USB 10/100/1000 LAN
[  273.816524] usb 4-1.4: Manufacturer: Realtek
[  273.816525] usb 4-1.4: SerialNumber: 0000A5
[  273.896167] usb 4-1.4: reset SuperSpeed USB device number 12 using xhci_hcd
[  273.948778] r8152 4-1.4:1.0 eth0: v1.09.9
[  274.503001] r8152 4-1.4:1.0 enx144fd7d04a3c: renamed from eth0
[  274.539481] IPv6: ADDRCONF(NETDEV_UP): enx144fd7d04a3c: link is not ready
[  274.543857] IPv6: ADDRCONF(NETDEV_UP): enx144fd7d04a3c: link is not ready
[  276.431243] r8152 4-1.4:1.0 enx144fd7d04a3c: carrier on
[  276.431258] IPv6: ADDRCONF(NETDEV_CHANGE): enx144fd7d04a3c: link becomes ready
Run Code Online (Sandbox Code Playgroud)

nha*_*ler 10

在编写问题时,我在内核邮件列表中找到了错误的来源。负责管理我的 r8153 适配器的 r8152 驱动程序无法处理 USB 自动挂起(出于省电原因)。将 USB 自动挂起的设备列入黑名单可以解决断开连接问题,具体操作如下:

使用 lsusb 找出您设备的 USB id(在我的例子中为 0bda:8153),它给了我:

Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp.
Run Code Online (Sandbox Code Playgroud)

现在您打开 /etc/default/tlp 并搜索 USB_BLACKLIST 并为您的设备添加一个条目:

USB_BLACKLIST="0bda:8153"
Run Code Online (Sandbox Code Playgroud)

您可能需要重新启动,之后您的以太网连接应该再次稳定。