TL;DR: i experienced No network after upgrading to Ubuntu 22.04 and i was presented with the following message upon trying to see the network status with “lshw -c network”:
-network UNCLAIMED
Apparently happens because there’s missing the package that provides a bunch of tools and network drivers apparently: “linux-modules-extra”
Solution 1: grab the linux-headers and linux-modules-extra packages for your kernel version, load them on a USB stick that’s been formatted as FAT32 and install them from the USB
- The linux-headers and modules-extra packages can be found here: https://launchpad.net/ubuntu/+source/linux/6.2.0-37.38
- So for instance, for an x64 system, the headers would be: https://launchpad.net/ubuntu/lunar/amd64/linux-headers-6.2.0-37-generic/6.2.0-37.38
- And the linux-modules-extra would be: https://launchpad.net/ubuntu/lunar/amd64/linux-modules-extra-6.2.0-37-generic/6.2.0-37.38
Solution 2 (the easy one): – Just boot an older kernel, which will have already functioning network drivers, then do:
- apt install linux-headers-6.2.0-37-generic
- apt install linux-modules-extra-6.2.0-37-generic
(change your version numbers accordingly)
and once that is done, reboot and you should be good to go.
But wait! How do i boot an older kernel?
In order to boot the older kernel, you’d have to edit grub because the screen where you can choose recovery mode or switch kernels is hidden. So do:
nano /etc/default/grub
and set:
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=-1
wrap it up with: update-grub and
reboot
During boot, keep ESC or SHIFT key pressed (trial and error) and the grub boot menu should pop up, and if you go into “advanced options“, you will get a list of kernels to boot from.