Rt2x00 beta driver

From ArchWiki
Revision as of 07:16, 7 May 2006 by Iphitus (talk | contribs) (ieee80211-utils)
Jump to: navigation, search

This page describes how you can make the new rt2x00 Beta drivers work. This page does not describe the legacy rt2500, rt2400 and rt2570 drivers derived from the original Ralink drivers.

At the time of this writing, only the rt2560 PCI and PcCard chipsets (rt2500pci driver) are known to work in Open, WEP or WPA (PSK and EAP) mode. So far, there are no success stories with rt2400pci, rt2500usb and rt61pci drivers. If you succeed in using these drivers, please add a comment here.

The rt2x00 drivers are supposed to work with SMP kernels, but I did not test this myself. Please add comments here if you were able to use the driver with an SMP kernel.

There are still many issues with this driver. Many people experienced crappy speed. To help solve these issues, everyone who is willing to test the new driver should look at the rt2x00 BETA Testing section of the rt2x00 forums.

Installing necessary tools


Under most circumstances, these utilities are not required to use rt2x00, as wireless extensions should handle the device fine.

The rt2x00 drivers are based on the new DeviceScape ieee80211 stack. The stack itself is compiled and installed along with the driver. But there are some tools required to make the devices work. These are in the ieee80211-utils package.

I submitted an AUR package and uploaded a binary package to my repo:

 Server = http://www-users.rwth-aachen.de/thomas.baechler/arch/brain0/os/i686

Note that the DeviceScape stack is still in development and both these tools and the necessary steps to activate the devices are likely to change in the future.


DeviceScape has its own dscape driver for wpa_supplicant. There are reports that wpa_supplicant also works with the wext driver, but I didn't test this. If you want to try the wext driver, you can use the wpa_supplicant package from the repos.

To use the dscape driver, you need to apply this patch to wpa_supplicant. You can also use the wpa_supplicant-dscape package from my repo.

Installing the driver

The rt2x00 Beta 3 (as posted in the AUR) and older version are known to NOT WORK. In order to have a working driver, you MUST use the new rewrite based on the DeviceScape stack. This new driver is (at the time of this writing) only available as a CVS snapshot. To install the driver, unpack the driver, change to the rt2x00-cvs-2006XXXXXX directory and type

make install

There is a package for this in [unstable] that will be updated relatively frequently, however it is advised you use the latest snapshot. Grab the pkgbuild from CVS here: http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/modules/rt2x00/?cvsroot=Unstable

Using the driver

Setting the interface up

If you have module autoloading enabled, the drivers should be loaded automatically when you boot your machine or insert the device. If this doesn't work or autoloading is disabled, load the modules manually:

modprobe 80211
modprobe rate_control
modprobe $driver

where $driver is one of the following: rt2500pci, rt2400pci, rt2500usb or rt61pci.

When the driver is loaded, you will have two interfaces, wmaster0 and wlan0.

Now you may use normal iwconfig statements to configure your wlan0 interface and run ifconfig or dhcpcd to use the interface.

Using wpa_supplicant

For example, to use wpa_supplicant, try

/usr/sbin/wpa_supplicant -wB -Ddscape -ista0 -c/etc/wpa_supplicant.conf

Replace -Ddscape with -Dwext if you have chosen to use the stock arch wpa_supplicant package. Note that wpa_supplicant didn't work with hidden essid in my tests.

// TODO: someone please confirm that wpa_supplicant also successfully associates to open or wep-encrypted networks, I only tried WPA-PSK and read success reports about WPA-EAP

Using WEP

WEP should work with the Wireless Extensions used by iwconfig, if not:

To enable WEP, use the following command:

dscape_crypt_conf -1tp "sta0" "ff:ff:ff:ff:ff:ff" WEP "$key"

where sta0 is your wlan-interface and $key is the wep key. See

dscape_crypt_conf --help

for further help.

// TODO: Some please confirm that this works