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
質問を書いている間に、カーネルのメーリングリストでバグの原因を見つけました。 r8153アダプタの管理を担当するr8152ドライバは、USBの自動サスペンドを処理できません(省電力の理由で行われます)。 USB自動サスペンド用にデバイスをブラックリストに登録すると、切断が解決され、次のようになります。
Lsusbを使用して、デバイスのusb ID(私の場合は0bda:8153)を見つけます。
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp.
ここで/ etc/default/tlpを開き、USB_BLACKLISTを検索して、デバイスのエントリを追加します。
USB_BLACKLIST="0bda:8153"
再起動が必要になる場合があります。その後、イーサネット接続が再び安定するはずです。
カーネルudevルールを使用してこれを行うこともできます。デバイスのUSB自動サスペンドをオフにし、CPUのターボモードもオフにするudevルールを作成しました(これも役立つかもしれません):
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8153", TEST=="power/control", ATTR{power/control}="on"
KERNEL=="cpu",RUN+="/bin/sh -c 'echo -n 1 > /sys/devices/system/cpu/intel_pstate/no_turbo'"
上記をファイルに追加します:/etc/udev/rules.d/50-cpu-custom.rules
私もこの問題に出くわしましたが、私にとっての問題は、r1852 LANドライバーの自動サスペンド機能の欠陥が、ランダムなフリーズの原因だったことです。
Powertopを使用して解決しました。これは、デバイスのUSB IDを確認する必要がないためです。