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.
This kernel parameter solved the same issue for me (with a Dell DA200 USB3 dock):
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).
This worked for me:
This worked under Ubuntu 18.04.4. A service can be created under
with the following content:
Reload the daemon
Enable the service such that it starts on every reboot
Start the service
Interface configuration has to be created. Before creating interface configuration ethernet interface can be given a name under
with following content:
After ethernet network configuration can be done with netplan by creating a yaml file
with following content:
When the laptop is booting disconnect the USB device connect it after booting and it should work after couple of minutes. If required restart the NetworkManager and wait for couple of minutes.