[MIRROR] RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection https://github.com/aircrack-ng/rtl8812au
 
 
 
 
Go to file
Christian Bremvåg c7e1ce2ed3
Merge pull request #434 from CGarces/patch-3
Fix additional character at VENDOR_CWD_RAW_DATA (v.5.2.20)
2019-10-30 20:18:36 +01:00
core More cleanup around testchip 2019-03-29 01:33:48 +01:00
documents Upload more docs 2019-02-10 02:17:43 +01:00
hal Remove nonASCII symbol 2019-03-29 01:34:49 +01:00
include Adds definite sizes for MTUs. 2019-09-19 08:50:13 +03:00
os_dep Merge pull request #434 from CGarces/patch-3 2019-10-30 20:18:36 +01:00
platform Reduce some firmware load 2018-12-29 17:06:33 +01:00
tools Upload APK tool 2019-01-28 22:33:56 +00:00
.gitignore Added .gitignore 2018-07-02 19:21:30 +02:00
.travis.yml Fix compilation issue with kernel < 4.9 2019-10-23 20:02:22 +02:00
Kconfig Kconfig alignement 2018-08-05 20:52:37 +02:00
LICENSE Add LICENSE paper 2018-07-04 21:14:12 +02:00
Makefile Makefile: add support for Android / Nethunter ARM64 devices 2019-03-29 00:42:40 +01:00
README.md Add Arch to supporters OS 2019-02-10 03:44:39 +01:00
Realtek_Changelog.txt Allow build for kernels with backported cfg80211 API 2018-08-08 19:03:15 +02:00
dkms-install.sh sysctl restart 2019-03-28 19:14:03 +01:00
dkms-remove.sh Optimized Makefile + added DKMS 2018-07-02 19:20:53 +02:00
dkms.conf Fix alloc stainfo code 2019-03-28 23:40:03 +01:00
realtek_88XXau.conf Fix typo 2019-02-28 22:47:33 +01:00

README.md

RTL8812AU/21AU and RTL8814AU drivers

Supports Realtek 8811, 8812, 8814 and 8821 chipsets

Monitor mode Frame Injection GitHub version GitHub issues GitHub forks GitHub stars GitHub license
Kali Arch Armbian ArchLinux aircrack-ng wifite2

DKMS

This driver can be installed using [DKMS]. This is a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated. To make use of DKMS, install the dkms package, which on Debian (based) systems is done like this:

$ sudo apt-get install dkms

Installation of Driver

In order to install the driver open a terminal in the directory with the source code and execute the following command:

$ sudo ./dkms-install.sh

Removal of Driver

In order to remove the driver from your system open a terminal in the directory with the source code and execute the following command:

$ sudo ./dkms-remove.sh

Build / Install with Make

For building & installing the driver with 'make' use

$ make
$ make install

Using hostapd?

Check the documents folder for more information on how to setup wpa_cli and hostapd support on these drivers.
For 802.11ac (high speed), the driver also needs to be loaded with:
"modprobe -r 88XXau" && "modprobe 88XXau rtw_vht_enable=2"

# For a bit more info on AP/STA mode configuration, see following links:
  - http://blog.fraggod.net/2017/04/27/wifi-hostapd-configuration-for-80211ac-networks.html
  - https://github.com/mk-fg/archlinux-pkgbuilds/issues/2#issuecomment-325991813

Download / Build / Install

Download

$ git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git
$ cd rtl*

Package / Build dependencies (Kali)

$ apt-get install build-essential
$ apt-get install bc
$ apt-get install libelf-dev
$ apt-get install linux-headers-`uname -r`

For Raspberry (RPI 2/3) you will need kernel sources

$ wget "https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source" -O /usr/bin/rpi-source
$ chmod 755 /usr/bin/rpi-source
$ rpi-source 

Then you need to download and compile the driver on the RPI

$ git clone https://github.com/aircrack-ng/rtl8812au -b v5.2.20
$ cd rtl*
$ make
$ cp 8812au.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
$ depmod -a
$ modprobe 88XXau

then run this step to change platform in Makefile, For RPI 2/3:

$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile

But for RPI 3 B+ you will need to run those below which builds the ARM64 arch driver:

$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefile

For setting monitor mode

  1. Fix problematic interference in monitor mode.
$ airmon-ng check kill

You may also uncheck the box "Automatically connect to this network when it is avaiable" in nm-connection-editor. This only works if you have a saved wifi connection.

  1. Set interface down
$ ip link set <wlan1> down
  1. Set monitor mode
$  airmon-ng start <wlan1>
or
$ iw dev <wlan1> set type monitor
  1. Set interface up
$ ip link set <wlan1> up

For setting TX power

$ iwconfig <wlan1> txpower 30
or
$ iw <wlan1> set txpower fixed 3000

LED control

You can now control LED behaviour statically by Makefile, for example:

CONFIG_LED_ENABLE = n

value can be y or n

statically by module parameter in /etc/modprobe.d/8812au.conf or whatever, example:

options 88XXau rtw_led_enable=0

value can be 0 or 1

or dynamically by writing to /proc/net/rtl8812au/$(your interface name)/led_enable, for example:

$ echo "0" > /proc/net/rtl8812au/$(your interface name)/led_enable

value can be 0 or 1

check current value:

$ cat /proc/net/rtl8812au/$(your interface name)/led_enable

Testing / Debug

Check "documents" and "tools" folders for information
We also got a Android APK tool for debugging several chipsets

https://github.com/aircrack-ng/rtl8812au/blob/v5.2.20/documents/Screenshot_20190129-025608-01.jpeg

NetworkManager

Newer versions of NetworkManager got some options you might want to disable. Simply add these lines into the NetworkManager.conf

[device]
wifi.scan-rand-mac-address=no

[ifupdown]
managed=false

[connection]
wifi.powersave=2

at the end of file /etc/NetworkManager/NetworkManager.conf and restart NetworkManager with the command:

$ sudo service NetworkManager restart