There are three different drivers available for these products. We recommend that you use the ‘in kernel tree’ driver where possible, which essentially makes these products plug & play in most Linux distributions which use a recent version of the Kernel.
In kernel tree driver
The LM809 uses the RTL8192CU IC and the LM006, LM820 and LM821 use the RTL8188CUS which are supported by a driver maintained within the Linux kernel source tree (rtlwifi). There for this driver will be present in most major Linux distributions and you will not have to do any work to install it. However they are also available from here: https://github.com/lwfinger/rtlwifi_new
Out of kernel tree driver
There is also an ‘out-of-tree’ driver which may be included in some distributions in preference to ‘rtlwifi’. This driver does not support cfg80211 and thus does not work with tools such as iw and hostapd. You may need to blacklist this driver and or compile your own kernel if you need the increased functionality provided by the in kernel driver. This is mostly true for distributions aimed at ARM based platforms where the in-kernel driver has been reported to have issues.
At the time of writing the Raspberry Pi kernel uses the out-of-tree driver by default. If you wish to use the rtlwifi driver you will need to uncomment the following lines of code before recompiling the kernel.
source "drivers/net/wireless/rt2x00/Kconfig" #source "drivers/net/wireless/rtlwifi/Kconfig" source "drivers/net/wireless/rtl8192cu/Kconfig"
obj-$(CONFIG_RTL8187) += rtl818x/ #obj-$(CONFIG_RTLWIFI) += rtlwifi/ obj-$(CONFIG_RTL8192CU) += rtl8192cu/
Also make sure to select the rtlwifi module when configuring the kernel and either deselect the rtl8192cu out-of-tree driver or blacklist it afterwards. Alternatively you can try the Vendor driver below.
The official Realtek driver release is available from here. This will only work with older kernels, however you can also get an experimental version from here: https://github.com/richiejp/rtl8192c_8188c which will compile and run on newer kernels, but is work-in-progress.