rt2860sta is a module for the Ralink RT2700P[D]/RT2700E[D]/RT2800P[D]/RT2800E[D] and RT3000E[D] PCI 802.11 draft-n wireless LAN chipsets. Supported devices are listed at the end of this page.

This experimental vendor driver is included as a staging driver in the mainline Linux kernel since 2.6.29. It is present in Debian kernel images since 2.6.29 (i386, amd64). Firmware was removed from the driver in Debian kernel images at 2.6.30.1 This is available in the firmware-ralink package since version 0.17.2

Wheezy

Known Issues

The rt2860sta driver may currently (as at 2008-11-29) be pretty buggy, but it works well when handled with care.

There is an issue in Debian-packaged kernels 2.6.30 and 2.6.31 in which the firmware is not properly reloaded on resuming from suspend. This will, later, cause a panic, most likely during shutdown. This is currently being worked on.

wpa_supplicant

Don't forget to specify all ciphers if you're trying to associate with a WPA AP. In my case, the following wpa_supplicant configuration works:

WPA2 (or, presumably, WPA) only works using TKIP, or at least hasn't worked with CCMP. (dsalt)

WPA2 + CCMP works like a charm for me, although I don't know how to make it connect to a hidden network, nor how to automagically configure it with dhcp (have to manually run dhclient wlan0) -- RaphaelGeissert

WPA2 + CCMP does not work for me either. Tried on 2 different 1000H with default kernel and with homemade one. wpa_supplicant just gives authentication timeouts after finding the AP. ap_scan=1 and =2 both work for me with WPA1. -- ?creeper 2009-03-22 20:30:22

Troubleshooting

If you have trouble getting your device to connect using wpa_supplicant, it may be due to the device trying to associate with the wrong AP/SSID, regardless of what you specified. This happened for me (?NielsBöhm) while trying to connect to my OpenWRT which publishes 3 SSIDs with different authentication and password settings. After ifup'ing the interface (unsucessfully), checking iwconfig wlan0 revealed that it did try to associate with the wrong SSID. It may or may not try to associate with wrong APs as well, but I did not verify that.

In order to solve this problem, follow these steps:

If the interface is down, bring it up using ifconfig wlan0 up. You don't need to specify any options, since it only needs to be marked "up" for the scanning to work.

Scan for access points in range using iwlist wlan0 scan. If the AP you want to associate with doesn't show up, it may be hidden, so you have to find out the following information using a different method, like looking it up in your AP's settings. Otherwise try scanning multiple times until it shows up.

Take note of the following data: Authentication protocol (like WPA or WPA2), Group Cipher, Pairwise Cipher and Authentication Suite.

Set up the entry for your card in /etc/network/interfaces with the following wpa-* options. This is the recommended method in Debian.

Although if you're using roaming, you need to set up a wpa_supplicant.conf(5) file and tell the section in your interfaces file to use that. In the latter case, put the following options in your wpa_supplicant.conf file instead (read /usr/share/doc/wpasupplicant/README.wpa_supplicant.conf.gz first for the layout) while removing the leading "wpa-" from the option names and replacing the remaining dashes by underscores.

The most important thing here is setting ap-scan to 2 and scan-ssid to 1, which makes wpa_supplicant associate exactly with the data you provided and not broadcast for an arbitrary SSID. Unfortunately that requires you to explicitly specify key-mgmt, group, pairwise and proto.

NetworkManager

Works well with only a driver compilation with an Asus Eee PC 901 (BIOS 1703). Several modes were tested (don't know the differences between them, they are offered by my internet provider):

WEP with open system -- NOK

WEP with shared key -- OK

WPA (TKIP) -- OK

WPA (AES/CCMP) -- OK

WPA (AES + TKIP) -- NOK

WEP with open system and WPA (AES + TKIP) didn't work. After suspend on RAM or on disk, NetworkManager is working and scanning networks but can't reach one. Still have to investigate on this...

iwpriv/iwconfig

Unlike most wireless cards you can't use the normal iwconfig(8) commands to connnect, you have to use iwpriv(8) instead. I set it up with a WEP access point as below. You can probably get a good idea how to do other configurations by looking at the output of iwpriv wlan0 show. Those values are all set with iwpriv wlan0 set VARIABLE=Value.

iwpriv wlan0 set EncrypType=WEP

iwpriv wlan0 set SSID=YOURESSIDHERE

iwpriv wlan0 set Key1=YOURKEYHERE

iwpriv wlan0 set DefaultKeyID=1

After those commands then iwconfig wlan0 will now show the details, which it does not after running just iwconfig wlan0 essid foo.

Other Notes

wicd

The rt2860sta driver seems to work perfectly with wicd if you're trying to associate with a WPA AP.

Normally NetworkManager would be the recommended way to configure wireless. However, given the issues listed above, it looks like wicd is currently our best alternative.