3

(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 up

This 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 dhcp

Do 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?

5
  • " Ubuntu 18.04 beta 2" Desktop or server edition? Please edit your question to add the result of: cat /etc/netplan/*.yaml Welcome to Ask Ubuntu.
    – chili555
    Commented Apr 19, 2018 at 14:16
  • Hi, thank you for trying to help! I am using the server edition. I updated the initial post with the results..
    – Henrik
    Commented Apr 19, 2018 at 18:17
  • 1
    I'd simply replace enp0s3 with enx00e04c6801e1 in the yaml file and remove the enx00e04c6801e1 lines from /etc/network/interfaces and reboot. If you need additional guidance, let me know.
    – chili555
    Commented Apr 19, 2018 at 18:23
  • Great, it seems to work!! Thank you so much! Just wondering: is there no way to let ubuntu use any ethernet adapter right away? I the /etc/netplan/*.yaml file a ubuntu-server specific thing? Thanks again, and have a great weekend :)
    – Henrik
    Commented Apr 19, 2018 at 18:25
  • netplan exists in desktop installations, as well, but networking is turned over to the more agile Network Manager. I believe the assumption is that for the server edition, it will be a set-it-and-forget-it configuration. Glad it's working.
    – chili555
    Commented Apr 19, 2018 at 19:46

2 Answers 2

6

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
3

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_1232

I 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: yes

to (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: yes

Apply 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/r8169

Hat tip to these pages for showing me the way:

  1. https://arador.com/how-to-configure-a-static-ip-address-in-ubuntu-18-04/
  2. https://ppc64el.wordpress.com/2018/03/22/ubuntu-18-04-netplan/ (careful of this one as it does not show indentation, which is of course, crucial in yaml)
1
  • I downloaded a image from osboxes and the name of the interface at natplan file was different from lshw -c network command output. Thanks.
    – rodvlopes
    Commented Apr 20, 2020 at 16:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .