RTL8187SE Advent 4211 MIS Wind Wifi Wireless Linux Driver (LFS, Fedora Core 8 / 9 / 10, Debian Sarge)

This page is not designed to be mobile friendly, it has some really long commands that get confusing when they line break!!!

This is a guide to getting the Realtek 8187se wifi driver installed on a few flavours of linux. I had massive bother getting this sorted and belive it is more down to the driver download you get than your system. I have tried about 10 different drivers some wouldnt compile, some would but didnt work. Eventually I found the one this page provides and it works on 3 (well 5 if you count version) os's so here we go! Ah, yes, this driver is the standard WEP driver not a WPA job although with a bit of patience it could be done!

I did not make this module or the scripts that come with it. I cant remember for the life of me where i got it from either so i have left it intact as i downloaded it aside from taking out the wpa_suplicant.zip file.

Requirements

You must have the following installed on your system, the list is generic and applies to all os's:

A toolchain (make, binutils, gcc, kernel headers and the like, more later...)!
This file! (rtl8187-driver.tar.gz)
Kernel Source
Command line know how (if you have never complied apps from scratch dont try this!)
Patience, tea, coffee or what ever flicks your switch!

Tool Chain

LFS
If you are running LFS you can jump straight to building, you already have a tool chain installed! You should also have you kernel source to hand too, we are building modules so we'll need it!

Fedora Core 8 / 9 / 10
I have had this driver work on all those versions. Getting the toolchain installed is pretty simple.

yum -y install binutils make gcc kernel-devel glibc-headers (why they decided to change that package name from kernel-headers to glibc-headers I will NEVER know!)

yum should sort out all the dependencies for you, if not when you try to build the driver it will complain and tell you what missing so just yum -y whateverismissing!

Debian
Ive got the driver working on Debian Sarge, again its pretty simple getting the toolchain installed.

apt-get install build-essential module-assistant linux-source[version]

module-assistant prepare (it downloads and installs some packages)

As with yum apt-get should sort out any dependecies, if you have bother remember apt-cache search whateverismissing then apt-get install whateverismissing!

Building

Unpack the source, I always put a source package into its own directory before doing tar zvf *.gz. At least if the files are packed without a directory you wont cock up your home directory with a bunch of .c files all over the shop! Change to the source directory and run ./makecln then ./makedrv.

It should churn for a bit then dump you back to the prompt, provding there where no errors all should be well. Now for the fun part! You need to install the modules into the kernels module tree. Once built I do the install manually (I try to do everything linux manually so i know EXACTLY whats going on!).

cp -v ieee80211/*.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless

cp -v rtl8185/*.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless

That should have them all installed and ready, you can do:

ls /lib/modules/`uname -r`/kernel/drivers/net/wireles

and check that you have the following files in that directory:
r8180 (the driver)
ieee80211_crypt_ccmp-rtl.ko
ieee80211_crypt-rtl.ko
ieee80211_crypt_tkip-rtl.ko
ieee80211_crypt_wep-rtl.ko

Testing

At this point most people would be telling you to run depmod in some form or another. I am not! I am going to tell you to reboot. The reason is simple, when you machine reboots if all is installed well and working the kernel and its best buddy udev will find the NIC and load the required modules (with a self built kernel you must make sure module autoloading is set). So reboot the machine and do:

lsmod | more

To check and make sure you modules are loaded! If they are not you will have to load them manually then do:

depmod -a

The load order goes like this:

insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/ieee80211_crypt-rtl.ko
insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/ieee80211_crypt_wep-rtl.ko
insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/ieee80211_crypt_tkip-rtl.ko<
insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/ieee80211_crypt_ccmp-rtl.ko
insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/ieee80211-rtl.ko
insmod /lib/modules/`uname -r`/kernel/drivers/net/wireless/r8180.ko

All loaded? Another depmod -a then reboot and your modules hould now be loaded! If they are not then you can stop reading here because I can't help you I'm afraid :(

Still Here? Setting up the interface!

Now your modules are all loaded and you can see the wlan0 device in:

/etc/udev/rules.d/*persistent-net.rules

You are ready to setup wireless-tools to do the authentication and connection to your wireless lan! I wrote a script :) There it is down there. Make the required changes and try it!

#!/bin/bash
 
iwconfig wlan0 essid ESSID > /dev/null
iwconfig wlan0 mode Managed > /dev/null
iwconfig wlan0 key NETWORKKEY > /dev/null
ifconfig wlan0 up > /dev/null
iwlist wlan0 scanning > /dev/null
dhclient -q wlan0

It needs to be run as root or you need to setuid on the script and the commands it uses which is fine on a single user system behind a firewall but out in the cafe or library. Hmmmm.....! Also even if it is in root's home directory set it to chmod 700 just in case || even bash script name, thats even better! That should be that!!!

 

Comments


On Sun, 18 Jul 2010 14:47:17 +0100 psymeg though we needed to know:
cheers mate, that worked for my averatec 1000 net book:) running fedora 11.

----

Add Comment


Poster Name / Handle / Email:

Comment

Add the words "child child"