Ralink RT2860
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.
The Makefile shouldn't require any modifications; it defaults to a Linux-x86/2860 build.
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.
# 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.
#ifdef CONFIG_STA_SUPPORT # config for STA mode ifeq ($(RT28xx_MODE),STA) WFLAGS += -DCONFIG_STA_SUPPORT
Now build the module.
When compilation is complete, install it.
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.
Load the new kernel module and/or add it to /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.