Rtl8187 wireless

From ArchWiki
Revision as of 06:25, 10 November 2011 by Twilight (talk | contribs) (Method 4: Using Ndiswrapper)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

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

Note: The rtl8187 driver is in the kernel (thus the driver comes with the kernel26 package)

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

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 do not 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?

Method 1: Lowering the transfer rate manually

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>



and choosing your profile works without extra commands.

Method 2: Lowering the txpower

You can try lowering the transmit power as well. This may save power as well:

iwconfig wlan0 txrate 5

or even as low as 1. Valid settings are from 0 to 20 or auto for the stock kernel driver.

Method 3: Aircrack-ng patched driver

Note: Note that this driver only works on kernel26

Another method that works for some users are the Aircrack-ng patches for the rtl8187 driver. This driver can be installed by the rtl8187-ng package from AUR.

Since the above package is outdated as of 11/08/11 you can try installing the linux-aircrack patched kernel instead from AUR or the precompiled package from the adslgr32 unofficial repository

Method 4: Using Ndiswrapper

If everything else fails, then you are left with using Ndiswrapper. Ndiswrapper takes Windows RTL8187 drivers and uses them to enable your card.

1. Install ndiswrapper:

pacman -S ndiswrapper

2. Download the Windows drivers:

wget http://db.tt/4NB0HbF6

3. Extract the drivers:

unzip ndiswrapper.zip

4. If you have the rtl8187 module loaded, then do this:

modprobe -r rtl8187

5. Install the driver:

If you have any previous drivers installed that may or may not have failed remove them:

ndiswrapper -r net8187b

Install the new drivers:

ndiswrapper -i ./ndiswrapper/net8187b.inf
ndiswrapper -m

Make sure that it is installed:

ndiswrapper -l

modprobe ndiswrapper

Kernel log shouldn't indicate any errors:

dmesg | tail

If all steps are successful it should be now visible in the iwconfig interfaces list:


6. Add ndiswrapper to the MODULES array in /etc/rc.conf

MODULES=(... powernow-k7 ndiswrapper ...)

7. Blacklist rtl8187 in /etc/modprobe.conf.d/rtl8187.conf

blacklist rtl8187

Proceed to connect as you normally would.

Misc Links