Merge pull request #141 from kimocoder/v5.2.20

V5.2.20
This commit is contained in:
Christian B 2018-06-27 15:59:34 +02:00 committed by GitHub
commit 4845895d62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 86 additions and 42 deletions

View File

@ -1,8 +1,8 @@
EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
#EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
EXTRA_CFLAGS += -Wall
EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
#EXTRA_CFLAGS += -pedantic
#EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
@ -13,7 +13,13 @@ EXTRA_CFLAGS += -Wno-unused-label
EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused
#EXTRA_CFLAGS += -Wno-uninitialized
EXTRA_CFLAGS += -Wno-date-time
EXTRA_CFLAGS += -Wno-misleading-indentation
EXTRA_CFLAGS += -Wno-uninitialized
# Relax some warnings from '-Wextra' so we won't get flooded with warnings
EXTRA_CFLAGS += -Wno-sign-compare
EXTRA_CFLAGS += -Wno-missing-field-initializers
EXTRA_CFLAGS += -Wno-type-limits
GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
ifeq ($(GCC_VER_49),1)
@ -45,6 +51,7 @@ CONFIG_PCI_HCI = n
CONFIG_SDIO_HCI = n
CONFIG_GSPI_HCI = n
########################## Features ###########################
CONFIG_NET_NS = y
CONFIG_MP_INCLUDED = y
CONFIG_POWER_SAVING = n
CONFIG_USB_AUTOSUSPEND = n

View File

@ -1,19 +1,14 @@
# rtl8812au
## Realtek 8812AU driver version 5.2.20
## Realtek 8812AU driver v5.2.20 with monitor mode and frame injection
Only supports 8812AU chipset.
Only supports 8812AU chipset, not the 8814AU or the 8821AU at this point.
Works fine with 4.15 kernel. Source now builds with no warnings or errors.
### Changelogs and TODO
Check the "docs/" folder for more information.
Both Realtek changelog is added and our personal changelog and TODO is in there.
Added (cosmeticly edited) original Realtek_Changelog.txt, this README.md and dkms.conf.
Added device USB IDs, sorted by ID number.
Added LED control by Makefile, module parameter and dynamic /proc writing.
Added VHT extras.
Added regdb files.
### Building
### Building / Installing
To build and install module manually:
```sh
@ -24,25 +19,55 @@ $ sudo make install
To use dkms install:
```sh
(as root, or sudo) copy source folder contents to /usr/src/rtl8812au-5.2.20
```
```sh
$ sudo dkms add -m rtl8812au -v 5.2.20
$ sudo dkms build -m rtl8812au -v 5.2.20
$ sudo dkms install -m rtl8812au -v 5.2.20
$ sudo ./dkms-install.sh
```
To use dkms uninstall and remove:
```sh
$ sudo dkms remove -m rtl8812au -v 5.2.20 --all
$ sudo ./dkms-remove.sh
```
### Notes
Download
```
git clone -b v5.1.5 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) also
```
sudo apt install raspberrypi-kernel-headers
```
### 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.
2. Set interface down
```
sudo ip link set wlan0 down
```
3. Set monitor mode
```
sudo iw dev wlan0 set type monitor
```
4. Set interface up
```
sudo ip link set wlan0 up
```
### LED control
Thanks to @dkadioglu and others for a start on this.
#### You can now control LED behaviour statically by Makefile, for example:
```sh
@ -72,17 +97,12 @@ $ cat /proc/net/rtl8812au/$(your interface name)/led_enable
### NetworkManager
As others have noted, people using NetworkManager need to add this stanza to /etc/NetworkManager/NetworkManager.conf
```sh
[device]
wifi.scan-rand-mac-address=no
Newer versions of NetworkManager switches to random MAC address. Some users would prefer to use a fixed address.
Simply add these lines below
```
### Regdb files
If needed, copy the regulatory database files in regdb/ to /lib/firmware/
```sh
$ sudo cp ./regdb/* /lib/firmware/
[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

View File

@ -3,9 +3,7 @@
----------------------------------------------------------------------------------------
TODO:
- Add support for namespaces (NS)
- Fix count for frames in RadioTap header (add to stats)
- Enable TX queue in monitor mode
- Place signal quality and per antenna rssi into radiotap header
- Calculate signal quality in the monitor mode
- Add channels 151 and 153
@ -23,6 +21,10 @@
+++ And propably alot more. We'll see.
[2018.06.26]
- Enable TX queue in the monitor mode
- Add support for namespaces (CONFIG_NET_NS)
[2018.06.25]
- Fix injected frames drop
- Fixed compilation on some ARM platforms

View File

@ -7188,6 +7188,9 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 0))
#if defined(CONFIG_NET_NS)
wiphy->flags |= WIPHY_FLAG_NETNS_OK;
#endif //CONFIG_NET_NS
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS;
#endif

View File

@ -1605,6 +1605,9 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
rtw_init_netdev_name(ndev, name);
_rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
#if defined(CONFIG_NET_NS)
dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter)));
#endif //defined(CONFIG_NET_NS)
/* Tell the network stack we exist */
@ -3211,7 +3214,7 @@ int _netdev_open(struct net_device *pnetdev)
rtw_set_pwr_state_check_timer(pwrctrlpriv);
#endif
/* rtw_netif_carrier_on(pnetdev); */ /* call this func when rtw_joinbss_event_callback return success */
rtw_netif_carrier_on(pnetdev); /* call this func when rtw_joinbss_event_callback return success */
rtw_netif_wake_queue(pnetdev);
#ifdef CONFIG_BR_EXT

View File

@ -220,6 +220,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
{USB_DEVICE(0x0411, 0x025D), .driver_info = RTL8821}, /* BUFFALO - WI-U3-866D */
{USB_DEVICE(0x0411, 0x029B), .driver_info = RTL8821}, /* BUFFALO - WI-U2-433DHP */
{USB_DEVICE(0x0BDA, 0xA811), .driver_info = RTL8821}, /* Comfast - CF-915AC, CF-916AC */
{USB_DEVICE(0x056E, 0x4007), .driver_info = RTL8821}, /* Elecom - WDC-433DU2HBK */
#endif
#ifdef CONFIG_RTL8192E
@ -241,13 +242,21 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
#endif /* CONFIG_RTL8703B */
#ifdef CONFIG_RTL8814A
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8813), .driver_info = RTL8814A},
{USB_DEVICE(0x2001, 0x331a), .driver_info = RTL8814A}, /* D-Link - D-Link */
{USB_DEVICE(0x0b05, 0x1817), .driver_info = RTL8814A}, /* ASUS - ASUSTeK */
{USB_DEVICE(0x2001, 0x331A), .driver_info = RTL8814A}, /* D-Link - D-Link */
{USB_DEVICE(0x0B05, 0x1817), .driver_info = RTL8814A}, /* ASUS - ASUSTeK */
{USB_DEVICE(0x0B05, 0x1852), .driver_info = RTL8814A}, /* ASUS - ASUSTeK */
{USB_DEVICE(0x0B05, 0x1853), .driver_info = RTL8814A}, /* ASUS - ASUSTeK */
{USB_DEVICE(0x056E, 0x400B), .driver_info = RTL8814A}, /* ELECOM - ELECOM */
{USB_DEVICE(0x056E, 0x400D), .driver_info = RTL8814A}, /* ELECOM - ELECOM */
{USB_DEVICE(0x7392, 0xA834), .driver_info = RTL8814A}, /* Edimax - Edimax */
{USB_DEVICE(0x7392, 0xA833), .driver_info = RTL8814A}, /* Edimax - AC1750 */
{USB_DEVICE(0x0BDA, 0x8813), .driver_info = RTL8814A}, /* Edimax - EDUP Adapters */
{USB_DEVICE(0x2357, 0x0106), .driver_info = RTL8814A}, /* TP-LINK Archer T9UH */
{USB_DEVICE(0x20F4, 0x809A), .driver_info = RTL8814A}, /* TRENDnet - TRENDnet */
{USB_DEVICE(0x20F4, 0x809B), .driver_info = RTL8814A}, /* TRENDnet TEW-809UB */
{USB_DEVICE(0x0846, 0x9054), .driver_info = RTL8814A}, /* Netgear A7000 */
{USB_DEVICE(0x0E66, 0x0026), .driver_info = RTL8814A}, /* Hawking HW17ACU 1750AC */
#endif /* CONFIG_RTL8814A */
#ifdef CONFIG_RTL8188F