USB Ethernet interface in virtual Ubuntu 18.04 disabled after every reboot
Andrew Henderson
(tl;dr) My USB 3.0 ethernet adapter is found (lsusb), but the Ethernet interface is disabled after every reboot in Ubuntu 18.04 beta 2, even if I enable it with ip or ifconfig command (funny: it's found during installation and even connects, via dhcp, but is disabled after first reboot).
Long version: I am trying to get a DELOCK 62966 USB 3.0 > 4x Ethernet Adapter to work in a Ubuntu machine. Important: Ubuntu runs as VM in the latest Virtualbox, with a USB filter allowing access from the VM. It works well in a parallel running Windows VM. I also tried a different adapter (Lenovo Thinkpad USB 3.0 Ethernet adapter).
sudo lshw -C network gives the following result:
*-network DISABLED
description: Ethernet interface
physical id: 1
logical name: enx00e04c6801e1
[...]I tried solutions from multiple forums from the past 10 years, e.g.:
sudo ip link set enx00e04c6801e1 up
sudo ip l s dev enx00e04c6801e1 upThis resulted in sudo lshw -C network not showing "DISABLED" anymore, but ifconfig shows that the interface does not have a valid IP. So I used sudo dhclient enx00e04c6801e1. Then, finally it showed a valid IP address.
Fyi, my /etc/network/interfaces was completely empty. I tried adding the following lines but they did not make any difference (I tried/rebooted multiple times)
auto lo
iface lo inet loopback
auto enx00e04c6801e1
iface enx00e04c6801e1 inet dhcpDo I have to add all these steps in a script which starts at boot (if so how?) or is there a simple solution to tell ubuntu to use the adapter every time I boot?
Thank you for your help!!
UPDATE 1:
Here's the result of cat /etc/netplan/*.yaml:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network: ethernets: enp0s3: addresses: [] dhcp4: true version: 2-> means I need to add the enx... as well?
52 Answers
According to the bug report, the solution is to add the missing configuration file(/etc/NetworkManager/conf.d/10-globally-managed-devices.conf) to NetworkManager, then to reboot.
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo reboot On a Dell box, the internal ethernet was working, but the PCI, and the PCIe cards (Rosewill/RealTek) that I installed would show as DISABLED with lshw -c network. Even if I enabled them, it would not survive a reboot.
Here's what worked for me on ubuntu 18.04LTS server (no gui):
I made a backup of /etc/netplan/01-netcfg.yaml:
cp 01-netcfg.yaml 01-netcfg.yaml_180504_1232I edited the contents of /etc/netplan/01-netcfg.yaml from:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network: version: 2 renderer: networkd ethernets: enp0s25: dhcp4: yesto (using the logical name: from lshw -c network):
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network: version: 2 renderer: networkd ethernets: enp1s0: dhcp4: yes enp3s0: dhcp4: yes enp0s25: dhcp4: yesApply the changes:
netplan --debug apply
** (generate:2169): DEBUG: 12:36:12.418: Processing input file //etc/netplan/01-netcfg.yaml..
** (generate:2169): DEBUG: 12:36:12.418: starting new processing pass
** (generate:2169): DEBUG: 12:36:12.418: enp3s0: setting default backend to 1
** (generate:2169): DEBUG: 12:36:12.418: enp0s25: setting default backend to 1
** (generate:2169): DEBUG: 12:36:12.418: enp1s0: setting default backend to 1
** (generate:2169): DEBUG: 12:36:12.418: Generating output files..
** (generate:2169): DEBUG: 12:36:12.418: NetworkManager: definition enp3s0 is not for us (backend 1)
** (generate:2169): DEBUG: 12:36:12.418: NetworkManager: definition enp0s25 is not for us (backend 1)
** (generate:2169): DEBUG: 12:36:12.418: NetworkManager: definition enp1s0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:replug enp1s0: unbinding 0000:01:00.0 from /sys/bus/pci/drivers/r8169
DEBUG:replug enp1s0: rebinding 0000:01:00.0 to /sys/bus/pci/drivers/r8169
DEBUG:device enp0s25 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp0s25
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:replug enp3s0: unbinding 0000:03:00.0 from /sys/bus/pci/drivers/r8169
DEBUG:replug enp3s0: rebinding 0000:03:00.0 to /sys/bus/pci/drivers/r8169Hat tip to these pages for showing me the way:
- (careful of this one as it does not show indentation, which is of course, crucial in yaml)