5.4 KiB
RTL8812AU/21AU and RTL8814AU drivers
Supports Realtek 8811, 8812, 8814 and 8821 chipsets
What's NEW
* airmon-ng now got support for this driver (even without virtual interface support)
* kernel v4.19, v4.20 and v5.0 is now supported.
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
Make
For building & installing the driver with 'make' use
$ make
$ make install
Using hostapd?
# 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)
$ 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`
For Raspberry (RPI 2/3) you will need kernel sources
$ sudo wget "https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source" -O /usr/bin/rpi-source
$ sudo chmod 755 /usr/bin/rpi-source
$ sudo 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
$ sudo cp 8812au.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
$ sudo depmod -a
$ sudo 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
- 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.
- Set interface down
$ sudo ip link set <wlan1> down
- Set monitor mode
$ sudo airmon-ng start <wlan1>
or
$ sudo iw dev <wlan1> set type monitor
- Set interface up
$ sudo ip link set <wlan1> up
For setting TX power
$ sudo iwconfig <wlan1> txpower 30
or
$ sudo iw <wla1> nset 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
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