8f04e62ca7
When not associated with an AP, wifi device drivers should respond to the SIOCGIWESSID ioctl with a zero-length string for the SSID, which is the behavior expected by dhcpcd. Currently, this driver returns an error code (-1) from the ioctl call, which causes dhcpcd to assume that the device is not a wireless interface and therefore it fails to work correctly with it thereafter. When not associated with an AP, other wifi device drivers respond to the SIOCGIWESSID ioctl with a zero-length string for the SSID; this is the behaviour expected by dhcpcd. This driver returns an error code (-1) from the ioctl call - this causes dhcpcd to assume that the device is not a wireless interface and therefore it fails to work correctly with it thereafter. It would be good if the behaviour of this driver could be brought into line with that of other drivers for similar devices; that is for the response to SIOCGIWESSID to be a zero-length string and a success code rather than an error. |
||
---|---|---|
android | ||
core | ||
docs | ||
documents | ||
hal | ||
include | ||
os_dep | ||
platform | ||
WiFi_Direct_User_Interface | ||
.gitignore | ||
.travis.yml | ||
dkms-install.sh | ||
dkms-remove.sh | ||
dkms.conf | ||
Kconfig | ||
LICENSE | ||
Makefile | ||
README.md | ||
REALTEK_README.txt | ||
ReleaseNotes.pdf |
RTL8812AU/21AU and RTL8814AU drivers
TODO
This driver is brand new, it will take some time to add all patches from v5.3.4 even though many got merged into it.
This driver only supports 8812au chipset at the moment. We're working on it, so please be patient. Thanks
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.6.4.1 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)
sudo apt-get install bc raspberrypi-kernel-headers
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 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
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