Go to file
nick black 3adef736e7
Address two -Wimplicit-fallthrough issues for gcc
In rtw_mlme_ext.c, falling through makes perfect sense. I've
there replaced the ad hoc comment with the necessary gcc
attribute. In rtw_ap.c, the default case seems to agree with
the previous ones only by happenstance, so I've inserted an
actual break there. The warnings no longer fire.

Yes, there's a portable [[fallthrough]] -- for C++17. This
won't work on Clang, but neither will the kernel, nor this
Makefile.
2019-10-11 05:49:16 -04:00
core Address two -Wimplicit-fallthrough issues for gcc 2019-10-11 05:49:16 -04:00
hal [Fixed simple compiler waring] 2018-12-12 06:11:25 -05:00
include Fixed to work with kernel versions 5.0.x 2019-03-17 05:22:44 -04:00
os_dep Merge pull request #162 from naoki-mizuno/wnpu583b 2019-08-03 07:31:16 +02:00
.gitignore Create .gitignore 2019-03-17 05:58:01 -04:00
clean Add existing files. 2013-11-19 21:24:49 +01:00
dkms.conf Fixed to work with kernel versions 5.0.x 2019-03-17 05:22:44 -04:00
ifcfg-wlan0 Add existing files. 2013-11-19 21:24:49 +01:00
install.sh Fixed to work with kernel versions 5.0.x 2019-03-17 05:22:44 -04:00
Kconfig Add existing files. 2013-11-19 21:24:49 +01:00
Makefile Update Makefile 2019-03-17 06:23:05 -04:00
README.md Added note about changes 2019-07-11 16:21:50 -04:00
runwpa Fixed to work with kernel versions 5.0.x 2019-03-17 05:22:44 -04:00
wlan0dhcp Add existing files. 2013-11-19 21:24:49 +01:00

Changes

2019-07-11: Updated to compile against kernel 5.2

Realtek 802.11ac (rtl8812au)

This is a fork of the Realtek 802.11ac (rtl8812au) v4.2.2 (7502.20130507) driver altered to build on Linux kernel version >= 3.10.

Purpose

My D-Link DWA-171 wireless dual-band USB adapter needs the Realtek 8812au driver to work under Linux.

The current rtl8812au version (per nov. 20th 2013) doesn't compile on Linux kernels >= 3.10 due to a change in the proc entry API, specifically the deprecation of the create_proc_entry() and create_proc_read_entry() functions in favor of the new proc_create() function.

Building

The Makefile is preconfigured to handle most x86/PC versions. If you are compiling for something other than an intel x86 architecture, you need to first select the platform, e.g. for the Raspberry Pi, you need to set the I386 to n and the ARM_RPI to y:

...
CONFIG_PLATFORM_I386_PC = n
...
CONFIG_PLATFORM_ARM_RPI = y

There are many other platforms supported and some other advanced options, e.g. PCI instead of USB, but most won't be needed.

The driver is built by running make, and can be tested by loading the built module using insmod:

$ make
$ sudo insmod 8812au.ko

After loading the module, a wireless network interface named Realtek 802.11n WLAN Adapter should be available.

Installing

Installing the driver is simply a matter of copying the built module into the correct location and updating module dependencies using depmod:

$ sudo cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless
$ sudo depmod

The driver module should now be loaded automatically.

DKMS

Automatically rebuilds and installs on kernel updates. DKMS is in official sources of Ubuntu, for installation do:

$ sudo apt-get install build-essential dkms 

The driver source must be copied to /usr/src/8812au-4.2.2

Then add it to DKMS:

$ sudo dkms add -m 8812au -v 4.2.2
$ sudo dkms build -m 8812au -v 4.2.2
$ sudo dkms install -m 8812au -v 4.2.2

Check with:

$ sudo dkms status

Automatically load at boot:

$ echo 8812au | sudo tee -a /etc/modules

Eventually remove from DKMS with:

$ sudo dkms remove -m 8812au -v 4.2.2 --all

References