The information in this post is based on Ubuntu 20.04 with Linux kernel 5.4.0-74-generic. It may or may not apply to other versions.
I recently moved to a new house and finally decided to give moving away from my old cabled gigabit Ethernet to an all-wireless setup a shot – both because of my own laziness as I didn’t really want to drag cables all over the house, but also because Wi-Fi 6 (on paper at least) is capable of even higher speeds than gigabit Ethernet.
I therefore invested in a couple of Wi-Fi 6 adapters for my desktop Ubuntu computers. Believing I had researched well, I opted for the TP-Link AX3000 Archer TX50E PCIe adapter, which is based on the Intel AX200 chip, as many online sources seemed to indicate that this chip is well supported on Linux since kernel 5.1. To be fair, TP-Link only officially supports it on Windows 10.
I have previously had a lot of issues with getting Wi-Fi to work properly on Ubuntu; I don’t know why, but it seems like it’s usually to do with power management that makes the connection unstable, but it seems to me to have been an issue for many years and with many different Wi-Fi chips (perhaps especially those used in USB adapters), so I don’t really know for sure what the problem is.
Anyway, I installed my new fancy PCIe adapter in my main desktop machine, which is currently running Ubuntu 20.04 with kernel 5.4.0-74-generic. The adapter was detected and appeared to be working right away, but dropped the connection in less than a minute. After that I could only get it to work by rebooting and then I had a minute or so of uptime.
I tried many different things; it seemed like the computer loaded the firmware for the AX201 chip instead of the AX200 chip, but even after fixing that, the adapter still wouldn’t work. I disabled power management to no effect.
After countless hours of messing with something that should have just worked out of the box, I finally stumbled upon the only thing that worked and worked well and really fast: install the backport driver from Canonical’s hardware enablement team.
This is really easy and fast to do, so for future reference:
First, add the repository:
sudo add-apt-repository ppa:canonical-hwe-team/backport-iwlwifi
And then install the package:
sudo apt-get install backport-iwlwifi-dkms
Reboot, and Wi-Fi just works like it should 🙂
Notice: I don’t dual boot any of my machines, but if you do dual boot Ubuntu and Windows 10 and you have issues with your Wi-Fi in Ubuntu, it may be due to “fast boot” being enabled in Windows 10, as that option causes Windows to not shut down and release the hardware completely, making Ubuntu unable to claim the Wi-Fi adapter when it needs it. There are many online sources describing this problem, but the gist of it is: disable fast boot in Windows if you dual boot with Ubuntu 🙂