2019-07-11: Updated to compile against kernel 5.2
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.
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.
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 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.
Automatically rebuilds and installs on kernel updates. DKMS is in official sources of Ubuntu, for installation do:
$ sudo apt-get install build-essential dkms
Install the driver to DKMS with:
sudo make dkms_install
Automatically load at boot:
$ echo 8812au | sudo tee -a /etc/modules
Eventually remove from DKMS with:
$ sudo make dkms_remove