Ubuntu – USB 3.0 ethernet adapter not working — Ubuntu 18.04

18.04adapterethernetusb

I recently bought a new ethernet adapter for my laptop, but it always fails to connect to the internet. I have not touched my network settings (everything is set to automatic), I know the USB port works (and is 3.0), I've switched out the ethernet cable, and I've rebooted, and the problem remains. I looked at several similar questions and didn't see an answer. Here are the outputs of a few relevant commands:

~$ ifconfig
enx00e04c680050: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::660a:4122:589c:5867  prefixlen 64  scopeid 0x20<link>
        ether 00:e0:4c:68:00:50  txqueuelen 1000  (Ethernet)
        RX packets 13613  bytes 2126629 (2.1 MB)
        RX errors 0  dropped 5  overruns 0  frame 0
        TX packets 539  bytes 529852 (529.8 KB)
        TX errors 247  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 3817  bytes 240361 (240.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3817  bytes 240361 (240.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.43.207  netmask 255.255.255.0  broadcast 192.168.43.255
        inet6 fe80::c550:81b5:cbfc:9922  prefixlen 64  scopeid 0x20<link>
        ether 9c:b6:d0:d0:ab:35  txqueuelen 1000  (Ethernet)
        RX packets 3473  bytes 4532992 (4.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2303  bytes 369202 (369.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

The adapter interface is the first one, enx00e04c6880050.

~$ lsusb

Bus 002 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0cf3:e301 Atheros Communications, Inc. 
Bus 001 Device 004: ID 0c45:6713 Microdia 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The adapter is the Realtek device. Here's some of the output of dmesg; there was a lot more, but it was all exactly the same.

~$ dmesg | grep enx00e04c680050

[    3.145962] r8152 1-2:1.0 enx00e04c680050: renamed from eth0
[    4.594647] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[    4.599211] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[    4.748235] r8152 1-2:1.0 enx00e04c680050: carrier on
[    5.407467] IPv6: ADDRCONF(NETDEV_CHANGE): enx00e04c680050: link becomes ready
[  100.932975] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933018] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933057] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933095] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933135] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933183] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933342] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  100.933379] r8152 1-2:1.0 enx00e04c680050: Rx status -71
[  106.567052] r8152 2-1:1.0 enx00e04c680050: renamed from eth0
[  106.598088] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[  106.601933] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[  108.156517] r8152 2-1:1.0 enx00e04c680050: carrier on
[  108.156551] IPv6: ADDRCONF(NETDEV_CHANGE): enx00e04c680050: link becomes ready
[  217.647356] r8152 2-1:1.0 enx00e04c680050: Stop submitting intr, status -71
[  306.017018] r8152 2-2:1.0 enx00e04c680050: renamed from eth0
[  306.045732] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[  306.049858] IPv6: ADDRCONF(NETDEV_UP): enx00e04c680050: link is not ready
[  307.612495] r8152 2-2:1.0 enx00e04c680050: carrier on
[  307.612522] IPv6: ADDRCONF(NETDEV_CHANGE): enx00e04c680050: link becomes ready
[  321.228465] r8152 2-2:1.0 enx00e04c680050: Tx status -71
[  321.231900] r8152 2-2:1.0 enx00e04c680050: Tx status -71

I also ran dmesg for the driver; these are the only two lines not already shown above:

~$ dmesg | grep r8152
[    2.833638] usbcore: registered new interface driver r8152
[    3.144927] r8152 1-2:1.0 eth0: v1.09.9

EDIT: I tried googling "Tx status -71," and I have the feeling that this — which seems to be an unresolved bug — is relevant, though I'm not entirely sure how to implement the provided patch, or if that would solve the problem.

Best Answer

This kernel parameter solved the same issue for me (with a Dell DA200 USB3 dock):

usbcore.quirks=0bda:8153:k

which disables Link Power Management for the device. See also this bug report and this Github issue (for a different hardware with the same driver/NIC chip).

Related Question