Translation(s): none

(!) ?Discussion


Ralink RT2860/RT2890 devices

This page describes how to enable support for WiFi devices based on the Ralink RT2800P[D]/RT2800E[D] chipset on Debian systems.

rt2860sta is a module for the Ralink RT2800P[D]/RT2800E[D] PCI 802.11 draft-n wireless LAN chipset. This can be found in the Asus Eee PC 901 and later models, and some MSI Wind U100x. 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-rc1. It is present in Debian kernel images since 2.6.29 (i386, amd64). Driver source is also packaged for Debian as rt2860-source, non-free firmware is included as part of the compiled driver.

Firmware has been removed from the driver in Debian kernel images as of 2.6.30.1 It is available in the firmware-ralink package since version 0.17.2

<!> The staging driver depends on the x86 or x86-64 architecture (Debian i386 and AMD64 ports respectively) at this time.

<!> This driver is buggy. See Known Issues for discovered problems and workarounds.

{i} Ralink 802.11n USB devices are supported by the rt2870sta driver.

Installation

Lenny

Using Etch? Skip to the Etch section.

{i} To install the driver on Eee PC 901, 1000 and 1000H models, see DebianEeePC/Model/901 instead.

  1. Add the Debian Backports repository to /etc/apt/sources.list, also including the "non-free" component. For example:

    # Backported packages for Debian Lenny
    deb http://www.backports.org/debian lenny-backports main contrib non-free
  2. Update the list of available packages and install the lenny-backports/debian-backports-keyring package:

    aptitude update
    aptitude -t lenny-backports install debian-backports-keyring

    As your system does not yet have the GnuPG archive key of the backports.org repository installed, you will be asked to confirm installation of a package from an untrusted repository. Enter Yes when prompted.

  3. Install a 2.6.30 (or later) kernel image appropriate for your system, along with the lenny-backports/firmware-ralink and wireless-tools packages. For example:

    aptitude update
    aptitude -t lenny-backports install linux-image-2.6.30-bpo.1-$(uname -r | sed 's,.*-,,g') firmware-ralink wireless-tools
  4. Restart your system and boot with the newly installed kernel. If not already performed, connect the device to your system.
  5. The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via:

    modprobe rt2860sta
  6. Verify your device has an available interface:

    iwconfig
  7. Raise the interface to activate the radio, for example:

    ifconfig ra0 up
  8. Configure your wireless interface as appropriate. See also known issues.

Etch

  1. Install the bzip2, module-assistant and wireless-tools packages:

    aptitude update
    aptitude install bzip2 module-assistant wireless-tools
  2. Add the Debian Backports repository to /etc/apt/sources.list. For example:

    # Backported packages for Debian Etch
    deb http://www.backports.org/debian etch-backports main
  3. Update the list of available packages and install the etch-backports/debian-backports-keyring package:

    aptitude update
    aptitude -t etch-backports install debian-backports-keyring

    As your system does not yet have the GnuPG archive key of the backports.org repository installed, you will be asked to confirm installation of a package from an untrusted repository. Enter Yes when prompted.

  4. Install the etch-backports/debhelper package:

    aptitude update
    aptitude -t etch-backports install debhelper
  5. Manually acquire squeeze/rt2860-source from http://packages.debian.org/squeeze/all/rt2860-source/download. For example:

    wget http://ftp.us.debian.org/debian/pool/non-free/r/rt2860-source/rt2860-source_1.8.0.0-3_all.deb
  6. Install squeeze/rt2860-source via dpkg:

    dpkg -i /path/to/rt2860-source*deb
  7. Build and install a rt2860-modules-* package on your system:

    m-a a-i rt2860
  8. Load the rt2860sta driver:

    modprobe rt2860sta
    This module will be automatically loaded when your system is restarted and the device is connected.
  9. Verify your device has an available interface:

    iwconfig
  10. Raise the interface to activate the radio, for example:

    ifconfig ra0 up
  11. Configure your wireless interface as appropriate. See also known issues.

Squeeze

{i} To install the driver on Eee PC 901, 1000 and 1000H models, see DebianEeePC/Model/901 instead.

  1. Add a "non-free" component to /etc/apt/sources.list, for example:

    # Debian Squeeze
    deb http://ftp.us.debian.org/debian squeeze main contrib non-free
  2. Update the list of available packages and install the firmware-ralink and wireless-tools packages:

    aptitude update
    aptitude install firmware-ralink wireless-tools
  3. If not already performed, connect the device to your system.
  4. The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via:

    modprobe rt2860sta
  5. Verify your device has an available interface:

    iwconfig
  6. Raise the interface to activate the radio, for example:

    ifconfig ra0 up
  7. Configure your wireless interface as appropriate. See also known issues.

Known Issues

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

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:

ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
ap_scan=2
fast_reauth=1
eapol_version=1
network={
    ssid="MyNetworksEssid"
    scan_ssid=1
    proto=WPA
    key_mgmt=WPA-PSK
    pairwise=TKIP
    group=TKIP
    #psk="Your passphrase in can go here in plaintext, which should work too."
    psk=01234567..89abcdef ## << can be generated using wpa_passphrase
}

Without the group and proto parameter, it didn't seem to work.

Notes:

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 ra0 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:

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

  2. Scan for access points in range using iwlist ra0 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.

  3. Take note of the following data: Authentication protocol (like WPA or WPA2), Group Cipher, Pairwise Cipher and Authentication Suite.
  4. 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.

    iface ra0 inet dhcp
            wpa-driver    wext
            wpa-ap-scan   2
            wpa-scan-ssid 1
            wpa-ssid      <put here the SSID you want to associate with>
            wpa-psk       <put here the pre-shared key of your wireless network (if applicable)>
            wpa-key-mgmt  <put here WPA-PSK for a WPA or WPA2 network with pre-shared key, WPA-EAP for EAP authentication, NONE for unencrypted network or WEP encryption or IEEE8021X for IEEE 802.1X with EAP authentication>
            wpa-group     <put here the Group Cipher of your network>
            wpa-pairwise  <put here the Pairwise Cipher of your network>
            wpa-proto     <put here WPA if you have a WPA network or RSN if your have a WPA2 network>
    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.
  5. Try to bring the interface up, using ifdown ra0 ; ifup ra0 for instance.

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 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 ra0 show. Those values are all set with iwpriv ra0 set VARIABLE=Value.

  1. iwpriv ra0 set EncrypType=WEP

  2. iwpriv ra0 set SSID=YOURESSIDHERE
  3. iwpriv ra0 set Key1=YOURKEYHERE
  4. iwpriv ra0 set DefaultKeyID=1

After those commands then iwconfig ra0 will now show the details, which it does not after running just iwconfig ra0 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.

To install wicd on Lenny, see WiFi/HowToUse#wicd.

Supported Devices

The page HowToIdentifyADevice/PCI explains how to identify a PCI device.

The following list is based on the alias fields of modinfo rt2860sta in Debian 2.6.30 kernel images.

See Also


CategoryHardware | CategoryWireless

  1. Resolves Debian bug 521553. (1)

  2. Resolves Debian bug 533847. (2)