Rtl8187 wireless

From ArchWiki
Revision as of 18:25, 11 September 2008 by Rohni (Talk | contribs) (What to do if your connection always times out?)

Jump to: navigation, search

This page describes how to get the rtl8187 wifi-driver working

Note: The rtl8187 driver is included in vanilla 2.6.23!


The rtl8187 chip is made for usb-cards/dongles

It supports 802.11(a)/b/g and the following encryptions: WEP, WPA and WPA2

The driver's source is released under the GPL

Installing the driver

If you are on 2.6.23 or above you have to enable CONFIG_RTL8187 in your kernel-config.

You can check if this option is enabled in your current kernel by executing:

zcat /proc/config.gz | grep CONFIG_RTL8187

If it outputs

CONFIG_RTL8187=m

or

CONFIG_RTL8187=y

then your kernel includes the rtl8187 driver


If you are using anything lower than 2.6.23 you can choose between the following methods:

Compiling the module from the source-code

No HOWTO yet

Patch your 2.6.22 kernel

Note: if you are already running 2.6.23 or later this is not necessary anymore - just enable the Realtek 8187 USB support in your kernel-config

At first you have to get the kernel-sources After that you'll need to download two patches: one for the rtl8187 driver and one for EEPROM_93CX6 (rtl8187 requires EEPROM_93CX6-support)

Save the following link as EEPROM_93CX6.patch (download it to your harddisk with wget -O EEPROM_93CX6.patch $URL):

EEPROM_93CX6.patch

Then save the following link as rtl8187.patch (download it to your harddisk with wget -O rtl8187.patch $URL):

rtl8187.patch

Now extract your kernel sources, cd into the kernel-source directory and run

patch -Np1 -i $path/to/EEPROM_93CX6.patch
patch -Np1 -i $path/to/rtl8187.patch
make menuconfig
Now activate:
 Device Drivers  ---> Misc devices  ---> EEPROM 93CX6 support 
(I compiled it directly into the kernel with [*]) Then go to:
 Device Drivers  ---> Network device support  ---> Wireless LAN  ---> Wireless LAN (IEEE 802.11) -> Realtek 8187 USB support 

(I compiled this as module [m])

What if you can't find "Realtek 8187 USB support" in the kernel config menu?

Don't panic - make sure you activated EEPROM 93CX6 support
 Device Drivers  ---> Misc devices  ---> EEPROM 93CX6 support 
and the Generic IEEE 802.11 Networking Stack (mac80211)
 Networking  ---> Wireless  ---> Generic IEEE 802.11 Networking Stack (mac80211) 


Now you can save your kernel-config and start compiling After a reboot the module rtl8187 should be available. You can load it like this:

modprobe rtl8187

You can also add rtl8187 to the MODULES-section in your rc.conf

If you want to add rtl8187 support 'The Arch-Way' make sure to add "patch -Np1 -i ../foo.bar" to your kernel-PKGBUILD

Using and testing the driver/Troubleshooting

Make sure that you have loaded the rtl8187 module with

modprobe rtl8187

Then run

dmesg | grep rtl8187
You should see some output like this
 usbcore: registered new interface driver rtl8187 

If you see that line everything should be OK

Using the driver

If everything is right, you should have two new interfaces: wlan0 and wmaster0 If you don't see wlan0 just run

ifconfig wlan0 up

To list all available wifi-networks just run

iwlist wlan0 scan

For more information about configuring your wifi-network see here: http://wiki.archlinux.org/index.php/Wireless_Setup#Setup_and_Boot

What to do if your connection always times out?

The solution can be found in this thread: http://bbs.archlinux.org/viewtopic.php?pid=299642

Just set the rate to 5.5

iwconfig wlan0 rate 5.5M auto

Actually this worked for a while but it would still start revving out, so making the last item "fixed" ensures it does not spin. Btw. If your wireless card has already gone into meltdown issuing this command will get it working again.

iwconfig wlan0 rate 5.5M fixed 

I have also tried setting this in the IWOPTS, but it does not seem to be taking, so now what I do until I get this sorted out is:

  netcfg2 -c <your wireless profile> 
  iwconfig wlan0 rate 5.5M fixed

And then it never times out (at least for me)

Found the $POST_UP option, so appending this to your profile config file, sets the rate correctly when using the netcfg tools.

   POST_UP="iwconfig wlan0 rate 5.5M fixed"

Actually for my card setting the rate higher still works, so now this line looks like:

   POST_UP="iwconfig wlan0 rate 12M fixed"

Now calling;

   netfcg2 -c <wireless profile>

or

  netcfg-menu 

and choosing your profile works without extra commands.

Misc Links