Realtek RTL88XXAU Driver (sourced from : https://pkg.kali.org/pkg/realtek-rtl88xxau-dkms)
Tested in Ubuntu 20.04 LTS with AWUS1900 (RTL8814AU). Injection working, full driver support. I suggest you use the DKMS install type and reboot.
This repo was made to fill out the space left by the split of these two : https://github.com/aircrack-ng/rtl8812au & https://github.com/aircrack-ng/rtl8814au
None of which provide a RTL8814AU driver with working injection.
Only for use with Linux & Android
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
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
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
For building & installing the driver with 'make' use
$ make && make install
Download
$ git clone https://github.com/n0ss/realtek-rtl88xxau-dkms.git
cd rtl*
Package / Build dependencies (Debian-based)
$ sudo apt update
$ sudo apt install build-essential libelf-dev linux-headers-`uname -r`
$ sudo apt-get install raspberrypi-kernel-headers
Then run this step to change platform in Makefile, For RPI 1/2/3/ & 0/Zero:
$ 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 3B+ & 4B 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
In addition, if you receive an error message about unrecognized command line option ‘-mgeneral-regs-only’
(i.e., Raspbian Buster), you will need to run the following commands:
$ sed -i 's/^dkms build/ARCH=arm dkms build/' dkms-install.sh
$ sed -i 's/^MAKE="/MAKE="ARCH=arm\ /' dkms.conf
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 wlan0 down
- Set monitor mode
$ sudo iw dev wlan0 set type monitor
- Set interface up
$ sudo ip link set wlan0 up
For setting TX power
$ sudo iw wlan0 set txpower fixed 3000
options 88XXau rtw_led_ctrl=0
value can be 0 or 1
$ echo "0" > /proc/net/rtl8812au/$(your interface name)/led_ctrl
value can be 0 or 1
$ cat /proc/net/rtl8812au/$(your interface name)/led_ctrl
0: doesn't switch, 1: switch from usb2.0 to usb 3.0 2: switch from usb3.0 to usb 2.0
$ rmmod 88XXau
$ modprobe 88XXau rtw_switch_usb_mode:int (0: no switch 1: switch from usb2 to usb3 2: switch from usb3 to usb2)
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
Alfa Networks - https://www.alfa.com.tw/
Realtek. - https://www.realtek.com
aircrack-ng - https://www.aircrack-ng.org
ParrotSec - https://www.parrotsec.org/download/
astsam - https://github.com/astsam
evilphish - https://github.com/evilphish
fariouche - https://github.com/fariouche
CGarces - https://github.com/CGarces
ZerBea - https://github.com/ZerBea
lwfinger - https://github.com/lwfinger
Ulli-Kroll. - https://github.com/Ulli-Kroll