I recently upgraded to Fedora 15 on my netbook (a Samsung N130).  For a while I used Ubuntu 10.04 (nice and quick, reliable wireless, good battery), then 10.10 (bit slower, still reliable, reasonable battery) and then 11.04 (sadly a bit more sappy towards the battery and – subjectively- more laggy too).

But saying that, I like Ubuntu 11.04 in many ways.  I think Unity is good, despite much antipathy towards it elsewhere on t’internet, and the intregration of social networking, media player, messaging and so on makes for a pretty swish experience.  One problem that started plaguing it on my netbook, however, was that wireless became increasingly unreliable.  Sometimes I’d have to reboot multiple times to get a conneciton to my Access Point.  Connecting to wireless when coming out of standby never worked, period.

The netbook contains a Realtek RTL8192e wireless chip – a problem in Linux due to Realtek not really pushing development as proactively as possible into the Linux kernel.

So, what to do?

If you’re reading this then you’re probably thinking you have two options:
1) Struggle for an eternity to get the native Linux driver working properly, or
2) Install ndis-wrapper, download the Windows driver binaries and use that instead.

There were the options I felt I had after reading this fedoraforum thread  (F15, RTL8192 and Staging Drivers) and this thread too (F14 RTL8192E Staging Driver).

I almost swayed completely to option 2), but as if by magic I managed to get option 1) working.  This was mainly thanks to this ubuntu forum post.  In the post is a link to a download with the native linux RTL8192e driver files (I have taken the liberty of copying this archive and uploading here, in case that link stops working).

Here’s what I did:

In a terminal, type (as root)

# yum groupinstall “Development Tools” -y

Then, as your normal user:

# wget http://www.dirk-hoeschen.de/temp/rtl819Xe.tar.gz
 (or my link, above)
# tar xfz rtl819Xe.tar.gz
# cd rtl819Xe

Then, again as root:
# ./install.sh
(this step compiles the driver and loads the resultant kernel module)

Because Linux loads drivers (modules) dynamically, the device is brought up immediately.

My wireless card was then recognised and visible in Network Manager.  My access point was recognised and easy to connect to.  I have noticed that negotiation times are a bit longer than before, but I can confirm that after a little testing I can now put my netbook into standby, then awaken it and hey presto! my wireless reconnects automatically.  This is not a fringe use case; I for one am very glad this works as it should now.

Unlike the ubuntu post, I didn’t download the latest sources to compile.  I just went with the files in the archive. If you have difficulties, it may be worth investigating this – YMMV.

Although Fedora 15 was a pain to start off with, due to this issue, I found that once sorted it’s now becoming a real joy to use.  The extended battery life is really something to behold too – I’m getting a 20-30% increase in operating time now (up to 4 hours instead of 3 on Ubuntu 11.04).

Hope this helps someone out there.  If not, you may still want to follow some ndis-wrapper instructions – this might be a better alternative for you.

Good luck!

5 thoughts on “Solving the RTL8192e on Fedora

  1. Hello, I am trying to follow your guide but I am running into an error. When running this command:

    “tar xfz rtl8192Xe.tar.gz”

    I get an error saying

    “tar (child): rtl8192Xe.tar.gz: Cannot open: No such file or directory
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now”

    Any help would be great.

  2. Hi,

    Eek, you’ve inadvertantly highlighted a typo in my instructions. I originally typed:

    # tar xfz rtl8192Xe.tar.gz
    # cd rtl8192Xe

    I should, in fact, have typed:

    # tar xfz rtl819Xe.tar.gz
    # cd rtl819Xe

    Please retry using those commands.

    Thanks. 🙂

  3. [root@Krypton rtl819Xe]# ./install.sh
    Building kernel module…
    make: *** /lib/modules/3.1.0-7.fc16.i686/build: No such file or directory. Stop.
    Copying firmware…
    Installing module and rebuilding dependencies…
    install: cannot stat `r8192_pci.ko’: No such file or directory
    Removing r8192e_pci and r8192se_pci…
    ERROR: Module r8192_pci does not exist in /proc/modules
    ERROR: Module r8192e_pci does not exist in /proc/modules
    ERROR: Module r8192se_pci does not exist in /proc/modules
    Loading module…
    FATAL: Module r8192_pci not found.
    ..ready

    Thats the error i get 🙁

  4. Hi Keiron B,

    This post is a bit old now -it was a bit of a kludge in the first place, and only relates to the previous version of Fedora (15). If you’re trying this in 16, it’s more than likely to fail 🙁 I’m sorry you discovered this after following my steps.

    But, what you could do instead is add the RPMFusion repo, then install the kmod-staging package.

    You would also need to grab the firmware for your RTL chip. As root/sudo, use “lspci -vv” (install lspci via yum if not installed already) to explore which hardware your have installed on your machine – the firmware you require may be subtly different.

    The Realtek web site offers the ability to download the firmware for the wireless chip in your laptop. You’d need to extract it from the downloaded zip/tar file and then install it into /lib/firmware.

    A great resource to help with this is linuxwireless.org – hopefully the pages there will help you get up and running. If not, post back here and I’ll try to help – or email me.

    Good luck! 🙂