There are several different hardware revisions, so first you'll need to figure out which one you have. There are a couple different methods:
- Look at the the device
Either on the label of the device or on the metal where it plugs in should be the FCC-ID
. The version is at the end of this value starting with V
, for example TE7T4UV32
is v3.2
For more information, see here: https://www.tp-link.com/support/faq/46/
- Match the device ID
Plug the device in, and run this command: lsusb
. You should see an entry like this one:
Bus 001 Device 007: ID 2357:0115 TP-Link 802.11ac NIC
The hardware ID should tell you which version you have:
2357:0101
: v1
2357:010d
: v2
2357:0115
: v3
Now you can install the driver depending which hardware version you have:
v1 and v2
These devices have the rtl8812au
chipset and you should be able to do as Pilot6 suggested:
sudo apt install rtl8812au-dkms
v3
This device has the rtl8812bu
chipset and you'll need to do a little more work to get it working. Thankfully there's a working driver available for it here: https://github.com/cilynx/rtl88x2bu
To get it working, you'll need to first install some packages and check out the Git repo:
sudo apt-get install build-essential dkms git
git clone https://github.com/cilynx/rtl88x2bu.git
Then follow the instructions here to install the driver:
cd rtl88x2bu
./deploy.sh
Note: I previously recommended the driver suggested by Diego (https://github.com/EntropicEffect/rtl8822bu), but I can no longer recommend that driver:
- After resuming from suspend, it would no longer connect to wireless networks and I would have to unplug and replug the device
- That driver is a fork of a fork and unfortunately there is no way to report issues
Upgrade v3 driver
If you've previously installed the kernel driver for the v3 device and need to upgrade it:
Update the git repository
- If you already have it checked out:
git pull
- Otherwise, re-clone it (see above)
Run the deploy script again
./deploy.sh
If you get an error, you may need to remove the driver first:
sudo dkms remove rtl88x2bu/5.8.7.1 --all
Install the driver for all other kernels (the deploy script only installs it for the current kernel)
ls /boot/initrd.img-* | cut -d- -f2- | \
sudo xargs -n1 /usr/lib/dkms/dkms_autoinstaller start
(Source: Command to rebuild all DKMS modules for all installed kernels?)
rtl8812au
you can trysudo apt install rtl8812au-dkms
from the official repos. – Pilot6 Apr 25 '20 at 10:55