Difference between revisions of "Rt2870"

From ArchWiki
Jump to: navigation, search
m (The previous list broke page layout)
(Article content details obsolete configuration method and is relates to older versions of the driver.)
Line 2: Line 2:
 
[[Category:Networking (English)]]
 
[[Category:Networking (English)]]
 
[[Category:HOWTOs (English)]]
 
[[Category:HOWTOs (English)]]
 
+
{{Accuracy}}
 
= Introduction =
 
= Introduction =
 
This entry is to aid you in configuring wireless settings for use with devices built with Ralink's rt2870 chipset. I hope that this entry will encourage further contribution regarding the configuration of ralink drivers.
 
This entry is to aid you in configuring wireless settings for use with devices built with Ralink's rt2870 chipset. I hope that this entry will encourage further contribution regarding the configuration of ralink drivers.

Revision as of 09:17, 6 June 2009

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Rt2870#)

Introduction

This entry is to aid you in configuring wireless settings for use with devices built with Ralink's rt2870 chipset. I hope that this entry will encourage further contribution regarding the configuration of ralink drivers.

Template:Box Note

Installation

  • Install the Drivers
    • Grab the tarball from AUR
    • Extract the Tarball
      • tar xvf rt2870.tar.gz
    • Enter the rt2870 directory and build and install the driver; the driver installed will be called rt2870.ko
      • makepkg -i
  • To simplify things, create a modprobe alias by editing /etc/modprobe.conf and entering the following line
alias ra0 rt2860

The Configuration File

This section is to help you with the configuration file used to set the parameters of the device when it is brought up (e.g. ifconfig ra0 up).

  • First, go into the src/ directory where you built the package and into the source code's directory. For example
cd ~/AUR/rt2870/src/2008_0925_RT2870_Linux_STA_v1.4.0.0
  • Copy the RT2870STA.dat file to /etc/Wireless/RT2870STA (if the directory doesn't exist, create it)
cp RT2870STA.dat /etc/Wirless/RT2870STA

Editing the Configuration File

From here, you must configure the device's settings prior to bringing up the device. The options are found in the .dat file that you should have just copied. There are a lot of options (some with ambiguous documentation), but let's focus on the important ones.

Initial Configuration

  • In this file, the first line must always contain the word Default, so it should be on the first line.
Default
  • Change the country/region channel type to the ones that correspond to your network, with the use of integers 0-7: 0 for channels 1 through 11, 1 for channels 1 through 12, 2 for channels 10 and 11 (according to ralink), 3 for channels 10 through 13, 4 for channel 14, 5 for channels 1 through 14, 6 for channels 3 through 9, and 7 for channels 5 through 13.

My configuration

CountryRegion=0
  • Add your country code. Valid country codes include the following
AG, AR, AW, AU, AT, BS, BB, BM, BR, BE, BG, CA, KY, CL, CN, CO, CR, CY, CZ, DK, DO, EC, SV, FI, FR, DE, GR, 
GU, GT, HT, HN, HK, HU, IS, IN, ID, E, IL, IT, JP, JO, LV, LI, LT, LU, MY, MT, MA, MX, NL, NZ, NO, PE, PT, 
PL, RO, RU, SA, CS, SG, SK, SI, ZA, KR, ES, SE, CH, TW, TR, GB, UA, AE, US, VE

My configuration

ConuntryCode=US
  • Edit the ssid to your network's ssid using either characters 0-z or 1~32 ascii characters

For example

SSID=mywirelessnetwork
  • Change the newtork type to whatever type of network you are using: Infrastructure (as Infra) or Adhoc (as Adhoc)

My configuration

NetworkType=Infra
  • Edit the wireless mode using numbers 0 through 10: 0 for legacy 11b/g mixed, 1 for legacy 11B only, 2 for legacy 11A only, 3 for legacy 11a/b/g mixed, 4 for legacy 11G only, 5 for 11ABGN mixed, 6 for 11N only, 7 for 11GN mixed, 8 for 11AN mixed, 9 for 11BGN mixed, and 10 for 11AGN mixed

I use 0

WirelessMode=0
  • Edit the channel number. This must correspond to the CountryRegion setting.

My configuration

Channel=10

Authentication

Template:Box Note

  • Set authmode to either Open (for WEP), WPA (WPA with WPA Supplicant), WPA2 (WPA2 with WPA supplicant), WPAPSK, or WPA2PSK. The WPA and WPA2 options should work with netcfg and networkmanager.

I use WPA so,

AuthMode=WPA
  • Set the encryption type to either WEP, TKIP, or AES (or None)

I use TKIP, so

EncrypType=TKIP

WPA

  • If you're using WPA, set your WPAPSK
WPAPSK=mysecretkey

WEP

  • If you're using WEP, first set the key index using numbers 1 through 4

For example,

DefaultKeyID=1
  • Now, set the key type (of your corresponding key index) so it know what kind of key to look for. 0 for hex, 1 for ascii string.
Key1Type=0
  • Provide your WEP key according to type, for example

For a string key

Key1Str=mysecretwepkey

For a hex key

Key1=01234

Examples

Here are some example options for reference.

RT2870STA.dat

Default
CountryRegion=0
CountryRegionABand=7
CountryCode=US
ChannelGeography=1
SSID=mywirelessnetwork
NetworkType=Infra
WirelessMode=0
Channel=10
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=0
PktAggregate=0
WmmCapable=0
AckPolicy=0;0;0;0
AuthMode=WPA
EncrypType=TKIP
WPAPSK=mysecretkey
DefaultKeyID=1
Key1Type=0
Key1Str=
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
PSMode=CAM
FastRoaming=0
RoamThreshold=70
APSDCapable=0
APSDAC=0;0;0;0
HT_RDG=1
HT_EXTCHA=0
HT_OpMode=1
HT_MpduDensity=4
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
HT_MIMOPSMode=3
IEEE80211H=0
TGnWifiTest=0
WirelessEvent=0
CarrierDetect=0


And a netcfg profile

CONNECTION="wireless"
INTERFACE=ra0
SCAN="no"
SECURITY="wpa"
ESSID=mywirelessnetwork
KEY="mysecretkey"
IP="dhcp"
TIMEOUT=20
DHCP_TIMEOUT=30

No need to set the channel in the netcfg profile since the .dat file took care of it.

Troubleshooting

dmesg:Bulk In Failed, CMDTHREAD_RESET_BULK_IN, etc

Bulk In Failed messages are not so bad, but a problem arises when and if the failed data leads to CMDTHREAD_RESET_BULK_IN which results in the module removing itself (e.g. modprobe -r rt2870sta).

This probably happened because you created your own RT2870STA.dat file. Go into the rt2870 tarball directory, into the source code directory, and replace the RT2870STA.dat in /etc/Wireless/RT2870STA/ with the preconfigured .dat file in the 2008_0718_RT2870_Linux_STA_v1.3.1.0 directory. From there, set the options that correspond to your network without removing any of the options.

rt2870CmdThread is using a lot of CPU

I don't specifically know why this occurs, but I was able to fix this by connecting the device into one of the usb ports in the back.

What next?

Insert the device and try connecting. See the Wireless Management section of Wireless_Setup for details on connection methods.