Edimax EW-7811Un USB wireless – connecting to a network (on ubuntu 11.10)

I recently decided to make the plunge and install ubuntu 11.10 (32 bit) on my desktop. All went smoothly except for one bug: I couldn’t get Internet.

I use a wireless USB stick by edimax (it is called IEEE802.11b/g/n nano USB adapter or also EW-7811Un). The problem was that Ubuntu seems to be able to use the USB to see the networks around me, but when I tried to connect to my network (either when the router had the password on or off) – it just kept trying and failing to connect.

This is apparently a known bug which can be resolved after following some good leads from ubuntuforums (thanks the user “praseodym” for your help) and askubuntu (thank you user Engels Peralta for your help).

Bellow are the steps I needed to take in order to solve the problem in the smoothest fashion – I hope others might benefit from it in the future.

Step 0: get a network cable

In order to solve this issue you will need Internet.  Get a network cable which you can physically connect to your router.  Once you have Internet access the following steps are much easier to follow.

Step 1: make it easy to open terminal window in a specific folder location

This step is important since it makes several other steps easier to manage.

The instructions on how to do it are given here.  You simply need to open a terminal window (press CTRL+ALT+T), and type:
sudo apt-get install nautilus-open-terminal

From now on, whenever you want to open a new terminal window in a specific folder – you simply right-click that folder (from the folder which is a level above it) and choose “Open in Terminal”

Step 2: Download the latest edimx drivers

Go here, and download the driver.

Step 3 is not needed

Update: The current new drivers (Jan 2012 – version 3.3.2_3192) seem to work fine without needing to edit them. You will likely need a system restart later…

Step 3: Edit the driver files

The drivers as of today (that is, the driver which is in the file “RTL8188CU_linux_v3.1.2590.20110922.zip”) will not work “out of the box” for ubuntu 11.10 and will need to be (slightly) modified.

Unzip the driver folder, and then go to the archive driver/rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz inside the driver folder (which is likely to be called “RTL8192CU_8188CUS_8188CE-VAU_linux_v3.1.2590.20110922″ inside your download folder) There you will need to edit two files (simply browse there and double click the files to have them open in gedit for editing):

file 1: include/rtw_io.h

Change osdep_service.h (line 36) linux/smp_lock.h to linux/smp.h

file 2: include/osdep_service.h

Change file rtw_io.h (line 49) linux/smp_lock.h to linux/smp.h

 

Step 4: Install the new driver

Go to the download folder and open (using right click, if you followed step 0) the terminal for the folder “RTL8192CU_8188CUS_8188CE-VAU_linux_v3.1.2590.20110922″.  Then run:

sudo bash install.sh

(note 1: it will ask for your user’s password – as will any command which is using the sudo = super user do prefix)

(note 2: in order to paste in the terminal, use ctrl+shift+v instead of just ctrl+v as is in the GUI and other editors)

Step 5: blacklist the old driver

Next, we want to edit /etc/modprobe.d/blacklist.conf Getting there using the GUI wouldn’t work, because ubuntu wouldn’t let us save the changes we will make. Instead, just open the terminal and type:
sudo gedit /etc/modprobe.d/blacklist.conf

Go to the end of the file and add the line:

blacklist rtl8192cu

(thanks goes to icracked for the advise)

Step 6: remove and re-insert the network USB (and reboot)

Once done – I was finally able to see and connect to my home Internet network.

At this point, some people also said reboot helped, so if you got this far, why not do that too…

****************

Last thanks also goes to Ethan Shalev, Eran Vered, Gadi Esterin, and Gil Bahat – for caring and trying to help through facebook. And also to Tomer Cohen, for spending some good quantities of time trying to help me (and also showing me some cool things on the way).

****************

If you get to know of any better solutions, or if the problem is already fixed (or simply if this post helped you) – feel welcome to leave a comment :)

  • http://twitter.com/Rezildans Das Volkan

    By the way, Realtek updated their drivers yesterday and says it supports “Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.2″.

    In this case what should we do? And in Kubuntu as I prefer KDE, is the procedure same? 

  • Joe

    I just went through this and found that I no longer had to change “smp_lock.h” to “smp.h” for the drivers to compile.

    • http://twitter.com/Rezildans Das Volkan

      So you mean you directly installed the new realtek driver & it worked without any modifications described in here?

  • Phil Stevenson

    Thank you for this guide. I was hoping that this would solve my problem with this adapter. Unfortunately, it doesn’t want to work for me. I can get the drivers to install via the script, the light comes on, I can see wifi networks, but not connect.

    I posted a help thread about this here: http://ubuntuforums.org/showthread.php?t=1892621

    I also found this thread: http://ubuntuforums.org/showthread.php?t=1883600&highlight=EW-7811Un&page=2

    On that thread, post 18 suggests compiling using DKMS. Do you have any thoughts on this?

    I appreciate it!

    – Phil

    • http://www.r-statistics.com/ Tal Galili

      Hi Phil,
      I am sorry this didn’t work for you.

      Did you follow all of the steps?

      I do not have experience with recompiling the DKMS, sorry :(

      Please let me know if you get this solved.

      Good luck,
      Tal

      • Phil Stevenson

        Hello Tal,

        Yes, I did follow the guide’s steps several times. For whatever reason, it does not want to work on my current setup. For now at least, installing Lucid was my solution. That’s disappointing, and I intend to keep fighting this as I need the 3.0+ kernel to properly use my 3TB hard drive, but at least I have internet for now. I appreciate your response!

        Thank you again,
        Phil

        • http://www.r-statistics.com/ Tal Galili

          Good luck!

  • Brad

    Thanks very much for this. I had been trying to get the adapter to work for some time found that it worked after I followed the instructions exactly and restarted.

    • http://www.r-statistics.com/ Tal Galili

      I am glad it helped :)

  • Chilli71

    This article was a great help (espcially the link to the drivers since drivers from edimax site did not compile). Latest drivers from realtek (3.3.xx) have the include smp_lock.h commented out so step 3 should be obsolete. I had to reboot to get the stick work.

    Thx
    Chilli71

    • http://www.r-statistics.com/ Tal Galili

      I am glad it helped :)

  • Joe Smith

    Thank you. Steps also work perfectly for edimax ew-7711UTn which appears to use the same driver.

    • http://www.r-statistics.com/ Tal Galili

      I’m glad it helped.
      Thank you for extending the information here Joe.

  • Kamil Okrasa

    Many thanks, it works like a charm now! With current drivers (3.3.1_3083) there is no need to edit the sources.

  • Chombier

    Many many thanks for this note, it helped me *a lot*. You, sir, are a gentleman and a scholar !

  • James LaBarre

    Sorry, didn’t fix it at all.  In fact, while I was able to see the wireless networks with the old driver (even though I couldn’t connect to them), I don’t see *any* networks now.

    Next thing to try is to enable the backports repo, since the Realtek site says “Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.2″, and the kernel version (even with updates) in Onieric is 3.0.0-14

  • baltas

    I was intalling edimax EW-7711USn on 2012-01-14 Realtek driver had version “RTL8188C_8192C_8192D_USB_linux_v3.3.2_3192.20120103″ lines in
    Change osdep_service.h (line XX) linux/smp_lock.h to linux/smp.hand uncomment the line eg. delete “//”Change file rtw_io.h (line XX) linux/smp_lock.h to linux/smp.hand uncomment the line eg. delete “//”

  • Lean Moha

    Thanks finally got it to work though the zip files you refer to do not exist on the linked site. REALECH for whatever reason have renamed the files. Anyway unplugging and repluging didn’t work for me so rebooted and it worked.

    • http://www.r-statistics.com/ Tal Galili

      Thank you for the feedback.  I am glad it helped :)

  • Paulhumphries

    Thanks such a lot for that. 
    The current new drivers (Jan 2012) seem to work fine without needing to edit them. The last step (blacklisting the old driver) was something I would not have thought of.

    • http://www.r-statistics.com/ Tal Galili

      Neither did I – until I found it hinted somewhere.  The world is interesting…

  • Lawrence

    installed ubuntu 11.10 fresh from cd. downloaded the ew-7811un (jan 2012) drivers. went straight to step 4 and got wireless working. did a system update, rebooted and wireless is no longer show in the network manager… :(

    • Lawrence

      repeated the wireless driver install again and everything is now working :) a very happy noob. yay!

      • http://www.r-statistics.com/ Tal Galili

        Thank you for the feedback.  I am glad it helped :)

      • Mark Whitehead

        If system updates are listed as “new install”, that effectively overwrites your existing drivers so afterwards you’ll have to go through the same process, each time there’s a major update. A bit of an overhead, but hey ho!

  • KINQ_SE

    Works perfectly with version 3.3.2_3192, no edit of files needed. But my system needed a restart. 

    • http://www.r-statistics.com/ Tal Galili

      Thank you for the feedback.  I am glad it helped :)

  • KINQ_SE

    Works perfectly with version 3.3.2_3192, no edit of files needed. But my system needed a restart. 

    • http://www.r-statistics.com/ Tal Galili

      Thank you for the feedback.  I am glad it helped :)

  • Chayal Boded

    I installed the driver, blacklisted the old one, then reinstalled it

    Worked like a charm

    • http://www.r-statistics.com/ Tal Galili

      Glad it worked :)

  • Pingback: Realtek RTL8188CU Based Chip USB NIC | The Lee Filter()

  • http://profiles.google.com/gtx.swift Lee Seymour

    Thanks!  Blacklisting was key.  I did actually edit script files although not needed by latest driver.  Got put on to this site by Launchpad question, (my feet have wondered, I do not know where.)

  • confused@_@

    Followed your steps but it didn’t work. running 11.10 on a dv2120us. Let me know if there is any other pertinent information to include.

  • coast2coastroast

    Worked great! Only thing that i would add is to reboot after step 1 for the open in terminal command to appear. Thanks for posting!

  • Matt Hagemeier

    Thank you for this!

    • http://twitter.com/JBLenfestey Johnathan Lenfestey

      Thanks for this post! Amazing job.

  • http://www.facebook.com/people/Logan-Kellar/100000324480557 Logan Kellar

    doesn’t work for me in backtrack 5 r2 instlal seemed ot have worked but it doesnt show up ;/

    • Cluber22

       Same problem with BT 5 R2. I manage to see the networks in Wicd, I try and connect but doesn’t get past auth. After that it doesn’t see any networks unless I take USB out of port and put back in again.

  • http://www.facebook.com/people/Logan-Kellar/100000324480557 Logan Kellar

    hmm it shows up in ifconfig but doesnt see any networks

  • Mark Whitehead

    Spot on walk-through, thanks for posting it up! Using 12.04 Beta and it worked fine with that to.
    As mentioned, it might help to add a line saying you need to reboot. Fortunately I remembered the IT Crowd tech support advice :-D

    • http://www.r-statistics.com/ Tal Galili

      My pleasure :)
      I’ll add the line…

  • Pingback: Edimax EW-7811UN USB adapter missing wifi APs | Linux-backtrack.com()

  • Daniel

    Please help!

    I need this exact fix but it appears Realtek have taken the file I am looking for down! (3.3.1_3083)

    Where can I get this file now? I am seriously desperate

  • http://www.facebook.com/norri Norio De Sousa

    I followed you post – thanks for the step-by-step instructions :) – but it still doesn’t work for me. It keeps timing out during authentication. It connects fine if I remove the key but that’s obviously not ideal.

  • Kd7hgz

    This worked great for me!  The Realtek drivers seem to be problematic, but thanks to the community for getting a working driver up for 11.10 and a process that a newbie can follow!

  • Geri

    Thanks a lot, it went flawless.

    • http://www.r-statistics.com/ Tal Galili

      I’m glad it helped :)

  • http://www.facebook.com/profile.php?id=116200728 Dan Green

    UPDATE – Realtek has updated their drivers, I was able to able to download them from Israel.  They work on Ubuntu 12.04 LTS

    • http://www.r-statistics.com/ Tal Galili

      Thanks Dan.
      Does that mean that there is no more need for this tutorial?
      (can some other reader confirm?)

    • Frahack94

      can you give a direct link to them? because i don’t know which ones are the right one; the one i downloaded(RTL8188C_8192C_..) while installing gives me the choice between the RTL8192cu/-du which aren’t right for this aadapter.
      thanks

  • Mattijs Ingelbrecht

    Hi

    Thnx for the great tutorial! One problem … i can’t change my mac address if I use the new drivers …I tried it with macchanger and with hw ether … but no luck…

    For example:
    Current MAC: 00:e0:4c:81:92:00 (Realtek Semiconductor Corp.)
    Faked MAC:   e4:ce:8f:36:5c:de (unknown)

    But my mac isn’t changed…

    Can you please help me ?

    Greetings!
     

    • http://www.r-statistics.com/ Tal Galili

      Hi,
      I am sorry – but I do not know the answer.

    • Medosh

       To change MAC you need to put interface down
      ifconfig wlan0 down
      macchanger –mac e4:ce:8f:36:5c:de wlan0
      ifconfig wlan0 up

      It should be changed

  • Pingback: Installing Linux on MK802 - Page 3()

  • John Reeves

    Thanks friend :)

  • Dangreen Tlv

    toda raba achi

    • http://www.r-statistics.com/ Tal Galili

      You’re welcome :)

  • georgeontopovus

    I am getting kernel panic and BSOD after following installing this driver… 

    my kernel is 3.2.0-23-generic (x86_64) which I now see is supposed to support the Realtek 8188CUS chip out of the box.  Silly me for assuming I had to install the driver myself as I did in previous 2.x kernel versions.

    So how can reverse the procedure and uninstall the driver?

  • Pino

    Thanks a lot for the simple and precise explanation.
    Its working now

  • Dcj272

     at last I got it working with you instructions !! thanks a million :))

  • Fleckz

    Gotta say, thanks so much for posting this small tutorial. Worked a treat after the restart and can finally update my system and get on web now. Much appreciated.

  • nolan

    worked perfectly on ubuntu 12.04 with the rtl8188cus chipset!

  • DaveH

    Thanks very much after much searching this did the trick.

  • Scott

    Thanks a million. Works great with the monoprice dongle on Linux Mint 13. Blacklisting was the step I was missing!

    • http://www.talgalili.com Tal Galili

      I’m glad to read it helped – thank you for writing back :)

  • Pingback: WORKING RTL8188CUS IN UBUNTU 12.04! | thatguruguy()

  • Jacob Moodie

    Results in kernel panic: Ubuntu 12.04 64bit. Definitely could use some help on resolving this issue.

  • Pingback: crib notes, linux server administration - edimax wireless usb on Ubuntu 12 - | semioticpixels()

  • simon

    thank you, thats the solution! :)

  • Chris Brown

    Cant get this work! When you say sudo bash install.sh

    It just keeps coming up with this:

    bash: install.sh: No such file or directory

    Ive got Version v3.4.4_4749
    Tried everything to get it work!!

    Please help

    • mcraia

      Chris,

      You need to unpack/unzip the downloaded file into a folder, then go to the folder and start a terminal (type “ls”to show it content in terminal and see if install.sh is there). From the terminal you can then start the install.

      • Eric

        And it doesn’t matter where the folder is.

        I just extracted the archive to my desktop. So for me the commands were:

        cd Desktop
        ls
        cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105
        sudo bash install.sh

        The first line puts you on the desktop. The second line lists the name of the directory so you know where to go next (and you can also copy and paste the directory name so you don’t have to type in all those numbers). The third line puts you in the right directory, and the fourth line installs the driver.

        The writer of the original post suggested installing nautilus-open-terminal to make things easier, but that didn’t work for me for some reason.

  • Blister

    Worked perfectly for my USB WIFI dongle (TP-LINK TL-WN725N) on Ubuntu 12.10

    Thanks a lot for the write-up :)

  • Eric

    Thank you very much! That worked perfectly for me using Ubuntu 12.04 and driver version 3.4.4_4749.20121105. I did get an error message somewhere in the install process, but apparently it was benign. I appreciate your posting this.

    • Eric

      I just did a kernel update to 3.2.0-36-generic-pae, and the driver was no longer installed. I tried removing the blacklist line and rebooting to see if the new kernel might support the wireless adapter out of the box, but no such luck.

      I don’t know if that will happen with every kernel update, but in any case reinstallation was no problem.

      By the way, I’m not using the Edimax, but a no-name adapter I bought for cheap that uses the same chipset.

  • ouankou

    Thanks! It works like a charm. But maybe it is better to notice that before running install.sh, Linux headers package has to be installed. Otherwise there will be a error 2 message and it fails to install the driver.

    • http://www.r-statistics.com/ Tal Galili

      Thanks. I didn’t need to deal with that when installing the package, why do you think that might be? (is this likely to be installed by other software?)

      • http://twitter.com/ouankou Anjia Wang

        It’s me again. I got a nearly fresh ubuntu system. At first there’s no linux header package. When I install the driver, it showed the error message what O mentioned. After some google searching, it seems before compiling the third party driver, the current kernel’s header package has to be installed. I just did that step, then the error disappeared. Compiling is successful!

  • http://profiles.google.com/bamamorgans Todd Morgan

    I downloaded the 3.4.4 driver. They worked for me in Ubuntu 12.10 64-bit. Thanks