How to install driver for Wi-Fi for adapters with RTL8814AU chipset (Alfa AWUS1900)

See also: How to install Wi-Fi driver in Linux if the computer is offline

What is the chipset in Alfa AWUS1900

The RTL8814AU chipset has the following W-Fi adapters:

  • Alfa AWUS1900
  • TRENDnet TEW-809UB
  • ASUS USB-AC68
  • TP-LINK Archer T9UH
  • D-Link DWA-192

They are especially loved by those who perform wireless security testing of Wi-Fi networks, since they are modern wireless adapters that support monitor mode and can perform wireless injections.

The best on this list is the Alfa AWUS1900.

Previously, the realtek-rtl88xxau-dkms driver had support for the RTL8814AU chipset and for these wireless cards to work, it was enough to install the specified driver – on Kali Linux this could be done directly from the default repository, on other distributions it had to be compiled. But now RTL8814AU chipset support is disabled in the realtek-rtl88xxau-dkms driver! A separate driver has been made for this chipset, which may conflict with RTL8814AU! These changes are recent, so the old instructions for installing the driver for the Alfa AWUS1900 do not work.

If you do not need the realtek-rtl88xxau-dkms driver (now supports RTL8812AU/21AU chipsets), then uninstall it:

sudo apt remove realtek-rtl88xxau-dkms

If you need it, then do not delete it and check if they will conflict.

How to install the Alfa AWUS1900 (RTL8814AU) driver in Kali Linux

To install the RTL8814AU driver, run the following commands.

Install dependencies:

sudo apt install dkms build-essential libelf-dev linux-headers-`uname -r`

Download driver source code:

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

Install the driver as a DKMS module – this means that when updating the kernel, you do not have to manually recompile the driver for the new kernel version. This will be done automatically by the DKMS module. Also note that the make command is unnecessary since the compilation is done by the DKMS module.

sudo make dkms_install

A reboot may be required for the driver to work.

Pay attention to the lines:

DKMS: install completed.
dkms status
8814au, 5.8.5.1, 5.9.0-kali2-amd64, x86_64: installed

DKMS reports that the installation is complete and that the status for 8814au is “installed”.

If you want to remove this driver, then go to the source code folder and execute there:

sudo make dkms_remove

Attention, if you encounter an error, then check the section “Installing driver on Linux kernel >= 5.12”.

How to install rtl8814au driver in Arch Linux, BlackArch

Start by installing the pikaur program according to the “Automatic installation and update of AUR packages” article. The pikaur program is analogous to pacman, but for working with the AUR, it allows you to automatically install and update programs from the AUR. You will definitely love pikaur!

Then run the command:

pikaur -S rtl8814au-aircrack-dkms-git

How to install rtl8814au driver in Debian, Linux Mint, Ubuntu

Run the following commands to install the rtl8812au driver.

Install dependencies:

sudo apt update
sudo apt install git build-essential libelf-dev linux-headers-`uname -r` debhelper dpkg-dev dkms bc

Download driver source code:

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

Install the driver as a DKMS module – this means that when updating the kernel, you do not have to manually recompile the driver for the new kernel version. This will be done automatically by the DKMS module. Also note that the make command is unnecessary since the compilation is done by the DKMS module.

sudo make dkms_install

dkms status
8812au, 5.6.4.2_35491.20191025, 4.19.0-10-amd64, x86_64: installed
8814au, 5.8.5.1, 4.19.0-10-amd64, x86_64: installed

DKMS reports that the installation is complete and that the status for 8814au is “installed”.

Removing the driver

To remove a driver from your system, open a terminal in your source directory and run the following command:

sudo make dkms_remove

How to set Alfa AWUS1900 into monitor mode

The main thing to learn by now is to use the “ip” and “iw” commands instead of “ifconfig” and “iwconfig” – this applies to all Wi-Fi adapters.

For details, see the article: Linux Wi-Fi Cheat Sheet: Tips and Troubleshooting.

USB2.0/3.0 mode switch

Initial it will use USB2.0 mode which will limit 5G 11ac throughput (USB2.0 bandwidth only 480Mbps => throughput around 240Mbps). When modprobe add following options will let it switch to USB3.0 mode at initial driver:

options 8814au rtw_switch_usb_mode=1

Switch usb2.0 => usb3.0

sudo sh -c "echo '1' > /sys/module/8814au/parameters/rtw_switch_usb_mode"

Switch usb3.0 => usb2.0

sudo sh -c "echo '2' > /sys/module/8814au/parameters/rtw_switch_usb_mode"

Installing driver on Linux kernel >= 5.15

When installing the driver on Linux kernels >= 5.15, you may encounter an error:

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
'make' -j4 KVER=5.15.0-kali2-amd64 KSRC=/lib/modules/5.15.0-kali2-amd64/build.....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.15.0-kali2-amd64 (x86_64)
Consult /var/lib/dkms/8814au/5.8.5.1/build/make.log for more information.
make: *** [Makefile:2410: dkms_install] Ошибка 10

The driver in its current form is not compatible with Linux kernel version >= 5.15. But there are already patches that solve the problem. Undoubtedly patches will be added to the main branch; before this happens, use the following code to install the driver:

git clone https://github.com/morrownr/8814au
cd 8814au
sudo ./install-driver.sh

Recommended for you:

28 Comments to How to install driver for Wi-Fi for adapters with RTL8814AU chipset (Alfa AWUS1900)

  1. Lucky says:

    Although it supports monitoring mode, it does not support virtual interface mode

    Leading to the failure of well-known tools such as fluxion and Airgeddon

    I wonder if there are other solutions?

  2. Gorlock says:

    Dude! You are our go-to-guy in these matters! Tried 4 other sources. This did it for us. You're doing the lord's work, my man

  3. Anonymous says:

    there is a typo on sudo make dkms install where should be sudo make dkms_install 

    But thank you very much for the post

    Best Regards

    Reyansh

    • Alex says:

      Greetings! If you copy the specified command from this article and paste it into the console, you will get exactly the right version. Due to the peculiarities of the plugin, which displays formatted source code, part of the bottom line does not reach the screen, including the underscore character - but in reality it is there.

      Anyway, thank you, your comment can help other users who do not copy-paste, but type commands.

  4. Frank says:

    Love you!

    I messed around with this more than an hour.
    Then I found this, and was running in 2 minutes.

    All the information was elsewhere, but "information" only help the one who knows how to use it. Otherwise we need instructions that work.

    - - -
    Debian 5.10.0-6-amd64,
    TP-Link Archer T9UH v1 [Realtek RTL8814AU]

  5. Jay says:

    This is a nice thorough writeup Alex. Thanks.

    I'm an Old Noob. The worst kind. But I figure it's always good to learn something new.

    I just bought the AWUS 1900. It came with a DVD v3.0 but without a date on it. Would this have been updated in the install DVD? The box itself says it will work on Linux kernal 2.4 or later.

    This being my first run at any of this, forgive my lack of basic insight. You say "Decide if I need the the 14AU driver. How does one know?

    I want to play around with Kali on a Pi at first. So do I do this update via the Pi4 or my win 10 PC. Which has a 3.0 USB slot.  Again. Thanks for any wise advice from one who knows these things.

    PS- Does this method solve commentor Luckies issues regarding fluxion etc?

    • Alex says:

      I would recommend that you install the driver from your OS repository or from an online source as shown in this guide. The current driver version is v5.8.5.1, during the period of its development a lot of various bugs have been fixed.

  6. Dima says:

    after installing the driver awus1900 works. But I still can't get the handshake. I am using Kali Linux on virtualbox. Tell me how you can solve this problem.

  7. toothpaste says:

    I have followed the Kali linux instructions. Errors. Not able to get it working.

  8. mr says:

    Alex - thanks for the great walkthrough!  Super easy to follow and very well written.

    I'm using the rtl8814au-based AWUS1900 with Kali in VirtualBox.  Having a heck of a time getting it to scan.

    Followed everything in your great Linux Wifi cheatsheet post (https://miloserdov.org/?p=4819), but alas, when I go to scan from the command line (https://miloserdov.org/?p=4819#:~:text=How%20to%20scan%20APs%20on%20the%20command%20line), it looks like something's about to happen…….but about 15 seconds in, I get a "Scan aborted!" message.

    Thoughts?

    • Alex says:

      Hello! Run the following commands in three different terminals

      iw event
      ip monitor
      sudo journalctl -f | grep iw

      Then run the network scan again. Perhaps the output of the previous commands will give you a hint.

      • M R says:

        Hi Alex!

        Thanks for the quick reply and good ideas.  Seems that I'm getting a bit from those commands, but not certain it's enough to tell what's going wrong.

        Love to know your thoughts when you have a moment.  Really appreciate your help!

        --------

        I'll paste the results in separate replies below (due to comment length limit).

  9. M R says:

    iw event

     

  10. M R says:

    ip monitor

  11. M R says:

    sudo  journalctl -f | grep iw

  12. M R says:

    LAST ONE:

    attempted sudo iw dev wlan0 scan, followed by iw dev to check if in monitor mode, followed by nmcli dev status to make sure no issues with NetworkManager, followed by lsusb to make sure that the adapter is showing as plugged in/present
     

     

    • Alex says:

      I tried to reproduce the given error, but I failed, although I managed to get three new errors (and I added their solution here):

      • command failed: Network is down (-100)
      • command failed: Operation not supported (-95)
      • command failed: Device or resource busy (-16)

      Your screenshot shows that the interface is in monitor mode – this is wrong, the network interface must be in managed mode and be “up” for the “iw dev wlan0 scan” command. Try to set it in managed mode and scan again.

  13. Airbadone says:

    It doesn't work anymore 😐

    {Error! Bad return status for module build on kernel: 5.14.0-kali2-amd64 (x86_64)
    Consult /var/lib/dkms/8814au/5.8.5.1/build/make.log for more information.
    make: *** [Makefile:2410: dkms_install] Error 10}

    • Alex says:

      Hello! You are right, the driver in its current form is not compatible with Linux kernel version >= 5.12. But there are already patches that solve the problem. Undoubtedly patches will be added to the main branch; before this happens, use the following code to install the driver:

      git clone https://github.com/ayushbindlish/rtl8814au
      cd rtl8814au
      sudo make dkms_install
      
      • Airbadone says:

        Thanks Alex, appreciate it.

      • Mauricio says:

        Hi Alex,

        I have similar problem reported here.

        Error! Bad return status for module build on kernel: 4.18.0-348.12.2.el8_5.x86_64 (x86_64)

        Do you know a appropriate version for my case?

        Thanks advance.

  14. Gabberarmy says:

    Hey there! Thanks for the tut! Install etc. worked fine, also switching to monitor mode works. I just cant set any channel, no matter if via iwconfig or via airodump-ng. If i set a channel and check it via iwconfig, it shows no channel at all.

    • Alex says:

      Hello! I would recommend that you stop using iwconfig and switch to iw.

      Start by switching to monitor mode:

      sudo ip link set <INTERFACE> down
      sudo iw <INTERFACE> set monitor control
      sudo ip link set <INTERFACE> up

      When the wireless interface is in monitor mode, use the following command to switch to a specific channel:

      sudo iw dev <INTERFACE> set channel <NUMBER>

      If the previous command displays any messages or errors, write them in the comments.

      To check the current channel use the command:

      iw dev

      If you failed to switch to the channel, write the command used – you may be entering incorrect values.

      It is also recommended that you read “Linux Wi-Fi Cheat Sheet: Tips and Troubleshooting”.

  15. suicyco says:

    Hello community, I am using the alpha awus 1900 antenna, and I am using the latest version of kali.

    When entering the command "sudo make dkms_install", I see the following error:

    make: dkms: No such file or directory
    make: *** [Makefile: 2409: dkms_install] Error 127
                                                          
    Could anyone help me please?
    thank you very much community

    • Alex says:

      Hello! Obviously, you ignored the installation of the dkms package. Please install the required dependencies as shown in this manual and the error will disappear.

    • stef06500 says:

      Hello, thank you for all this work

      quick question 

      Is there any chance that AWUS1900 could support VIF ( virtual interface ) ?

      Is it an hardware limitation ? 

      I'm running Kali 2021.4 kernel 5.15 and vif not supported

       

      thank you

Leave a Reply

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