Edimax EW-7811Un Wi-Fi Adapter on the Raspberry Pi

This dinky little USB Wi-Fi adapter seems like a good match for the Raspberry Pi, it seems silly to have a huge dongle sticking out of something so small and this little thing really is tiny, it’s only £10 including delivery on eBay too and will work on the Pi without a powered hub.

I checked the list on the excellent eLinux wiki to see if it was known to work on the Pi and there was even a link to a handy guide to setting it up, it’s all pretty straightforward except that the standard rtl8192cu kernel driver doesn’t work, the guide included a download for one that did but it was only a binary for the 3.1.9 kernel that the Raspberry Pi Debian image uses out of the box and as I’m using this 3.2.18+ kernel with I2C support it was no good to me and there was no link to the source so I could build my own.

I tried the one on the Edimax website which was the same as the version on the CD included with the dongle but it was too old and wouldn’t compile against a 3.2 kernel. After a bit of searching I found a newer one for a different adapter using the same chipset and that worked with only a couple of tiny modifications.

I’ve uploaded the source here in case anyone else finds themselves in the same situation, it cross compiles fine with: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KSRC=/path/to/kernel/source KVER=kernel version  and you can then follow the above guide for the rest.

Here is the compiled version for a 3.2.18 kernel and also a compiled version of the complete 3.2.18 kernel and modules for the Raspberry Pi (with I2C driver).

14 thoughts on “Edimax EW-7811Un Wi-Fi Adapter on the Raspberry Pi

  1. Nathan,
    Many thanks for sharing, this has saved me tonnes of work!!!
    Kind regards,
    -Duncan.

  2. Hi Duncan, Do you mean the RPi firmware? I’ve never bothered updating it so it’s still the same as included with the 19/04/12 Squeeze image. Will probably stick Wheezy in the next few days and build Chris Boot’s 3.2.20 kernel. Will update if any problems.

    Cheers,
    Nathan

  3. Hi

    I’m trying to build this against bootc’s 3.2.20 kernel but it isn’t working.

    first I build the kernel:

    cd bootc-linux-84e7662
    ssh pi@raspberrypi zcat /proc/config.gz > .config
    make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
    make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k

    then the driver:
    cd ../rtl8192_8188CU_linux_v3.0.2164.20110715/
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KSRC=~/raspberrypi/bootc-linux-84e7662 KVER=3.2.20

    scp 8192cu.ko pi@raspberrypi:8192cu.ko

    Then on the raspberrypi I do:

    sudo mv 8192cu.ko /lib/modules/3.2.20-rpi1+/kernel/net/wireless/
    sudo depmod -a
    sudo modprobe 8192cu

    but get the following error:

    FATAL: Error inserting 8192cu (/lib/modules/3.2.20-rpi1+/kernel/net/wireless/8192cu.ko): Invalid module format

    Any ideas what I’m doing wrong?

    Thx
    Andy

  4. Sorry ignore my comment, it worked the 3rd time – not exactly sure what I did differently, I probably was just more careful 🙂

    Andy

  5. Hi, Thanks your info here. I’m a linux noob and i’m trying to get the same wireless adapter to work with xbmc on the Pi. I’m not sure of the relationship between the xbmc and the standard RaspPi debian install… but should it work do you think?

  6. Hello,
    I’m building a UGV that can be operate by wi-fi and it has a webcam on it. My problem is that my dongle (Edimax EW-7811Un) do not work without a hub USB. how did you manage to use it directely on your Raspberry Pi?

  7. Hi Sven, I’m not doing anything special, it must be down to the power going into the Pi I think, they can be a bit fussy. It didn’t work with the first power supply I used (failed during boot, I can’t remember how) so I tried another one and it has been fine on that.

  8. I concur. I’ve used several Edimax EW7811Un with several different Pi, all fine. I would strongly suspect that your Pi’s power supply is the problem (I’m imagining that your UGV is running the Pi off a battery).

  9. Thanks for those quick answers. Actually ,I’m still using a 5V and 1Amp power supply. But I’m waiting for a battery that can deliver 2A at 5 volt. I’ll test it with it. If it doesn’t work. I will use a hub. I’ll keep you informed.

  10. I’ve found another method to set the dongle Edimax:

    You go on the root terminal and type:

    nano /etc/network/interfaces

    And you add the below text to the end of the file:

    auto wlan0 (<—- it was a zero)
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa.conf

    Then in the terminal, you type:

    nano /etc/wpa.conf

    and you add the below text (of course, you need to chage the NETWORK_SSID and NETWORK_PASSWORD:

    network={
    ssid="NETWORK_SSID"
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP
    psk="NETWORK_PASSWORD"
    }

    Then, at the command line, type:

    sudo ifup wlan0

    and it should write that it is already configured.

  11. Yes, this is an old post, the newer Raspbian distro has the drivers in already so no need to mess around with the kernel these days.

    I added it all in /etc/network/interfaces like this:

    auto wlan0
    iface wlan0 inet dhcp
    wpa-ssid “NETWORK_SSID”
    wpa-psk “NETWORK_PASSWORD”

  12. hello. sorry for my bad engglish. I want to ask about using dongel edimax ew-7811 un on openelec. how to using it on android portable hotspot i’have try several time but still does’t work, i have to set the network and set wlan – wlan0 – and the ssid name but still wont work. please help me

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.