2018-08-04 17:16:54 +00:00
## RTL8812AU/21AU and RTL8814AU drivers
2018-12-23 19:29:49 +00:00
### Supports Realtek 8811, 8812, 8814 and 8821 chipsets
2018-06-22 16:48:32 +00:00
2018-12-23 16:16:57 +00:00
[![Monitor mode ](https://img.shields.io/badge/monitor%20mode-working-brightgreen.svg )](#)
[![Frame Injection ](https://img.shields.io/badge/frame%20injection-working-brightgreen.svg )](#)
2018-12-23 08:31:06 +00:00
[![GitHub version ](https://badge.fury.io/gh/aircrack-ng%2Frtl8812au.svg )](https://badge.fury.io/gh/aircrack-ng%2Frtl8812au)
2018-12-23 08:21:54 +00:00
[![GitHub issues ](https://img.shields.io/github/issues/aircrack-ng/rtl8812au.svg )](https://github.com/aircrack-ng/rtl8812au/issues)
[![GitHub forks ](https://img.shields.io/github/forks/aircrack-ng/rtl8812au.svg )](https://github.com/aircrack-ng/rtl8812au/network)
[![GitHub stars ](https://img.shields.io/github/stars/aircrack-ng/rtl8812au.svg )](https://github.com/aircrack-ng/rtl8812au/stargazers)
[![GitHub license ](https://img.shields.io/github/license/aircrack-ng/rtl8812au.svg )](https://github.com/aircrack-ng/rtl8812au/blob/master/LICENSE)
2018-12-23 17:52:21 +00:00
< br >
[![Kali ](https://img.shields.io/badge/Kali-supported-blue.svg )](https://www.kali.org)
[![aircrack-ng ](https://img.shields.io/badge/aircrack--ng-supported-blue.svg )](https://github.com/aircrack-ng/aircrack-ng)
[![wifite2 ](https://img.shields.io/badge/wifite2-supported-blue.svg )](https://github.com/derv82/wifite2)
2018-12-23 07:30:28 +00:00
2018-12-23 14:28:53 +00:00
### What's NEW
```
* december: working on a major update/bugfixes.
2018-12-23 14:42:05 +00:00
may be seen rolling out over here https://github.com/aircrack-ng/rtl8812au/pull/246
2018-12-23 14:28:53 +00:00
* october: airmon-ng now got support for this driver (even without virtual interface support)
2018-12-23 18:30:06 +00:00
2018-12-23 19:29:49 +00:00
## Kernel v4.19 and v4.20 supported.
## Also working to get more old/new kernels supported.
2018-12-23 14:28:53 +00:00
```
2018-08-04 17:16:54 +00:00
### DKMS
2018-08-04 15:13:04 +00:00
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:
2018-07-04 19:12:14 +00:00
```
2018-12-23 14:17:43 +00:00
$ sudo apt-get install dkms
2018-06-22 16:48:32 +00:00
```
2018-08-04 17:16:54 +00:00
### Installation of Driver
2018-08-04 15:13:04 +00:00
In order to install the driver open a terminal in the directory with the source code and execute the following command:
2018-07-04 19:12:14 +00:00
```
2018-12-23 14:17:43 +00:00
$ sudo ./dkms-install.sh
2018-06-22 16:48:32 +00:00
```
2018-08-04 17:16:54 +00:00
### Removal of Driver
2018-08-04 15:13:04 +00:00
In order to remove the driver from your system open a terminal in the directory with the source code and execute the following command:
```
2018-12-23 14:17:43 +00:00
$ sudo ./dkms-remove.sh
2018-08-04 15:13:04 +00:00
```
2018-06-22 16:48:32 +00:00
2018-08-04 17:16:54 +00:00
### Make
2018-08-05 18:49:12 +00:00
For building & installing the driver with 'make' use
2018-08-04 15:13:04 +00:00
```
2018-12-23 14:17:43 +00:00
$ make
$ make install
2018-07-04 19:12:14 +00:00
```
2018-06-22 16:48:32 +00:00
2018-08-04 17:16:54 +00:00
### Notes
2018-06-26 08:22:52 +00:00
Download
```
2018-12-23 14:17:43 +00:00
$ git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git
2018-12-23 14:28:53 +00:00
$ cd rtl*
2018-06-26 08:22:52 +00:00
```
Package / Build dependencies (Kali)
```
2018-12-23 14:17:43 +00:00
$ sudo apt-get install build-essential
$ sudo apt-get install bc
$ sudo apt-get install libelf-dev
2018-12-23 14:28:53 +00:00
$ sudo apt-get install linux-headers-`uname -r`
2018-06-26 08:22:52 +00:00
```
2018-12-23 18:30:06 +00:00
For Raspberry (RPI 2/3) you will need kernel sources
2018-06-26 08:22:52 +00:00
```
2018-12-23 14:17:43 +00:00
$ sudo wget "https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source" -O /usr/bin/rpi-source
$ sudo chmod 755 /usr/bin/rpi-source
2018-12-23 17:42:49 +00:00
$ sudo rpi-source
2018-06-26 08:22:52 +00:00
```
2018-12-23 18:30:06 +00:00
Then you need to download and compile the driver on the RPI
2018-12-23 14:38:06 +00:00
```
$ git clone https://github.com/aircrack-ng/rtl8812au -b v5.2.20
$ cd rtl*
$ make
$ sudo cp 8812au.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
$ sudo depmod -a
$ sudo modprobe 88XXau
```
2018-12-23 18:30:06 +00:00
then run this step to change platform in Makefile, For RPI 2/3:
2018-12-23 10:46:55 +00:00
```
2018-12-23 14:17:43 +00:00
$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
2018-12-28 01:30:55 +00:00
$ sed -i 's/CONFIG_PLATFORM_ARM_RPI = n/CONFIG_PLATFORM_ARM_RPI = y/g' Makefile
2018-12-23 10:46:55 +00:00
```
2018-12-23 14:17:43 +00:00
But for RPI 3 B+ you will need to run those below
2018-12-23 18:30:06 +00:00
which builds the ARM64 arch driver:
2018-12-13 00:13:22 +00:00
```
2018-12-23 14:17:43 +00:00
$ 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
2018-12-13 00:13:22 +00:00
```
2018-08-04 15:13:04 +00:00
For setting monitor mode
1. Fix problematic interference in monitor mode.
```
2018-12-23 14:28:53 +00:00
$ airmon-ng check kill
2018-08-04 15:13:04 +00:00
```
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.
2. Set interface down
2018-12-23 16:16:57 +00:00
```
2018-12-28 01:31:52 +00:00
$ sudo ip link set < wlan1 > down
2018-08-04 15:13:04 +00:00
```
3. Set monitor mode
```
2018-12-23 18:30:06 +00:00
$ sudo airmon-ng start < wlan1 >
2018-12-23 17:42:49 +00:00
or
2018-12-23 18:30:06 +00:00
$ sudo iw dev < wlan1 > set type monitor
2018-08-04 15:13:04 +00:00
```
4. Set interface up
```
2018-12-23 18:30:06 +00:00
$ sudo ip link set < wlan1 > up
2018-08-04 15:13:04 +00:00
```
For setting TX power
```
2018-12-23 18:30:06 +00:00
$ sudo iwconfig < wlan1 > txpower 30
2018-12-23 17:42:49 +00:00
or
2018-12-23 18:30:06 +00:00
$ sudo iw < wla1 > nset txpower fixed 3000
2018-08-04 15:13:04 +00:00
```
2018-08-04 17:16:54 +00:00
### LED control
#### You can now control LED behaviour statically by Makefile, for example:
```sh
CONFIG_LED_ENABLE = n
```
value can be y or n
2018-12-23 17:59:33 +00:00
#### statically by module parameter in /etc/modprobe.d/8812au.conf or whatever, example:
2018-08-04 17:16:54 +00:00
```sh
2018-08-05 18:49:12 +00:00
options 88XXau rtw_led_enable=0
2018-08-04 17:16:54 +00:00
```
value can be 0 or 1
2018-12-23 16:16:57 +00:00
2018-08-04 17:16:54 +00:00
#### or dynamically by writing to /proc/net/rtl8812au/$(your interface name)/led_enable, for example:
```sh
$ echo "0" > /proc/net/rtl8812au/$(your interface name)/led_enable
```
value can be 0 or 1
#### check current value:
```sh
$ cat /proc/net/rtl8812au/$(your interface name)/led_enable
2018-08-04 15:13:04 +00:00
```
2018-08-04 17:16:54 +00:00
### NetworkManager
2018-06-22 16:48:32 +00:00
2018-06-26 08:22:52 +00:00
Newer versions of NetworkManager switches to random MAC address. Some users would prefer to use a fixed address.
Simply add these lines below
```
[device]
wifi.scan-rand-mac-address=no
```
at the end of file /etc/NetworkManager/NetworkManager.conf and restart NetworkManager with the command:
2018-06-22 16:48:32 +00:00
```
2018-12-23 14:38:06 +00:00
$ sudo service NetworkManager restart
2018-08-04 15:13:04 +00:00
```