How do I get my Network (and settings) back in 20.04?

I have lost my network connections (Ethernet, WiFi and Bluetooth) on Ubuntu 20.04. I don't know what I did to lose them, but after a reboot, they had gone. There is no network icon in the system tray and in settings, there is no setting for WiFi and no connections in the network submenu.

I can boot from a Live USB image and everything works well.

So, from another answer I found, I backed up, then copied the netplanner, and NetworkManager files and directories from the Live USB to my computer. Rebooted into the "normal" Ubuntu environment and still nothing.

I ran sudo lshw -C networkand the output is:

*-network UNCLAIMED       
       description: Network controller
       product: AR9485 Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: memory:f7100000-f717ffff memory:f7180000-f718ffff
  *-network UNCLAIMED
       description: Ethernet controller
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list
       configuration: latency=0
       resources: ioport:d000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff

Note: The output doesn't have a "logical name" reference in it.

My NetworkManager.conf file is:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

and my 01-network-manager-all.yamlfile is:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

Using sudo nmcli gives:

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

I don't have ifconfig (net-tools) installed.

Running nm-applet brings up a greyed out system tray icon, but when I click that, the window that opens (showing the connections) is empty.

Any help is greatly appreciated.

Update 20200724: I can log into old kernels 5.4.0-41 and 5.4.0-40 and everything works fine. But 5.4.0-42 is borked.

Other things tried:

Output of uname -a:

Linux marks-linux-box 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Output of dpkg -l linux-* | grep ii:

ii  linux-base                                 4.5ubuntu3.1         all          Linux image base package
ii  linux-firmware                             1.187.2              all          Firmware for Linux kernel drivers
ii  linux-headers-5.4.0-40                     5.4.0-40.44          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-40-generic             5.4.0-40.44          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-5.4.0-41                     5.4.0-41.45          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-41-generic             5.4.0-41.45          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-5.4.0-42                     5.4.0-42.46          all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-42-generic             5.4.0-42.46          amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-image-5.4.0-40-generic               5.4.0-40.44          amd64        Signed kernel image generic
ii  linux-image-5.4.0-41-generic               5.4.0-41.45          amd64        Signed kernel image generic
ii  linux-image-unsigned-5.4.0-42-generic      5.4.0-42.46          amd64        Linux kernel image for version 5.4.0 on 64 bit x86 SMP
ii  linux-libc-dev:amd64                       5.4.0-42.46          amd64        Linux Kernel Headers for development
ii  linux-modules-5.4.0-40-generic             5.4.0-40.44          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-5.4.0-41-generic             5.4.0-41.45          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-5.4.0-42-generic             5.4.0-42.46          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.4.0-40-generic       5.4.0-40.44          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.4.0-41-generic       5.4.0-41.45          amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii  linux-modules-nvidia-390-5.4.0-40-generic  5.4.0-40.44          amd64        Linux kernel nvidia modules for version 5.4.0-40
ii  linux-modules-nvidia-390-5.4.0-41-generic  5.4.0-41.45          amd64        Linux kernel nvidia modules for version 5.4.0-41
ii  linux-modules-nvidia-390-5.4.0-42-generic  5.4.0-42.46          amd64        Linux kernel nvidia modules for version 5.4.0-42
ii  linux-modules-nvidia-390-generic-hwe-20.04 5.4.0-42.46          amd64        Extra drivers for nvidia-390 for generic-hwe-20.04
ii  linux-sound-base                           1.0.25+dfsg-0ubuntu5 all          base package for ALSA and OSS sound systems

I note how the naming convention has changed at 5.4.0-42:

linux-image-5.4.0-40-generic               5.4.0-40.44
linux-image-5.4.0-41-generic               5.4.0-41.45
linux-image-unsigned-5.4.0-42-generic      5.4.0-42.46 

Why's that unsigned?

And I don't appear to have linux-modules-extra installed for 42 when it is for 41 & 40.


For me, I had to install the r1866 driver, and had to install DKMS as well. To make it a bit less risky, I copied the DKMS deb package and the driver from a USB flash to my home dir, so terminal had them in current path.

sudo apt install ./dkms_2.8.1-5ubuntu1_all.deb
sudo apt install ./r8168-dkms_8.048.00-1_all.deb

Did a a reboot, and network, BT, and mounted shares (prior to the upgrade) all worked.

Note: DKMS was found in the official dist ISO, but was not installed by default during the distro's upgrade. Driver found in the RealTech official drivers page. Note: The distro (LTS) did not install the "unsigned" packages.

Seems Ubuntu 20 LTS just didn't install packages required to run the hardware it had found; and didn't automatically come with the proper drivers for an extremely common bit of critical hardware found on almost every Asus AMD based board.

Cheers for your research! Helped quite a bit pointing me in the right direction Note, I'd have voted it up, but AskUbuntu has me with no Rep yet.