Realtek 802.11ac USB Wi-Fi Linux Driver Installation

Target Devices

Adapters with chipset: RTL8811AU, RTL8812AU, RTL8814AU.

Note: Kali currently uses a separate driver for RTL8814AU.

Driver Information

Developed internally by Realtek, and then patched by open community members.

This drivers is not mainlined (might never will be, from the look of it), so you’ll be loading a self-compiled out-of-tree kernel module. If you are running on a system using UEFI Secure Boot, you may need to either disable Secure Boot or sign the kernel module before you can load it. (We won’t cover that here.)

To check the status of Secure Boot, run

mokutil --sb-state

Output will be one of the following:

  • SecureBoot enabled — using UEFI, Secure Boot enabled
  • SecureBoot disabled — using UEFI, Secure Boot disabled
  • EFI variables are not supported on this system — not using UEFI, Secure Boot disabled

Driver Installation

Kali Linux

For those who are running Kali Linux ARM Image on Raspberry Pi, the driver should be installed already.

For x86 users, install package realtek-rtl88xxau-dkms.

sudo apt update
sudo apt install realtek-rtl88xxau-dkms

Parrot OS

Security edition has package realtek-rtl88xxau-dkms installed by default. If this is not the case, follow the same instructions above for Kali Linux.

Debian and Its Derivatives (on x86, x86_64 Platforms)

Debian, Ubuntu, Linux Mint, Pop!_OS, elementary OS, etc.

APT is able to install local deb file since version 1.1 — we can use that to install realtek-rtl88xxau-dkms from Kali.

Find the latest deb packages from Kali’s repository. realtek-rtl88xxau-dkms depends on realtek-rtl8814au-dkms since 25th of May 2021, so we’ll get deb files of these two.

At the time of writing/updating, the latest ones are:

sudo apt update
sudo apt install ./realtek-rtl88xxau-dkms_5.6.4.2~git20231117.a3e0c0b-0kali1_all.deb ./realtek-rtl8814au-dkms_5.8.5.1~git20231211.866a910-0kali1_all.deb

Although not tested, some distros should be able to perform the whole process in GUI — download deb files through browser and double-click to install. (Install realtek-rtl8814au-dkms first, then realtek-rtl88xxau-dkms.)


sudo dnf install dkms kernel-devel make

Note that because the kernel module is built with DKMS you should ensure you have installed and rebooted to latest kernel update before installing.

git clone -b v5.6.4.2
cd rtl8812au
sudo make dkms_install

RHEL and Its Derivatives (on x86, x86_64 Platforms)

RHEL, CentOS, AlmaLinux, Rocky Linux, etc.

sudo yum install epel-release
sudo yum install git dkms kernel-devel make

Note that because the kernel module is built with DKMS you should ensure you have installed and rebooted to latest kernel update before installing.

git clone -b v5.6.4.2
cd rtl8812au
sudo make dkms_install

Arch Linux

These instructions are expansions of

sudo pacman -Syu --needed base-devel git dkms linux-headers

If you’re not using the default kernel, package linux-headers should be changed respectively. Say you’re using LTS kernel, the command would then be

sudo pacman -Syu --needed base-devel git dkms linux-lts-headers

Note that because the kernel module is built with DKMS you should ensure you have installed and rebooted to latest kernel update before installing.

git clone
cd rtl88xxau-aircrack-dkms-git
makepkg -si


Getting package URI

In case that repository URL changes in the future, spin up a Kali VM or even a Docker container, and run

sudo apt update
apt download --print-uris realtek-rtl88xxau-dkms realtek-rtl8814au-dkms

Monitor, Injection Support

Your miles may vary on distros other than Kali, which is specifically tweaked for pentesting.



Posted in Technical.


  1. Hi,

    on pi with kernel I got, any suggestions?

    pi@raspberrypi:~ $ sudo apt install ./realtek-rtl88xxau-dkms_5.3.4~20200115-0kali1_all.deb
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Note, selecting ‘realtek-rtl88xxau-dkms’ instead of ‘./realtek-rtl88xxau-dkms_5.3.4~20200115-0kali1_all.deb’
    realtek-rtl88xxau-dkms is already the newest version (5.3.4~20200115-0kali1).
    0 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
    1 not fully installed or removed.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Setting up realtek-rtl88xxau-dkms (5.3.4~20200115-0kali1) …
    Removing old realtek-rtl88xxau-5.3.4~20200115 DKMS files…

    Deleting module version: 5.3.4~20200115
    completely from the DKMS tree.
    Loading new realtek-rtl88xxau-5.3.4~20200115 DKMS files…
    It is likely that 4.19.75+ belongs to a chroot’s host
    Building for 4.19.75+, 4.19.75-v7+, 4.19.75-v7l+ and 4.19.75-v8+
    Building initial module for 4.19.75+
    Error! Bad return status for module build on kernel: 4.19.75+ (armv6l)
    Consult /var/lib/dkms/realtek-rtl88xxau/5.3.4~20200115/build/make.log for more information.
    dpkg: error processing package realtek-rtl88xxau-dkms (–configure):
    installed realtek-rtl88xxau-dkms package post-installation script subprocess returned error exit status 10
    Errors were encountered while processing:
    E: Sub-process /usr/bin/dpkg returned an error code (1)

  2. Hi, I installed the drivers on Ubuntu/Debian based distros but the USB wifi adapter does not automatically connect to Wifi on reboot. I also have to reconnect to my network but it saves as a new connection each time. Any suggestions?

    • This is most likely not driver related but connection or interface name manager setting related. Connection profile usually includes some properties that specify the name or MAC address of interface it matches to, and also whether it is going to automatically connect. Thus I’m guessing either interface name manager somehow didn’t name that interface the same across reboot (did you plug the adapter to a different physical port?), or the connection profile wasn’t written properly.

    • Thanks for this!

      I bought 2 BrosTrend AC1200s. One I never could get to work in Mint 20, the other I was able to, but the way I went about it wouldn’t survive reboot and it was directly compiled and installed via modpro

      I used your method to pull from the Kali distro and installed through Apt and voila! Works perfectly with the latest src from the aircrack guys.

      For those wondering, BrosTrend seems to have 3 versions of their AC1200. I didn’t notice, but half my problem was this version issue.

      One unit was V1 and contained the rtl8812au chip, the other one was V2 and contained the rtl8822au chip (can’t find a way to get that chip working on Linux so it’s relegated to a Windows machine for now until I can play around with NDISWrapper) and it seems they now sell a V3 that’s explicitly marketed towards working in Linux. Probably uses a chipset with built-in kernel support.

      • BrosTrend seems to have RTL8812AU, RTL8812BU and RTL8811CU in their products.

        None of these chipsets got built-in kernel support. One will find lots of different versions of driver from various sources out there.

        Aircrack-ng community offers a relatively mature driver for RTL8812AU, as described in this article, that includes monitor mode and frame injection support.

        For those who don’t have pentesting demands, BrosTrend offers driver deb package here for each of the three chipsets.

  3. Many thanks!
    I have EDUP USB WiFi Adapter Wireless and finally, it worked on my Linux Deepin 20.1

    I used these commands :
    # wget
    # sudo apt update
    # sudo apt install ./realtek-rtl88xxau-dkms_5.6.4.2~git20200916-0kali1_all.deb

    * More accurate I just copied the link and downloaded it using google chrome then I clicked on the downloaded file to install it. DONE!

    I will write the product name I bought from amazon so other people can easily find the solution:
    USB WiFi Adapter Wireless Network Adapters AC 600Mbps Dual Band 2.4G/5.8Ghz Wi-Fi Dongle with External Antenna for Laptop Desktop PC Compatible with Windows 10/8.1/8/7/XP/Vista /Mac OS X 10.6~10.15.3

  4. THANK YOU! You sir deserve a medal. I had so much trouble installing Archer T4u V3 drivers in Kali Linux version 5.10.0-kali3-amd64 and I spent at least 4-5 hours going through tons of different pages and in the end I found out that realtek drivers is all you really need. In most of the instructions I found, you had to change the source code and do all sorts of complex stuff…

    I can also say that the documentation and files from TP-Link ( were complete bullshit and resulted in a waste of time . How can they fail so bad in creating the documentation?

    Now I can finally use USB WiFi adapter in virtualbox and when I type ip a it is shown as wlan0. Again, thank you so much!

  5. This just short Tutorial for NEWBIE (like me!) using and installing driver USB Wifi driver for Linux Debian and it’s derivatives (Debian, Ubuntu, Linux Mint, Pop! OS, Elementary OS, etc.)

    When suddenly your switching OS distro or updating OS or accidently delete some part of software sometimes your Wifi driver are no support and got blank your mind…, Yeah thats right!

    First STEP :
    1. You only need your smartphones or your moms/dads/girlfriends/neigborhoods phones and make sure also they have “Internet Mobile Data”.
    2. You need to open “Developer Options” on your smartphone to do that first before.
    3. Open your phone “Settings” and find “About Phone” and select “Version Number” and then clik 7x (Seven times).
    4. Inside “Developer Options” find or scroll to the “Network” and select “Select USB Configuration” and then select again to the “USB Ethernet (RNDIS)”.
    5. After this all you need is USB cable connected to your PC or Laptop and it’s done … now you ready online!

    Second STEP :
    1. Installing GDebi (I’m using Geary on POP_OS that are same software). You can find GDebi in Ubuntu Software Center. Just search for it and install it from there.
    2. Installing the latest “realtek-rtl88xxau-dkms” deb package from Kali’s repository.
    3. After this just type in your linux terminal “Sudo Reboot” to reboot your PC or Laptop.
    4. It’s done , just try to check it out !

    I’m trying many times using this method when i switch to OS distros or update Linux Kernel. It’s really saving my times and work to do! Thanks for your time to read this and Mega thanks to for complete tutorials !

    Source :

  6. Thank you so much! Your know-how is excellent and you described the tasks needed in a nutshell that works. You have no idea how many other “instructions” to install the driver I checked before.

    I am working on artificial intelligence, maybe we can exchange a few ideas if you like. What I am doing is completely different from what Google thinks AI is. I am always happy to talk to people with a bright mind.

    • Solus doesn’t seem to have DKMS package, it will require human intervention after each kernel update to keep it working. Technically it is possible, but I wouldn’t recommend it, you’re on your own.

  7. Hi Kuan yi

    I m working on putting this driver to my aosp. Would it possible to be a loadable module .ko without rebuilding the kernel?

  8. Thank you a lot! Your knowledge is exceptional, and you concisely outlined the tasks required. You have no clue how many different “instructions” I looked up to install the driver.

  9. Great blog. Thank you!
    Following your instruction for Arch Linux on my Manjaro Linx box, I managed to get my TP-Link T2U Nano wifi dongle to work perfectly. Keep up with your great work.

  10. hi,
    sorry I am a newbie I have installed
    in my Ubuntu, may I ask then what? nothing happened, and even the WIFI icon did not appear in the upper right corner.

    I am sure my WIFI adapter is wireless lan 802.11ac ,and after I click your two stuff there is only a uninstall button in the widget.

    Please anyone could help me ?

  11. Thank you very much, without this post I would never have been able to run a computer with a burned Ethernet network card, the packages worked wonderfully in Linux Mint 21.03, again thank you very much.

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha loading...