Ralink RT2860

From Gentoo Linux Wiki
Jump to: navigation, search
Merge arrows It has been suggested that Rt2860sta be merged to this section or article. (Discuss)

This article aims to setup pci WiFi adaptors based on Ralink RT2860 chip.

Recently, RT2870 support is greatly improved, which is a chip for USB WiFi cards. See Ralink RT2870.

Contents

[edit] Kernel Configuration

Kernel level network setup must include:

Linux Kernel Configuration: 2.6.29-r1
Networking --->
  Wireless --->
    -*- Improved wireless configuration API
    [*]   nl80211 new netlink interface support
    -*- Wireless extensions
    <*> Generic IEEE 802.11 Networking Stack (mac80211)

Since kernel 3.0 the rt2860 staging driver has been removed. You have to switch to the rt2x00/rt2800 driver. You still need the firmware to use this module. You can get it from either RaLink (ralinktech.com.tw) but on their webpage (it seems to be only available from time to time) I only found version 26 of the firmware. In the debian ralink-firmware package I found version 34. (http://packages.debian.org/sid/all/firmware-ralink/download)

Some modules were required, so that the rt2800pci module worked but weren't automatically depended on, like the "PHY device support" and the "Common routines for IEEE802.11 drivers" and the "cfg80211 wireless extensions compatibilty"

Linux Kernel Configuration:
Networking --->
  Wireless --->
    <*>   cfg80211 - wireless configuration API
    [*]     nl80211 testmode command
    [*]     enable developer warnings 
    [ ]     cfg80211 regulatory debugging 
    [*]     enable powersave by default
    [*]     cfg80211 wireless extensions compatibility
    [*]   Wireless extensions sysfs files
    <*>   Common routines for IEEE802.11 drivers
    [ ]   lib80211 debugging messages
    <*>   Generic IEEE 802.11 Networking Stack (mac80211)
          Default rate control algorithm (Minstrel)  --->
    [ ]   Enable mac80211 mesh networking (pre-802.11s) support
    [*]   Enable LED triggers
    [ ]   Select mac80211 debugging features  --->
Device Divers --->
  [*] Misc devices  --->
          EEPROM support  --->
      -*- EEPROM 93CX6 support
  [*] Network device support  ---> 
    <*>   PHY Device support and infrastructure  --->
    [*]   Wireless LAN  --->
      <*>   Ralink driver support  --->
        <*>   Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support

{{{2}}}

This should be everything necessary to have functional wlan driver. The firmware should be place by default into "/lib/firmware".

[edit] Building and Installing the Module

Download and unpack the driver from the Ralink website (the archive is actually gzipped). At the time of this writing, the current version was 2.3.0.0; this version adds support for kernels 2.6.31 and 2.6.32.

$ tar -zxf .tgz2010_01_29_RT2860_Linux_STA_v2.3.0.0.tar.bz2 $ cd 2010_01_29_RT2860_Linux_STA_v2.3.0.0

The Makefile shouldn't require any modifications; it defaults to a Linux-x86/2860 build.

File: Makefile
RT28xx_MODE = STA
TARGET = LINUX

CHIPSET = 2860

#RT28xx_DIR = home directory of RT28xx source code
RT28xx_DIR = $(shell pwd)
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)

#PLATFORM: Target platform
PLATFORM = PC

Edit the file os/linux/config.mk and change HAS_WPA_SUPPLICANT and HAS_NATIVE_WPA_SUPPLICANT_SUPPORT to y if you intend to use a wireless network manager.

File: os/linux/config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

In the same file, remove -DDBG from WFLAGS to prevent the driver from spewing junk all over your dmesg.

File: os/linux/config.mk
#ifdef CONFIG_STA_SUPPORT
# config for STA mode

ifeq ($(RT28xx_MODE),STA)
WFLAGS += -DCONFIG_STA_SUPPORT

Now build the module.

make

When compilation is complete, install it.

make install

The new module will be called rt2860sta, located in /lib/modules/<your_kernel_version>/kernel/drivers/net/wireless/. Installation also creates a junk file called tftpboot in your root directory which you can safely delete.

Note: If you upgrade or rebuild your kernel, you will probably need to repeat this procedure. It is recommended that you keep the driver source handy by copying it to /usr/src

Load the new kernel module and/or add it to /etc/modules.autoload.d/kernel-2.6

modprobe rt2860sta
echo rt2860sta >> /etc/modules.autoload.d/kernel-2.6

[edit] Configuration

The network device will be called ra0. It can be configured by a utility like NetworkManager, by WPA Supplicant or wireless-tools, or by the configuration file in /etc/Wireless/RT2860STA/RT2860STA.dat. When configuring with wicd or wpa_supplicant, be sure to use the "wext" driver, not "Ralink Legacy".

[edit] Capabilities/Limitations

This driver has been tested and confirmed compatible with open (unencrypted), WEP, WPA-PSK, and WPA2-PSK networks.

The driver has limited functionality with the Kismet wireless detection/packet capturing software. While scanning and capturing work with the rt2500 source, channel hopping does not. The detection channel must be set via command line when the kismet server launches.

Personal tools
In other languages