LM808: Linux driver installation and compilation

Introduction

The LM808 wireless AC USB dongle uses the Realtek RTL8811AU integrated controller; the drivers for which are provided by Realtek. However, at the time of writing, the official Realtek driver release is quite out of date and only supports older kernel versions.

There is a community maintained project to update Realtek’s drivers located here: https://github.com/abperiasamy/rtl8812AU_8821AU_linux

These will work with more recent versions of the Linux kernel as well as older releases.

For the most part you won’t see any mention of the RTL8811AU in the drivers or their documentation, instead look for the RTL8812AU.

Official driver installation

The official drivers can be obtained from http://lm-technologies.com/product/wifi-usb-adapter-433mbps-lm808/

Linux installation instructions are contained in the following folder (note that the Linux drivers are in a second zip file) 60G133000-04(330)_win81/Linux/RTL8812AU_8821AU_linux_v4.2.3_8123.20130705.zip/document.

Hostapd

To allow the adapter to be used as a software access point edit the following line in os_dep/linux/os_intfs.c:

int rtw_80211d = 0

Hint: search for “int rtw_80211d = 0”

Now follow the community driver installation instructions. For more information on hostapd please see our article on Linux WiFi Access Point (Wireless AP).

Community driver installation

Assuming you have Git installed run the following from a terminal in an appropriate location (e.g. ~/drivers):

git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git

Alternative Repositories

The repository maintained by abperiasamy is the most popular, but at the time of writing, has not been updated for a while, so you may wish to try other repositories in the network if you have problems:https://github.com/abperiasamy/rtl8812AU_8821AU_linux/network. Make sure to read the commit history before selecting an alternative.

If you can’t or won’t use Git then download the ZIP and unpack it (https://github.com/abperiasamy/rtl8812AU_8821AU_linux/archive/master.zip). Then change into the newly created directory:

cd rtl8812AU_8821AU_linux

Now run make; this requires that you have the GNU make tools, GCC and Linux kernel headers installed on your system. Consult your distribution’s documentation to obtain these tools. Usually they can just be installed from a package manager of some description. If you encounter compiler or linker errors, it is most likely because you don’t have the kernel headers installed.

make
sudo make install

The make install command should copy the driver files into the right system folder and rebuild the module dependencies. This means you don’t have to run depmod -a or copy any files. Finally, the compiled kernel module (driver) needs to be inserted into the kernel. You can encourage the system to do this by running modprobe:

sudo modprobe 8812au

We have tested this driver with kernel version 3.13.0 in Ubuntu 14.04 and 3.15.8 in Arch Linux. It worked with kernel version 3.13.0, but not 3.15.3. As of the 24 Oct 2014 it now works on 3.17.1 in Arch Linux.