Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to Install the Netgear A7000 (RTL8812AU/21AU/14AU) Linux Wifi Drivers.

Sources: aircrack-ng/rtl8812au, aircrack-ng/rtl8814au

How to Install the Netgear A7000 (RTL8812AU/21AU/14AU) Linux Wifi Drivers.

Note: This guide is purposefully simple. If you would like more information about what exactly each command is doing, try:

man `the command in question`

or go to the respective source repositories as mentioned above.

IF YOU ARE HAVING ISSUES DISABLE SECURE BOOT IN YOUR MOTHERBOARD'S SETTINGS

Install Package Dependencies

Debian GNU/Linux or Debian Based Distros (Ubuntu, Linux Mint, ElementaryOS, Pop_OS, etc.)

Run the following commands:

sudo apt update && sudo apt upgrade
sudo apt install dkms git build-essential libelf-dev linux-headers-`uname -r`

Then reboot your system.

Fedora Linux

This may work for CentOS/RHEL + EPEL, but I have not tested

Right now I know of no way to get this working on silverblue/rpm-ostree.

sudo dnf upgrade
sudo dnf install dkms make automake gcc gcc-c++ kernel-devel elfutils-libelf-devel kernel-headers git

Then reboot your system.

Build and Install the First Driver

git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git
cd rtl*
sudo make dkms_install

Then reboot your system. Rebooting may not be necessary here but I like to be safe

Build and Install the Second Driver

git clone https://github.com/aircrack-ng/rtl8814au.git
cd rtl8814au
sudo make dkms_install

One Final Reboot!

You should just be able to plug and play now. If you are still having issues, or have any questions, feel free to send a PR/Issue to me or the upstream projects!

Quick Problem Fix

If you are having any issues after something like a kernel update, this quick one-liner may be enough to fix it:

cd ~/rtl8812au && sudo make dkms_remove && git pull && sudo make dkms_install && cd ~/rtl8814au && sudo make dkms_remove && git pull && sudo make dkms_install && sudo reboot

(Updating your system first may also be smart)


-\ nickavem

@wvbe
Copy link

wvbe commented Jun 20, 2021

I love you man.

@theverymodelofamodernmajorgeneral

I think I must be missing something. I've followed all of these directions, and I am very, very grateful for them, but I am not seeing anything pop up after doing them. Something has happened to my machine somewhere in all my machinations, because just below the regular wired connection, I am getting an empty row:

Screenshot from 2021-07-03 15-37-14

But otherwise the machine shows no sign of knowing that I have a wireless device attached. I know at some level it can "see" it, because one of the many, many commands I have run over the past few hours have shown it show up clearly, but otherwise, nada.

Any help would be appreciated. I feel like I am missing something stupid, but it's not obvious. I have double-checked, for instance, that it's not logging in in safe mode, f'rinstance, and I've tried installing the drivers many times. For all I know, I've screwed up by having an older version on my machine. At this point, who knows?

@abhimadhav
Copy link

abhimadhav commented Jul 29, 2021

Does this work with kali linux?

@spasm01
Copy link

spasm01 commented Aug 14, 2021

unfortunately I cant seem to get past downloading from github due to some sign in change theyve made for downloading via terminal?

@Tyler-Johnston
Copy link

Tyler-Johnston commented Sep 9, 2021

Thank you so much!

@mrbrianrt
Copy link

mrbrianrt commented Dec 10, 2021

This is great and it works. The blue light on my adapter keeps blinking rapidly but should maybe be solid like it is on Windows, which is just slightly annoying but completely acceptable.

@jerrydont
Copy link

jerrydont commented Jan 12, 2022

Thanks so much! This worked.

@aranthorne
Copy link

aranthorne commented Jan 30, 2022

Hey nickavem:
I use the 8814au variant only. I have an A7000 made by Netgear.
I run Mint 20.3 with the 5.13.0-27-generic kernel using Cinnamon.

I had to modify a line in recv_linux.c on line 358 as follows:

if (rtw_napi_gro_receive(&padapter->napi, pskb))`

Prior to my change it had

if (rtw_napi_gro_receive(&padapter->napi, pskb) =! gro)

That line was throwing errors during the make process.

After the change that was done it worked wonderfully well.

Thanks

@thinkier
Copy link

thinkier commented Feb 5, 2022

For those using Raspbian on a Raspberry Pi, raspberrypi-kernel-headers is the linux-headers-uname -r equivalent.

I also needed to modify the Makefile's Platform Related values:

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y

@scottmacs
Copy link

scottmacs commented Jun 1, 2022

unfortunately I cant seem to get past downloading from github due to some sign in change theyve made for downloading via terminal?

I encountered that too. It's not difficult to generate the Personal Access Token. After you have it you use it instead of your password. https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment