2018-08-04 17:16:54 +00:00
## RTL8812AU/21AU and RTL8814AU drivers
## with monitor mode and frame injection
2018-06-22 16:48:32 +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-08-04 15:13:04 +00:00
sudo apt 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-08-04 15:13:04 +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:
```
sudo ./dkms-remove.sh
```
2018-06-22 16:48:32 +00:00
2018-08-04 17:16:54 +00:00
### Make
2018-08-04 15:13:04 +00:00
For building & installing the rtl8812au/rtl8821au driver with 'make' use
```
make
make install
2018-07-04 19:12:14 +00:00
```
2018-08-04 15:13:04 +00:00
and for building & installing the rtl8814au driver with 'make' use
```
make RTL8814=1
make install RTL8814=1
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-07-04 19:12:14 +00:00
git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git
cd rtl*
2018-06-26 08:22:52 +00:00
```
Package / Build dependencies (Kali)
```
2018-07-04 19:12:14 +00:00
sudo apt-get install build-essential
sudo apt-get install bc
sudo apt-get install libelf-dev
sudo apt-get install linux-headers-`uname -r`
2018-06-26 08:22:52 +00:00
```
2018-08-04 15:13:04 +00:00
For Raspberry (RPI)
2018-06-26 08:22:52 +00:00
```
2018-07-04 19:12:14 +00:00
sudo apt install raspberrypi-kernel-headers
2018-06-26 08:22:52 +00:00
```
2018-08-04 15:13:04 +00:00
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.
2. Set interface down
```
sudo ip link set wlan0 down
```
3. Set monitor mode
```
sudo iw dev wlan0 set type monitor
```
4. Set interface up
```
sudo ip link set wlan0 up
```
For setting TX power
```
sudo iw wlan0 set txpower fixed 3000
```
2018-08-04 17:16:54 +00:00
### LED control
Thanks to @dkadioglu and others for a start on this.
#### You can now control LED behaviour statically by Makefile, for example:
```sh
CONFIG_LED_ENABLE = n
```
value can be y or n
#### statically by module parameter in /etc/modprobe.d/8812au.conf or wherever, for example:
```sh
options 8812au 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:
```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-07-04 19:12:14 +00:00
sudo service NetworkManager restart
2018-08-04 15:13:04 +00:00
```