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
2018-12-23 17:18:22 +01:00
core Fixed frame injection by @svpcom + possible VHT fix 2018-12-19 17:59:51 +01:00
hal Fixed frame injection by @svpcom + possible VHT fix 2018-12-19 17:59:51 +01:00
include Reduce network lag during site survey 2018-12-23 13:29:25 +01:00
os_dep Hard disable old debug read/write file functions 2018-12-23 13:19:40 +01:00
platform
.gitignore
dkms-install.sh
dkms-remove.sh
dkms.conf Release tag date 2018-12-23 17:18:22 +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 Fixed frame injection by @svpcom + possible VHT fix 2018-12-19 17:59:51 +01:00
README.md Fixed typos 2018-12-23 17:16:57 +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

with monitor mode and frame injection

Monitor mode Frame Injection GitHub version GitHub issues GitHub forks GitHub stars GitHub license

What's NEW

* december: working on a major update/bugfixes.
  may be seen rolling out over here https://github.com/aircrack-ng/rtl8812au/pull/246
  
* october: airmon-ng now got support for this driver (even without virtual interface support)

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

Notes

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)

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

Then you need to

$ 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 to change platform in Makefile

$ 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' Makefil

But for RPI 3 B+ you will need to run those below the ARM64 arch build

$ 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
$ $ sudo ip link set wlan0 down
  1. Set monitor mode
$ sudo iw dev wlan0 set type monitor
  1. Set interface up
$ sudo ip link set wlan0 up

For setting TX power

$ sudo iw wlan0 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 wherever, for 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 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:

$ sudo service NetworkManager restart