Difference between revisions of "Rtl8187 wireless"

From ArchWiki
Jump to: navigation, search
(Using Ndiswrapper)
(contained only general information, the driver itself "should just work" or the general informations are enough)
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{i18n|Rtl8187 wireless}}
+
#REDIRECT [[Wireless Setup]]
[[Category:Wireless Networking (English)]]
 
 
 
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 linux 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 <pre> usbcore: registered new interface driver rtl8187 </pre>
 
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 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.
 
 
 
==Adjusting with iwconfig options==
 
 
 
=== Lowering the rate ===
 
 
 
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, thus making the connection a bit more stable:
 
 
 
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"
 
 
 
Now calling;
 
 
 
    netfcg2 -c <wireless profile>
 
or
 
  netcfg-menu
 
and choosing your profile works without extra commands.
 
 
 
=== 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.
 
 
 
=== Setting rts and fragmentation thresholds ===
 
 
 
Default iwconfig options have rts and fragmentation thresholds off. These options are particularly useful when there are many adjacent APs or in a noisy environment.
 
 
 
The minimum value for fragmentation value is 256 and maximum is 2346. In many windows drivers the maximum is the default value:
 
 
 
iwconfig wlan0 frag 2346
 
 
 
For rts minimum is 0, maximum is 2347. Once again windows drivers use maximum as the default:
 
 
 
iwconfig wlan0 rts 2347
 
 
 
== The 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 [http://aur.archlinux.org/packages.php?ID=15375 rtl8187-ng] package from [[AUR]].
 
 
 
 
 
Since the above package is outdated as of 11/08/11 you can try installing the [https://aur.archlinux.org/packages.php?ID=51272 linux-aircrack] patched kernel instead from [[AUR]] or the precompiled package from the [https://wiki.archlinux.org/index.php/Unofficial_User_Repositories adslgr32] unofficial repository
 
 
 
== 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.
 
 
 
'''Install ndiswrapper'''
 
pacman -S ndiswrapper
 
 
 
'''Download the Windows drivers'''
 
wget [http://db.tt/4NB0HbF6 http://db.tt/4NB0HbF6]
 
 
 
'''Extract the drivers'''
 
unzip ndiswrapper.zip
 
 
 
'''Unload the rtl8187 module'''
 
modprobe -r rtl8187
 
 
 
'''Remove any previously installed drivers (if any)'''
 
 
 
ndiswrapper -r net8187b
 
 
 
'''Install the new drivers'''
 
 
 
ndiswrapper -i ./ndiswrapper/net8187b.inf
 
 
 
ndiswrapper -m
 
 
 
depmod -a
 
 
 
'''Make sure that it is installed'''
 
 
 
ndiswrapper -l
 
 
 
'''Try now loading the module'''
 
 
 
modprobe ndiswrapper
 
 
 
'''Kernel log shouldn't indicate any errors'''
 
 
 
dmesg | tail
 
 
 
'''If all steps are successful it should be visible now in the iwconfig interfaces list'''
 
 
 
iwconfig
 
 
 
'''Add ndiswrapper to the MODULES array in /etc/rc.conf'''
 
 
 
MODULES=(... powernow-k7 ndiswrapper ...)
 
 
 
'''Blacklist ''rtl8187'' in /etc/modprobe.conf.d/rtl8187.conf'''
 
 
 
blacklist rtl8187
 
 
 
Proceed to connect as you normally would.
 
 
 
{{Note|You may still have issues with disconnections, but in this case setting rates, rts and fragmentation thresholds actually work}}
 
 
 
=Misc Links=
 
*[http://rtl-wifi.sourceforge.net/ Project-page of the rtl-wifi driver project]
 
*[http://aircrack-ng.org/doku.php?id=r8187 Aircrack-ng information and tweaks for rtl8187 chips]
 

Revision as of 22:30, 3 August 2013

Redirect to: