1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-11-25 14:44:09 +00:00
[MIRROR] RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection https://axenov.dev/как-установить-драйвер-wi-fi-адаптера-dexp-wfa-601-н/
Go to file
2019-02-10 02:30:08 +01:00
core Nuke CONFIG_LOAD_PHY_PARA_FROM_FILE 2019-01-02 20:32:36 +01:00
documents Upload more docs 2019-02-10 02:17:43 +01:00
hal Nuke CONFIG_LOAD_PHY_PARA_FROM_FILE 2019-01-02 20:32:36 +01:00
include Nuke CONFIG_LOAD_PHY_PARA_FROM_FILE 2019-01-02 20:32:36 +01:00
os_dep Fix build error + compiler warnings 2019-01-26 01:07:47 +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
dkms-install.sh Optimized Makefile + added DKMS 2018-07-02 19:20:53 +02:00
dkms-remove.sh Optimized Makefile + added DKMS 2018-07-02 19:20:53 +02:00
dkms.conf Update dkms.conf 2019-01-28 16:41:43 +01: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 Another ARM fix (Makefile) 2019-01-10 23:42:24 +01:00
README.md Update README.md 2019-02-10 02:29:07 +01:00
realtek_88XXau.conf Add more param 2019-02-10 02:30:08 +01:00
Realtek_Changelog.txt Allow build for kernels with backported cfg80211 API 2018-08-08 19:03:15 +02:00

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 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
$ epmod -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 <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

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