This has been tested on the following distributions:

  • Debian Squeeze
  • Debian Raspbian Wheezy (15/07/2012)

Note: You do not need to follow this procedure for Debian Raspbian Wheezy (18/09/2012) onwards; the RTL8188CUS WiFi chipset is supported out of the box and can be configured in the GUI. Simply run startx and select “WiFi Config” on the desktop.

The USB WiFi dongle I have is an EDUP EP-N8508. This dongle did not work out of the box and hung the Raspberry Pi during bootup for ages with the following cryptic message:

Waiting for /dev to be fully populated... cfg80211:Calling CRDA to update world regulatory domain

When it did finally allow me to log in it was apparent that the dongle did not work out of the box. Issuing the command lsusb (with the dongle plugged in) produced:

ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN

After hitting Google I found a potential solution in this thread:

To get the dongle working I had to connect via Ethernet first. After removing the dongle and connecting the Raspberry Pi to the Internet I made sure that the operating system was up to date:

sudo apt-get update
sudo apt-get upgrade

I then installed the standard Realtek firmware drivers,

sudo apt-get install firmware-realtek

I created a Downloads directory:

cd ~
mkdir Downloads
cd Downloads

Then downloaded the file 8192cu.tar.gz into it from my website. There are two versions depending upon the distribution you are using, so make sure you download the correct one:





I then blacklisted the standard drivers:

sudo nano /etc/modprobe.d/blacklist.conf

and then added this line at the bottom:

blacklist rtl8192cu

I then installed the precompiled drivers that I’d previously downloaded

tar xf 8192cu.tar.gz
sudo install -p -m 644 8192cu.ko /lib/modules/3.1.9+/kernel/drivers/net/wireless/
sudo depmod -a

I then checked that the file /lib/firmware/rtlwifi/rtl8712u.bin is present; it was on my installation. I assume this was because I’d installed the standard firmware earlier.

I then powered down the Pi, inserted the dongle and then rebooted; this looked promising – the system booted quickly (no hangs) and reported the dongle was working. The command ifconfig confirmed that I had a new interface, wlan0.

I then marked the interface as “up” and did a quick scan of our wireless network:

sudo ifconfig wlan0 up
sudo iwlist wlan0 scanning

This picked up my network. Now to configure to access the network I followed instructions from this guide (Step 3 onwards):

First, I checked that the package wpasupplicant was installed. This is required to connect to a WPA-EAP secured network.

sudo apt-get install wpasupplicant

Then I edited the network configuration file:

sudo nano /etc/network/interfaces

If you are using a WEP network, add this at the bottom of the file:

auto wlan0
iface wlan0 inet dhcp
    wireless-essid YOUR-SSID
    wireless-key YOUR-WEP-KEY
    wireless-mode managed

If you are using WPA, use this instead:

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid YOUR-SSID
    wpa-psk YOUR-WPA-KEY

The WPA example given in the instructions didn’t work for me; the configuration may be for connecting to a WAP-EAP secured network. I think this is a neater solution; one less file to edit!

At this point I restarted the network:

sudo /etc/init.d/networking restart

And after issuing another ifconfig I had confirmed that I had a working wireless network interface. Pulling the Ethernet cable out and rebooting confirmed this.