Driver for tp-link Archer T2U Nano


New Member
I've just bought this amazing new computer and had a wizard put Linux on it, so I can liberate myself from this Windows 10 hell..
I receive internet through a tp-link, have downloaded the driver for windows 10 and It works.. But I am having trouble finding and downloading a driver for Linux..

I found this guide, and wanted to walk through it..

When I go to the link (jeremyb31 on GitHub) for the driver I can´t figure out to locate the driver and download it..

Can somebody point my in the direction of a driver that will work, and give a newbie a few clues on how to activate it, so I can be up an running to discover Linux asap?

Thank you for you time and your help!
Kind regards Jonas


Well-Known Member
We need to know what distro you're using, but I'm going to assume it's a Debian derivative.

You don't need to point your browser there to install it. The author tells you how to install it.

It's probably CTRL ALT T, but open your terminal - your command line interface.

sudo apt install git dkms
git clone
cd rtl8812au-1
sudo ./
Copy/paste each of those, one line at a time, and press enter between each of them. You will be asked for your password. Type it out. Nothing will appear on the screen as you type it (for many distros). This is perfectly normal. Just type it and press enter.

Repeat that for each line. Each line will not always ask you to type your password.

What does it do?

1. It installs git and dkms. You'll need the first to interact with GitHub and the latter to write kernel changes.
2. This clones the git - moving the data on their site to your computer.
3. That changes directory to the directory you just created in the above step.
4. The 'sudo' elevates your permissions to be able to use the script you downloaded and then it runs the script with those elevated permissions.


New Member
Hi, thank you for your response!

My distro is Mint 20 Ulyana..

I copy/pasted all four lines, but on the last one it responded with the following:

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
'make' -j6 KVER=5.4.0-53-generic KSRC=/lib/modules/5.4.0-53-generic/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.4.0-53-generic (x86_64)
Consult /var/lib/dkms/rtl8812au/5.3.4/build/make.log for more information.
Finished running dkms install steps.

- What could be my next move?

Again, thank you!


Gold Member
Gold Supporter
What does the log say: /var/lib/dkms/rtl8812au/5.3.4/build/make.log? Could be something like the kernel-headers not being installed?


New Member
Ah, yes of course.. I'm an idiot... ;)
IT brings up a long text!

DKMS make.log for rtl8812au-5.3.4 for kernel 5.4.0-53-generic (x86_64)
lør 14 nov 13:45:38 CET 2020
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.4.0-53-generic/build M=/var/lib/dkms/rtl8812au/5.3.4/build O="" modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-53-generic'
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_cmd.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_security.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_debug.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_io.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ioctl_query.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ioctl_set.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ieee80211.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mlme.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mlme_ext.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_mi.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_wlan_util.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_vht.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_pwrctrl.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rf.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_recv.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_sta_mgt.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_ap.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh_pathtbl.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/mesh/rtw_mesh_hwmp.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_xmit.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_p2p.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rson.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_tdls.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_br_ext.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_iol.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_sreset.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_btcoex_wifionly.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_btcoex.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_beamforming.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_odm.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rm.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/rtw_rm_fsm.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/core/efuse/rtw_efuse.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/osdep_service.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/usb_intf.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/usb_ops_linux.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/ioctl_linux.o
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.c:1415:22: error: initialization of ‘u16 (*)(struct net_device *, struct sk_buff *, struct net_device *)’ {aka ‘short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *)’} from incompatible pointer type ‘u16 (*)(struct net_device *, struct sk_buff *, struct net_device *, u16 (*)(struct net_device *, struct sk_buff *, struct net_device *))’ {aka ‘short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *, short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *))’} [-Werror=incompatible-pointer-types]
1415 | .ndo_select_queue = rtw_select_queue,
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.c:1415:22: note: (near initialization for ‘rtw_netdev_ops.ndo_select_queue’)
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/xmit_linux.o
CC [M] /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/mlme_linux.o
cc1: some warnings being treated as errors
make[2]: *** [scripts/ /var/lib/dkms/rtl8812au/5.3.4/build/os_dep/linux/os_intfs.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1757: /var/lib/dkms/rtl8812au/5.3.4/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-53-generic'
make: *** [Makefile:1711: modules] Error 2


New Member
YEEEES!!! - Followed your instructions, and sure enough, after my reboot the Archer started blinking and the wireless connection is up and running! Thank you a trillion!

The task of getting to understand and communicate with the terminal and grasping how Linux is woven together honestly feels a bit overwhelming.. But I already feel extremely thankful and energized, learning that people are generous and willing to help - also when it comes to a newbie like me, who is dealing with just understanding the basics of this world....

Thank you for taking time to help me solve my issue, and look forward to my next hurdle! It probably won't be long before I ask a silly question again.. ;)


Gold Member
Gold Supporter
Also most of the wireless drivers are part of the kernel unless you have some card/chip that's not very common. Seems I forgot to check the default repositories, looks like that same driver should be in the Mint/Ubuntu repos since I found the package here. Which would mean all you had to do: sudo apt-get install rtl8812au-dkms. It's actually better to install the driver from the repos if it's available, I should have checked there first.
Last edited:


Well-Known Member
Yep, sometimes you just need to have a Sherlock Holmes hat nearby and follow the clues. By checking a few other forum links from Google, others find that the chip is an rtl8812au. The dkms tool is also referenced. Sometimes, you can take that info and just look in your distro's repositories, or in the software manager in your distro. So I looked in Synaptic (which is available in the *buntu variants, Mint, and other Debian derived distros) and did a search on "rtl", and a list came back identifying a package named "rtl8812au-dkms. Installing that package should provide the driver, even though TP-Link does not officially support this particular adapter - someone does!


New Member
Many thanks for your help with building and installing a driver for the above - for an older raspberry pi 2 which did not have wifi on board.

Members online