Realtek 802.11ac USB Wi-Fi Linux Driver Installation

Target Devices

Adapters with chipset: RTL8811AU, RTL8812AU (RTL8814AU have a separate driver now.)

Chipset Vendor Model
RTL8811AU ALFA Network AWUS036ACS
RTL8812AU ALFA Network AWUS036AC
ALFA Network AWUS036ACH
ALFA Network AWUS036EAC

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

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.

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.

First, find the latest realtek-rtl88xxau-dkms deb package from Kali’s repository.

At the time of writing/updating, the latest one is realtek-rtl88xxau-dkms_5.6.4.2~git20200916-0kali1_all.deb.

Although not tested, some distros should be able to perform the whole process in GUI — download deb package through browser and double-click to install.

Fedora

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

CentOS

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

Arch Linux

These instructions are expansions of

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

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

Appendixes

Getting package URI

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

Monitor, Injection Support

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

VID/PID

References

Posted in Technical.

9 Comments

  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.
    ——————————
    Done.
    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:
    realtek-rtl88xxau-dkms
    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.

Leave a Reply

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

Captcha loading...