1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-11-26 15:14:02 +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)
CROSS_COMPILE ?=
KVER := $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build
KSRC ?= /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
STAGINGMODDIR := /lib/modules/$(KVER)/kernel/drivers/staging

View File

@ -1,25 +1,25 @@
# RTL8812AU/21AU and RTL8814AU drivers
# with monitor mode and frame injection
## RTL8812AU/21AU and RTL8814AU drivers
## 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:
```
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:
```
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:
```
sudo ./dkms-remove.sh
```
## Make
### Make
For building & installing the rtl8812au/rtl8821au driver with 'make' use
```
make
@ -31,7 +31,7 @@ make RTL8814=1
make install RTL8814=1
```
## Notes
### Notes
Download
```
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
```
## LED Parameter
```
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/
### LED control
Manual modprobe will override this file if option value also included at the command line, e.g.,
$ sudo modprobe -r 8812au
$ sudo modprobe 8812au rtw_led_ctrl=1
#### You can now control LED behaviour statically by Makefile, for example:
```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.
Simply add these lines below

View File

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

View File

@ -2004,16 +2004,14 @@ hal_ReadUsbModeSwitch_8814AU(
IN BOOLEAN AutoloadFail
)
{
#if 0
if(AutoloadFail)
{
UsbModeSwitch_SetUsbModeMechOn(Adapter, _FALSE);
}
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
if (AutoloadFail)
pHalData->EEPROMUsbSwitch = _FALSE;
else
{
UsbModeSwitch_SetUsbModeMechOn(Adapter, ((PROMContent[8]&BIT1)>>1));
}
#endif
/* check efuse 0x0E bit2 */
pHalData->EEPROMUsbSwitch = (PROMContent[EEPROM_USB_MODE_8814A] & BIT1) >> 1;
}
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;
strncpy(mon_ndev->name, name, IFNAMSIZ);
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))
mon_ndev->priv_destructor = rtw_ndev_destructor;
#else