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
dmesg | grep rtl8187You 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?
The open source driver suffers from a lot of tx excessive retries and invalid misc errors for some unknown reason, resulting in a lot of packet loss and it keeps disconnecting, some times instantly.
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
Fixed option should ensure, however, it doesn't change the rate on its own making the connection a bit more stable:
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
Alternativelly find the $POST_UP option and append the above options to your profile config file:
POST_UP="iwconfig wlan0 rate 5.5M fixed"
Try various rates until you get the optimal setting, with no disconnection. In this case 12Mbits, as shown bellow:
POST_UP="iwconfig wlan0 rate 12M fixed"
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 txpower 5
or even as low as 0. Valid settings are from 0 to 20, auto and off for the stock kernel driver.
Method 3: Aircrack-ng patched driver
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:
3. Extract the drivers:
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
Make sure that it is installed:
Try now loading the module
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
Proceed to connect as you normally would.