The Edimax EW7811-UN is a wireless USB adapter that complies with the 802.11b/g/n IEEE standards. The device has a Realtek RTL8188CUS based chipset which has support for Windows, Mac & Linux.
Support for this device should be available in version >= 3.0 of the Linux kernel through the use of the rtl8192cu module. This means that machines running Linux kernel 3.0 or greater should have support for this device straight out of the box. You can find out your current kernel version by running the command
When the device is inserted to a USB port on the machine, the rtl8192cu module should be loaded. To see if it has been loaded correctly, run the command:
lsmod | grep rtl8192cu. If that command returns nothing, you can try to load the module by running the command:
sudo modprobe rtl8192cu.
Personally, my wireless network consists of two access points with the same ESSID on different channels. The rtl8192cu module appeared to have an issue with this type of setup. The device was able to see the wireless network but failed to connect to it when both access points were in range. The expected behaviour for this situation would be for the device to connect to the stronger access point and roam to the other if it’s signal strength improved.
At the time of writing, the manufacturers of the chipset, Realtek, have a newer version of the driver available on their website. The version that worked for me was: v3.3.2_3192 released 09/01/2012. This can be obtained from the Realtek website.
To install this module, first disconnect the USB device from your machine and remove the kernel module:
sudo modprobe -r rtl8192cu. It should be stopped from being loaded at boot by adding the following line to the /etc/modprobe.d/blacklist.conf file:
Download the zip file containing the module from the Realtek website and unzip it. cd into the extracted directory and execute the install script:
bash install.sh. Enter your sudo password when prompted. This script will compile the module and install it. The new module is called 8192cu. Insert the Edimax device into a USB port and check to see if the module has been loaded correctly:
lsmod | grep 8192cu. If nothing is returned, the module can be loaded manually:
sudo modprobe 8192cu.
It’s almost always a better option to use the module that’s supplied with the Linux kernel but in some cases the manufacturers drivers have better support and should be used instead.
Update: The following comment by Paul has some updated information that is worth reading: http://www.cianmcgovern.com/getting-the-edimax-ew-7811un-working-on-linux/#comment-764845109