After several fruitless attempts on getting my
new dual band Wifi stick to work on my PC I went the hard way to compiling the driver.
Figuring out which driver to use
As drivers do support device ids the first thing is to determine the id
$ lsusb
[...]
Bus 002 Device 013: ID 0bda:a811 Realtek Semiconductor Corp.
So the id being "0bda:a811" you can
search online for a list of driver names. Google suggests rtl8812au as related searches...
Finding a source repo
At github you can find several source repos for the rtl8812au driver in of different age. It seems that Realtek is supplying the source on some driver CDs and different people independently put them online. The hard part is to find the most recent one, as only this has fixes for recent kernels. One with patches for kernel 4.13.x is the one from
Vital Koshalev which has already a PR against the most commonly referenced repo of
diederikdehaas which doesn't work yet!.
Getting the right source
So fetch the source as following
git clone https://github.com/VitalKoshalew/rtl8812AU.git
git checkout driver-4.3.22-beta-mod
Compilation + Installation of rtl8812AU
The instructions are from the README.md and are to be run as root:
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.22-beta-mod
mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}
dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
dkms install -m ${DRV_NAME} -v ${DRV_VERSION}
See also
Loading rtl8812AU
If everything worked well you should now be able to issue
modprobe 8812au
Note the missing "rtl"!!! If the module loads, but the wifi stick doesn't work immediately it might be that the rtlwifi driver is preventing the self-compiled module from working. So remove it with
rmmod rtlwifi
It will complain about dependencies. You need to rmmod those too. Afterwards the new driver should load properly. To make disabling rtlwifi persistent add it to the modprobe blacklist:
echo "blacklist rtlwifi" >>/etc/modprobe.d/blacklist.conf
Please leave feedback on the instructions if you have problems!