1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-11-26 23:24:11 +00:00

Merge pull request #156 from kimocoder/v5.2.20

Merging changes
This commit is contained in:
Christian B 2018-08-04 20:29:26 +02:00 committed by GitHub
commit 2bf997aed7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 26 deletions

View File

@ -1037,7 +1037,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ | sed -e s/aarch64/arm64/ )
ARCH ?= $(SUBARCH) ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= CROSS_COMPILE ?=
KVER := $(shell uname -r) KVER := $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build KSRC ?= /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX := INSTALL_PREFIX :=
STAGINGMODDIR := /lib/modules/$(KVER)/kernel/drivers/staging STAGINGMODDIR := /lib/modules/$(KVER)/kernel/drivers/staging

View File

@ -1,25 +1,25 @@
# RTL8812AU/21AU and RTL8814AU drivers ## RTL8812AU/21AU and RTL8814AU drivers
# with monitor mode and frame injection ## with monitor mode and frame injection
## DKMS ### 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: 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 install dkms sudo apt install dkms
``` ```
## Installation of Driver ### Installation of Driver
In order to install the driver open a terminal in the directory with the source code and execute the following command: 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 sudo ./dkms-install.sh
``` ```
## Removal of Driver ### 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: 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 sudo ./dkms-remove.sh
``` ```
## Make ### Make
For building & installing the rtl8812au/rtl8821au driver with 'make' use For building & installing the rtl8812au/rtl8821au driver with 'make' use
``` ```
make make
@ -31,7 +31,7 @@ make RTL8814=1
make install RTL8814=1 make install RTL8814=1
``` ```
## Notes ### Notes
Download Download
``` ```
git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git
@ -72,15 +72,36 @@ For setting TX power
sudo iw wlan0 set txpower fixed 3000 sudo iw wlan0 set txpower fixed 3000
``` ```
## LED Parameter ### LED control
```
We've added the "realtek-leds.conf" in build directory,
with this you may change the leds to
"2: Allways On", "1: Normal" or "0: Allways Off" with placing the file in "/etc/modprobe.d/
Manual modprobe will override this file if option value also included at the command line, e.g., #### You can now control LED behaviour statically by Makefile, for example:
$ sudo modprobe -r 8812au
$ sudo modprobe 8812au rtw_led_ctrl=1 ```sh
CONFIG_LED_ENABLE = n
```
value can be y or n
#### statically by module parameter in /etc/modprobe.d/8812au.conf or wherever, for example:
```sh
options 8812au 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:
```sh
$ echo "0" > /proc/net/rtl8812au/$(your interface name)/led_enable
```
value can be 0 or 1
#### check current value:
```sh
$ 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. Newer versions of NetworkManager switches to random MAC address. Some users would prefer to use a fixed address.
Simply add these lines below Simply add these lines below

View File

@ -6535,7 +6535,7 @@ u8 GetHalDefVar8814A(PADAPTER padapter, HAL_DEF_VARIABLE variable, void *pval)
break; break;
case HAL_DEF_RX_STBC: case HAL_DEF_RX_STBC:
*(u8*)pval = 1; *(u8*)pval = 4;
break; break;
case HAL_DEF_EXPLICIT_BEAMFORMER: case HAL_DEF_EXPLICIT_BEAMFORMER:

View File

@ -2004,16 +2004,14 @@ hal_ReadUsbModeSwitch_8814AU(
IN BOOLEAN AutoloadFail IN BOOLEAN AutoloadFail
) )
{ {
#if 0
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
if (AutoloadFail) if (AutoloadFail)
{ pHalData->EEPROMUsbSwitch = _FALSE;
UsbModeSwitch_SetUsbModeMechOn(Adapter, _FALSE);
}
else else
{ /* check efuse 0x0E bit2 */
UsbModeSwitch_SetUsbModeMechOn(Adapter, ((PROMContent[8]&BIT1)>>1)); pHalData->EEPROMUsbSwitch = (PROMContent[EEPROM_USB_MODE_8814A] & BIT1) >> 1;
}
#endif
} }
static VOID static VOID

View File

@ -4162,6 +4162,11 @@ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, struct ne
mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP; mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP;
strncpy(mon_ndev->name, name, IFNAMSIZ); strncpy(mon_ndev->name, name, IFNAMSIZ);
mon_ndev->name[IFNAMSIZ - 1] = 0; mon_ndev->name[IFNAMSIZ - 1] = 0;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12 ,0))
mon_ndev->needs_free_netdev = true;
#else
mon_ndev->destructor = rtw_ndev_destructor;
#endif
#if (LINUX_VERSION_CODE > KERNEL_VERSION(4, 11, 8)) #if (LINUX_VERSION_CODE > KERNEL_VERSION(4, 11, 8))
mon_ndev->priv_destructor = rtw_ndev_destructor; mon_ndev->priv_destructor = rtw_ndev_destructor;
#else #else