Differences between revisions 11 and 12
Revision 11 as of 2009-03-16 03:32:12
Size: 12394
Editor: anonymous
Comment: converted to 1.6 markup
Revision 12 as of 2009-03-22 20:30:22
Size: 12678
Editor: ?creeper
Comment:
Deletions are marked like this. Additions are marked like this.
Line 152: Line 152:
   * 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]] <<DateTime(2009-03-22T20:30:22Z)>>

Translation(s): none

(!) ?Discussion


Ralink RT2860 devices

This page describes how to enable support for WiFi devices based on the Ralink RT2860 chipset on Debian systems.

rt2860sta is a module for the Ralink RT2860 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.

Driver source is packaged for Debian as rt2860-source. Non-free firmware is included as part of the compiled driver.

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

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. Install the debhelper, module-assistant and wireless-tools packages:

    aptitude update
    aptitude install debhelper module-assistant wireless-tools
  2. 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
  3. Install squeeze/rt2860-source via dpkg:

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

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

    modprobe rt2860sta
    This module will be automatically loaded when your system is restarted and the device is connected.
  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 -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 debhelper, module-assistant and wireless-tools packages:

    aptitude update
    aptitude install debhelper module-assistant wireless-tools
  3. Build and install a rt2860-modules-* package on your system:

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

    modprobe rt2860sta
    This module will be automatically loaded when your system is restarted and the device is connected.
  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:

  • I (?ArturCzechowski) needed to set ap_scan to 2. Perhaps it depends on my AP configuration but I cannot verify it.

  • 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 ra0) -- 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 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 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 -- 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 commands to connnect, you have to use iwpriv 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.

Although wicd is in Sid only, it should work on Lenny as well. You can use AptPinning so you can aptitude install wicd from Sid on Lenny, or else download the package and dpkg -i it (but of course you'll need to manually fix any dependency issues if you do this).

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 built from sid/rt2860-source 1.8.0.0-3.

  • PCI: 1814:0601 RaLink RT2800 802.11n PCI
    PCI: 1814:0681 RaLink RT2860 Wireless 802.11n PCIe
    PCI: 1814:0701 RaLink RT2760 Wireless 802.11n 1T/2R Cardbus
    PCI: 1814:0781 RaLink RT2860
    PCI: 1A3B:1059 (Vendor name unknown) (Device name unknown)

See Also


CategoryHardware | CategoryWireless