In this brief guide, I will explain how to install TP-Link AC600 Archer T2U Nano WiFi USB adapter in Fedora, Ubuntu and openSUSE Linux distributions and how to connect to 5G Wireless Internet connection in Linux.
Table of Contents
Introduction
A few days ago, I switched to Jio Fiber 5G broadband connection. The Internet provider gave me a dual band router that supports both 2.4 GHz and 5 GHz channel.
Unfortunately, the built-in WiFi network interface in my Laptop doesn't support 5 GHz channel. It is a bit old Dell Laptop that supports 2.4 GHz channel only.
After doing a lot of web search, I bought TP-Link AC600 USB WiFi Adapter (Archer T2U Nano) from Amazon.
Compared to other WiFi USB network adapters, the TP-Link AC600 Archer T2U model has many advantages. It is tiny, compact and high speed WiFi adapter that supports 2.4 GHz and 5 GHz band.
It is capable to provide 433 Mbps speed on 5GHz (ideal for HD streaming and online gaming) and 200Mbps on 2.4GHz (perfect for normal web browsing).
Archer T2U nano adapter supports 64/128-bit WEP, WPA/WPA2, and WPA-PSK/WPA2-PSK encryption standards. So your wireless connections are safe from intruders.
Another notable advantage of Archer T2U nano WiFi USB adapter is it supports WiFi roaming. It automatically connects to the suitable WiFi network near you.
If you are ever looking for a dual-band WiFi router for faster speed and extended range, TP-Link AC600 Archer T2U Nano WiFi USB adapter is undoubtedly good choice.
Even though Archer T2U nano adapter has some good features, it has one drawback. It supports Windows and Mac OS only. There is no official drivers for Linux.
Fortunately, I came across an unofficial driver for Archer T2U Nano on GitHub and it works out of the box on Fedora and Ubuntu systems.
Install TP-Link AC600 Archer T2U Nano WiFi USB Adapter in Linux
As stated already, Archer T2U nano works well on Fedora, Ubuntu and openSUSE Linux distributions. First, we will see how to install TP-Link AC600 Archer T2U Nano wifi adapter on Fedora.
1. Install TP-Link AC600 Archer T2U Nano on Fedora
First, check if the TP-Link Archer T2U is detected on your Fedora system by listing the USB devices using command:
$ lsusb
Sample output:
Bus 002 Device 003: ID 0bda:0138 Realtek Semiconductor Corp. RTS5138 Card Reader Controller
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 064e:8123 Suyin Corp.
Bus 001 Device 006: ID 0cf3:3005 Qualcomm Atheros Communications AR3011 Bluetooth
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 007: ID 2357:011e TP-Link AC600 wireless Realtek RTL8811AU [Archer T2U Nano]
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
As you can see, TP-Link AC600 Archer T2U nano model wireless card is detected. Let us go ahead and install Archer T2U nano driver in Linux.
Before installing the Archer T2U nano driver, make sure you have installed the correct Kernel header files using command:
$ sudo dnf install "kernel-devel-uname-r == $(uname -r)"
If your Kernel and Kernel headers' version are different, the TP-Link WiFi card driver will not work. So it is mandatory to install the correct Kernel header files.
Next install the dkms
package which is used automatically recompile and install a kernel module when a new kernel gets installed or updated.
To install dkms
in Fedora, run:
$ sudo dnf install dkms
Since we are going to compile the drivers from source, we need to install make
and git
:
$ sudo dnf install make git
Next, git clone the rtl8812au
GitHub repository:
$ git clone https://github.com/aircrack-ng/rtl8812au.git
Sample output:
Cloning into 'rtl8812au'… remote: Enumerating objects: 11047, done. remote: Counting objects: 100% (85/85), done. remote: Compressing objects: 100% (57/57), done. remote: Total 11047 (delta 31), reused 51 (delta 26), pack-reused 10962 Receiving objects: 100% (11047/11047), 70.94 MiB | 2.37 MiB/s, done. Resolving deltas: 100% (7695/7695), done.
The rtl8812au GitHub repository contains RTL8812AU/21AU and RTL8814AU drivers with monitor mode and frame injection.
The above command clones the contents of rtl8812au GitHub repository in a local directory named rtl8812au
. Cd into the cloned directory:
$ cd rtl8812au/
Run the following command to compile and install TP-Link AC600 Archer T2U Nano WiFi USB adapter in your Fedora system:
$ sudo make dkms_install
Sample output:
mkdir -p /usr/src/8812au-5.6.4.2_35491.20191025 cp -r * /usr/src/8812au-5.6.4.2_35491.20191025 dkms add -m 8812au -v 5.6.4.2_35491.20191025 Creating symlink /var/lib/dkms/8812au/5.6.4.2_35491.20191025/source -> /usr/src/8812au-5.6.4.2_35491.20191025 DKMS: add completed. dkms build -m 8812au -v 5.6.4.2_35491.20191025 Kernel preparation unnecessary for this kernel. Skipping… Building module: cleaning build area… 'make' -j4 KVER=5.8.15-301.fc33.x86_64 KSRC=/lib/modules/5.8.15-301.fc33.x86_64/build…………………………… cleaning build area… DKMS: build completed. dkms install -m 8812au -v 5.6.4.2_35491.20191025 88XXau.ko.xz: Running module version sanity check. Original module No original module exists within this kernel Installation Installing to /lib/modules/5.8.15-301.fc33.x86_64/extra/ Adding any weak-modules depmod….. DKMS: install completed. dkms status 8812au, 5.6.4.2_35491.20191025, 5.8.15-301.fc33.x86_64, x86_64: installed
Once the driver is installed, remove the USB adapter and plug in again. The LED in the Archer T2U nano adapter will start to blink.
You can verify if the Archer T2U nano driver (i.e. RTL8812AU
) is installed and loaded with command:
$ sudo dkms status
If you see an output like below, congratulations! TP-Link AC600 (Archer T2U Nano) Wireless adapter has been successfully installed!
8812au, 5.6.4.2_35491.20191025, 5.8.15-301.fc33.x86_64, x86_64: installed
2. Install TP-Link AC600 Archer T2U Nano on Ubuntu
Installing TP-Link AC600 Archer T2U nano wifi USB adapter in Ubuntu is same as above.
Install the necessary dependencies and Kernel headers in Ubuntu Linux with command:
$ sudo apt install dkms git build-essential libelf-dev linux-headers-$(uname -r)
Git clone the rtl8812au
GitHub repository:
$ git clone https://github.com/aircrack-ng/rtl8812au.git
Cd into the cloned directory:
$ cd rtl8812au/
Finally, install TP-Link AC600 Archer T2U Nano WiFi USB adapter in Ubuntu using command:
$ sudo make dkms_install
Unplug the TP-Link Archer T2U nano adapter and plug it again. The LED will start to blink. Verify if the driver is installed and loaded using command:
$ sudo dkms status
If the TP-Link AC600 WiFi USB adapter is installed, you will see the following output:
8812au, 5.6.4.2_35491.20191025, 5.11.15-1-default, x86_64: installed
3. Install TP-Link AC600 Archer T2U Nano on openSUSE
Install Kernel headers and all necessary prerequisites on your openSUSE machine:
$ sudo zypper install kernel-source
$ sudo zypper install git dkms
Git clone the rtl8812au
GitHub repository:
$ git clone https://github.com/aircrack-ng/rtl8812au.git
Cd into the cloned directory:
$ cd rtl8812au/
Run the following command to install TP-Link AC600 Archer T2U Nano WiFi USB adapter in openSUSE:
$ sudo make dkms_install
Remove he TP-Link Archer T2U nano adapter and plug it again. The LED will start to blink. Verify if the driver is installed and loaded using command:
$ sudo dkms status
If the TP-Link AC600 WiFi USB adapter is installed correctly, you will see the following output:
8812au, 5.6.4.2_35491.20191025, 5.11.15-1-default, x86_64: installed
Connect to 5G Wireless network in Linux
Open System Settings in your Linux machine. Under WiFi section, you will see there are two WiFi adapters listed. One is built-in WiFi interface and another one is TP-Link AC600 Archer T2U nano USB WiFi adapter.
Click the TP-Link card and you will see the list of available 5G wireless connections. Choose a 5G network in the list and click Connect.
Alternatively, you can connect to 5G WiFi network from the Gnome Top bar menu as well. Open the pop out menu from the Top bar, and click "Select Network" option.
Choose the 5G wifi network in the list and click Connect.
That's it. Start using High Speed 5G Internet connection in your laptop/desktop.
To view the list of WiFi connections from the command line, run:
$ nmcli device wifi list
Here is my Internet speed on 2.4 GHz and 5 GHz Wireless adapters.
Internet speed on 2.4 GHz (onboard WiFi):
Internet speed on 5 GHz (TP-Link AC600 Archer 2TU Nano WiFi USB adapter):
I have been using TP-Link AC600 Archer T2U Nano WiFi USB adapter in my Dell Laptop for the past few days. So far it works just fine and I don't have any issues with it.
Uninstall driver
To remove the driver from your system, cd into the directory that contains the source code and execute the following command:
$ sudo make dkms_remove
Conclusion
If you want to connect to 5G networks in your legacy Laptop or Desktop, just buy TP-Link AC600 Archer T2U Nano WiFi USB adapter or any other 5G supported WiFi adapter and enjoy High Speed Internet connectivity.
Resource:
47 comments
Hi SK –
Thank You for posting this driver. I already had the TP-Link AC600 to allow my Dell All-in-One to access 5G WiFi while running Windows. Then I converted to Ubuntu [22.04.1 LTS] and of course 5G no longer worked.
I followed your install directions without problem (unusual for me as I am totally new to Linux and the Command Line) until I got to dkms install and then Terminal complained about the fact that rtl8812au already existed and was not empty.
I moved rtl8812au to downloads and added backup to the name in order to preserve it and then deleted rtl8812au from Home and started over with your instructions. This time it progressed further but complained about the dkms tree already existing and containing 8812au, 5.6.4.2_35491 or something like that. [I apologize, I thought I had copied the terminal process and could paste it here for you but it did not work.]
Do I need to delete rtl8812au again and start over doing something differently?
Thank You for your help.
You don’t need to delete the “rtl8812au” directory. Just continue the rest of the installation steps. Upon successful installation, you might see an output like below.
8812au, 5.6.4.2_35491.20191025, 5.11.15-1-default, x86_64: installed
If you got the above output, the driver is installed and you should be able to connect to 5G networks. If not, you might have either missed some installation steps or it could be other issue. In that case, I suggest you to start over by deleting the rtl8812au directory. If it still doesn’t help, reinstall your OS and try again in a freshly installed system. Good luck.
Thank you for the very clear instructions! I had an old unused AC600 High Gain and was able to quickly resurrect an old desktop that had been sitting in the basement for years. I followed the Ubuntu instructions on Linux Mint 21.1 and now get 200 Mbps download speed. With the aid of a $15 SSD, the computer is running far better than new.
Work for me on Pop! OS 22.04 – LTS
Although I was fooled at first due to the output of “lsusb”
I only got the first part without the description:
Bus 002 Device 004: ID 2357:011e
Lots of other entries but one description was blank. That was the TP-link
All is well that ends well! Cheers!
Does the TP-Link AC600 Nano support Packet Injection, or does it only support Monitor Mode?
I don’t know because I never checked it. Please check the product’s manual.
Great guide, I got it working on a HP thin client running Ubuntu LXQt
Using Ubuntu 22.04
Linux NBDLD9MN7S2 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Everything worked fine. Was able to install the drivers properly.
v2x@NBDLD9MN7S2:~/Downloads/rtl8812au$ ls -l
total 236
drwxrwxr-x 11 v2x v2x 4096 Jul 14 10:30 android
drwxrwxr-x 4 v2x v2x 4096 Jul 14 10:30 core
-rw-rw-r– 1 v2x v2x 308 Jul 14 10:30 dkms.conf
drwxrwxr-x 2 v2x v2x 4096 Jul 14 10:30 docs
drwxrwxr-x 8 v2x v2x 4096 Jul 14 10:30 hal
drwxrwxr-x 5 v2x v2x 4096 Jul 14 10:30 include
-rw-rw-r– 1 v2x v2x 99 Jul 14 10:30 Kconfig
-rw-rw-r– 1 v2x v2x 18092 Jul 14 10:30 LICENSE
-rwxrwxr-x 1 v2x v2x 58050 Jul 14 10:30 Makefile
drwxrwxr-x 3 v2x v2x 4096 Jul 14 10:30 os_dep
drwxrwxr-x 2 v2x v2x 4096 Jul 14 10:30 platform
-rw-rw-r– 1 v2x v2x 8413 Jul 14 10:30 README.md
-rw-rw-r– 1 v2x v2x 105853 Jul 14 10:30 ReleaseNotes.pdf
drwxrwxr-x 3 v2x v2x 4096 Jul 14 10:30 tools
v2x@NBDLD9MN7S2:~/Downloads/rtl8812au$ sudo make dkms_install
mkdir: created directory ‘/usr/src/8812au-5.6.4.2_35491.20191025’
cp -r * /usr/src/8812au-5.6.4.2_35491.20191025
dkms add -m 8812au -v 5.6.4.2_35491.20191025
Creating symlink /var/lib/dkms/8812au/5.6.4.2_35491.20191025/source -> /usr/src/8812au-5.6.4.2_35491.20191025
dkms build -m 8812au -v 5.6.4.2_35491.20191025
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…
‘make’ -j8 KVER=5.19.0-46-generic KSRC=/lib/modules/5.19.0-46-generic/build………………
Signing module:
Generating a new Secure Boot signing key:
Can’t load /var/lib/shim-signed/mok/.rnd into RNG
4017CF19A27F0000:error:12000079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:106:Filename=/var/lib/shim-signed/mok/.rnd
……+…..+……….+……..+……+.+…+……+………..+.+…+……+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*…………….+..+.+..+…+…….+…..+.+..+….+…+…………+…+…+……..+……+…+.+………+…+..+……+.+…..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+………+….+……..+…+….+..+…+…………+…+…+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
….+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*….+..+………+……………+.+……..+…+….+…+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*….+…+………………….+…+…………+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
—–
– /var/lib/dkms/8812au/5.6.4.2_35491.20191025/5.19.0-46-generic/x86_64/module/88XXau.ko
Secure Boot not enabled on this system.
cleaning build area…
dkms install -m 8812au -v 5.6.4.2_35491.20191025
88XXau.ko:
Running module version sanity check.
– Original module
– No original module exists within this kernel
– Installation
– Installing to /lib/modules/5.19.0-46-generic/updates/dkms/
depmod….
dkms status -m 8812au
8812au/5.6.4.2_35491.20191025, 5.19.0-46-generic, x86_64: installed
v2x@NBDLD9MN7S2:~/Downloads/rtl8812au$ sudo dkms status
8812au/5.6.4.2_35491.20191025, 5.19.0-46-generic, x86_64: installed
But when i connect the dongle, kernel debug shows that the firmware load is failing.
[ 2749.084619] usb 1-2: new high-speed USB device number 7 using xhci_hcd
[ 2749.233482] usb 1-2: New USB device found, idVendor=0bda, idProduct=c820, bcdDevice= 2.00
[ 2749.233502] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2749.233509] usb 1-2: Product: 802.11ac NIC
[ 2749.233516] usb 1-2: Manufacturer: Realtek
[ 2749.233521] usb 1-2: SerialNumber: 123456
[ 2749.245460] rtk_btusb: btusb_probe intf->cur_altsetting->desc.bInterfaceNumber 0
[ 2749.245470] rtk_btusb: btusb_probe can_wakeup 1, may wakeup 0
[ 2749.245477] rtk_btusb: patch_add
[ 2749.245481] rtk_btusb: auto suspend is disabled
[ 2749.245486] rtk_btusb: pid = 0xc820
[ 2749.245491] rtk_btusb: patch_add: Reset gEVersion to 0xff
[ 2749.245505] rtk_btusb: set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
[ 2749.245817] rtk_btusb: btusb_probe: done
[ 2749.245851] rtk_btusb: btusb_open start
[ 2749.245862] rtk_btusb: btusb_open hdev->promisc ==0
[ 2749.245874] rtk_btusb: download_patch start
[ 2749.245880] rtk_btusb: chip type value: 0x72
[ 2749.245890] rtk_btusb: HCI reset.
[ 2749.254673] rtk_btusb: read_ver_rsp->lmp_subver = 0x8821
[ 2749.254678] rtk_btusb: read_ver_rsp->hci_rev = 0xc
[ 2749.254680] rtk_btusb: patch_entry->lmp_sub = 0x8821
[ 2749.254682] rtk_btusb: load_firmware start
[ 2749.254683] rtk_btusb: lmp_version = 0x8821
[ 2749.254685] rtk_btusb: config filename rtl8821cu_config
[ 2749.254723] usb 1-2: Direct firmware load for rtl8821cu_config failed with error -2
[ 2749.254728] rtk_btusb: fw name is rtl8821cu_fw
[ 2749.254760] usb 1-2: Direct firmware load for rtl8821cu_fw failed with error -2
[ 2749.254765] rtk_btusb: load firmware failed!
[ 2749.254768] rtk_btusb: Rtk patch end -1
[ 2749.254771] rtk_btusb: btusb_open failed
Hey, I didn’t check this in Ubuntu 22.04 LTS yet, so I can’t help at the moment. Please post your issue in the official GitHub repository. https://github.com/aircrack-ng/rtl8812au
Sounds pretty straight forward, however, since you are building the driver from source using the kernel headers, are you going to need to rebuild every time you run a system update (dnf) and update to a new kernel version?
No. One time installation is enough.