Why is my wifi card not recognised on Ubuntu-20.04? [duplicate]

Solution 1:

As is stated quite clearly on the firmware link you posted in your question, the Intel® Wi-Fi 6E AX210 is supported since kernel 5.10 as according to your uname output you are running 5.08 the Intel® Wi-Fi 6E AX210 isn't supported by your kernel version. The Linux 5.10 kernel (or later) will ship as part of Ubuntu 21.04 in April. This version will also get backported to Ubuntu 20.04 LTS at a later date. It's possible to manually install a mainline kernel in Ubuntu, however if it breaks you get the pieces. Having entertained that warning, if you still can't wait and want to attempt to install kernel 5.10 or later you should review this answer.

Solution 2:

I actually managed to make the AX210 run in Ubuntu 18.04 LTS with Linux Kernel 4.15! Here's what I did:

  1. Install the "backport-iwlwifi-dkms" package (sudo apt install backport-iwlwifi-dkms)
  2. Unfortunately, the iwlwifi sources in this package are too old and only support pre-production AX210, so:
  3. Grab the up-to-date backport-iwlwifi sources from Intel's github repository: git clone https://github.com/intel/backport-iwlwifi.git
  4. Now go to /usr/src, there's a subdirectory with the old sources from step 1 there (backport-iwlwifi-7906)
  5. Copy the new sources to a new directory, e.g. sudo cp -a /whereever/you/cloned/to/backport-iwlwifi/iwlwifi-stack-dev backport-iwlwifi-8000
  6. Copy the file "dkms.conf" from the old sources directory to the new sources directory and edit the second line to change the PACKAGE_VERSION from 7906 to 8000
  7. Remove the bad dkms module that was installed with the package in step 1: sudo dkms remove backport-iwlwifi/7906 --all
  8. Add the updated dkms module with the version just created: sudo dkms add backport-iwlwifi/8000
  9. Build and install the updated dkms modules: sudo dkms install backport-iwlwifi/8000

Now the driver is ready, but you still need to get the firmware for the chip:

  1. Clone the linux-firmware repository: git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
  2. Pick out the firmware files you need and copy them to /lib/firmware. If you're not sure which firmware you need, just boot with the new driver and check dmesg for messages from iwl: dmesg | grep iwl - the firmware files it was looking for will be named there.
  3. PITFALL: The AX210 also needs an additional "pnvm" file, which is also found in the repository, but not quite well mentioned by the driver. If it is missing, it'll spray a ton of error messages.

For my Intel AX210 module, I ended up adding these files to /lib/firmware:

-rw-r--r-- 1 root root 1413868 Jun  3 18:27 iwlwifi-ty-a0-gf-a0-59.ucode
-rw-r--r-- 1 root root 1455104 Jun  3 18:27 iwlwifi-ty-a0-gf-a0-62.ucode
-rw-r--r-- 1 root root 1460012 Jun  3 18:27 iwlwifi-ty-a0-gf-a0-63.ucode
-rw-r--r-- 1 root root   27456 Jun  3 18:46 iwlwifi-ty-a0-gf-a0.pnvm

And it is up and running!

Solution 3:

I am not sure why for me it worked only with kernel version 5.10. Versions 5.11 and 5.12 did not work.

sudo apt-get install linux-image-5.10.0-1051-oem
sudo update-grub

Download and extract the driver from Intel https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html

Backup the current drivers

sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.bak
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode /lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode.bak

Copy the extracted driver

sudo cp ./iwlwifi-ty-a0-gf-a0-59.ucode /lib/firmware/iwlwifi-ty-a0-gf-a0-59.ucode

To avoid overwriting the files in the future when upgrading packages you may hold the linux-firmware package.

sudo apt-mark hold linux-firmware

Restart and select the 5.10 kernel version in grub.