The TP-Link Archer AX1800 TX20UH is an USB wireless device that boasts WiFi 6 support. Unfortunately, there is a lot of confusion built around the Archer TX20UH, especially concerning the actual chip that the dongle uses such that getting the device to run on Linux is rather daunting. This page includes a set of notes that should provide some pointers on how to install the device on Linux.
When looking for drivers under Linux, the usual imperative is to use either lspci
, for PCI devices or lsusb
for USB devices and check the vendor and product ID because they are guaranteed to provide some accurate information about the device that you need to get working.
The TP-Link Archer AX1800 TX20UH, for example, when connected to a Linux machine and then queried using the lsusb
command, will display the device with a name that contains the name of the chip allegedly being used by the AX1800 Archer TX20UH and namely the RTL8188GU - however, that is misleading and it is just part of the name of the USB drive that, more than likely, is used for all the devices in the series.
In reality, using the vendor and product code it is determined that the AX1800 Archer TX20UH is, in fact, using the RTL88852AU chip, which is the correct chip that will work for this device on Linux. The vendor and product ID as reported is 2357:0141
and the line obtained via lsusb
reads as follows:
Bus 001 Device 002: ID 2357:0141 TP-Link 802.11ac WLAN Adapter
For future kernels, it is said that the chip will be supported by RTL8XXXU, that is a generic chip that is meant to cover all the GU/BU/AU, etc, chip variations for wireless devices that are being released by RealTek.
For now, there is driver that is a rework of an official Linux driver released by RealTek that can be used instead that will also work for the current Linux kernel versions. That being said, the installation steps by Larry Finger can be used in order to install the RTL888852AU driver required for the AX1800 Archer TX20UH.
When first plugged-in, the AX1800 Archer TX20UH will just appear to the Linux kernel as a drive and can be mounted to reveal an executable for Windows that is supposed to install drivers.
Remarkably, the only way to get the dongle to commute to WiFi mode, is to simply eject the drive using the Linux eject
command. The eject
command will fail, but the drive will be successfully ejected and then checking the kernel messages (for example, using dmesg
) should reveal that a RealTek WiFi device has been detected.
A better solution, perhaps is to use usb_modeswitch in order to make the dongle commute automatically to the WiFi device on bootup persistently. usb_modeswitch
can be installed, and then an udev rule can be created that will invoke the usb_modeswitch
command with the WiFi dongle as parameter whenever the dongle is inserted. To that end, create the file /etc/udev/rules.d/10-usb_modeswitch.rules
with the following contents:
# TP-Link AX1800 - Archer TX20UH (RTL8852AU chipset) ATTR{idVendor}=="2357", ATTR{idProduct}=="0141", RUN+="usb_modeswitch '/%k'"
Now, whenever the device is detected by the Linux kernel, the usb_modeswitch
utility commutes the dongle into WiFi mode such that it can be picked up by the Linux networking subsystem and used as a wireless dongle.