RT73 / RT2x00 Driver

The rt2x00 drivers is maintained by [http://rt2x00.serialmonkey.com/]. An incomplete list of [#supported-devices Supported Devices] is listed at the bottom of this page.

Installation (using module-assistant)

We will use module-assistant to build the package rt2x00-source (or rt73-source).

The package description is : RT2x00 wireless network drivers source ?BR This package provides the source code of the Linux drivers for wireless network cards using the Ralink RT2x00 chips. It is a complete rewrite of the RT2400/RT2500/RT2570 drivers, it uses the standard iw* configuration tools, and it aims to be integrated in the kernel tree.?BRIn order to compile the kernel modules you need the kernel sources (or the kernel-headers for the kernel-image packages from Debian). For compile instructions look into [http://sysinf0.klabs.be/usr/share/doc/rt2x00-source/README.Debian?f=view;dist=etch;component=main;arch=i386;pkg=rt2x00-source;ver=0cvs20060928-1 /usr/share/doc/rt2x00-source/README.Debian] or simply use the module-assistant utility. ?BR WARNING: This driver is still experimental, it only works for a few cards. You will need a 2.6.17 or later kernel to use it.

apt-get install module-assistant
module-assistant prepare
module-assistant update
module-assistant build rt2x00

You can the copy the package you just build, named /usr/src/rt2x00-modules-2.6.18****.deb, to the target computer, then install it with :

Manual compilation from CVS

Setting up for off-line install

If you have a current internet access skip to the internet install section.

First thing you are going to need to do is download the RT73 driver on another computer and put it on a flash drive (or some other medium) to transfer it to your Debian machine.

You can download the cvs at

http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz

After you get into Debian you need to copy it to /lib/firmware then unzip it. *Make sure you have root access

  cp /path/to/rt73-cvs-daily.tar.gz /lib/firmware
  cd /lib/firmware
  tar -xvzf rt73-cvs-daily.tar.gz

If you don't have gcc installed you need to make sure you have the cdrom in your sources and do

aptitude install gcc

You can now skip past the internet part

If you have internet access

If you have internet access you can download it directly from Debian using wget

  wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz -O /usr/src/rt73-cvs-daily.tar.gz
  cd /lib/firmware
  tar -xvzf rt73-cvs-daily.tar.gz

Check if you have gcc installed

gcc --version

If you don't get a version you need to install it

aptitude install gcc

Install needed dependencies

You need to install needed dependencies before you can build the driver

aptitude install build-essential linux-headers-`uname -r`

Build

Next you need to cd to the Module directory in the files you extracted

cd /usr/src/rt73-cvs-yyyymmddhh/Module

If you are unsure what the yyymmddhh is then use

ls -d rt73*

This should tell you the correct directory.

After you are in the Module directory you need to us

make

In some kernels you may get the following warning

!!! WARNING: Module file much too big (>1MB)
!!! Check your kernel settings or use 'strip'

In that case run the command

strip -S rt73.ko

Finally you can install the driver

make install

configuring the driver

You will need to make sure that you have any network manager disabled. You will then need to manually configure your internet

#Load Driver
ifconfig wlan0 down
modprobe -v rt73
#Configure internet

ifconfig wlan0 up
iwconfig wlan0 essid YOUR_NETWORK_NAME_HERE
iwconfig wlan0 key YOUR_WEP_KEY_HERE_OR_"off"_FOR_NO_KEY
dhclient wlan0

You should now be able to connect to the internet. If you are unable to connect to the internet please go back and make sure you followed all the steps correctly.

Setting up auto connect during boot

You need to edit the network/interfaces file to connect to the internet on boot.

gksu gedit /etc/network/interfaces (if you are using Ubuntu)
kdesu kate /etc/network/interfaces (if you are using Kubuntu)

Inside you need to add the following

auto wlan0
iface wlan0 inet dhcp

        pre-up ifconfig wlan0 up
        pre-up iwconfig wlan0 essid YOUR_ESSID
        pre-up iwconfig wlan0 key WEP_KEY_OR_"OFF"_IF_YOU_HAVE_NONE

If you have WPA you need to use the following instead

auto wlan0
iface wlan0 inet dhcp
    pre-up ifconfig wlan0 up
    pre-up iwpriv wlan0 set AuthMode=WPAPSK
    pre-up iwpriv wlan0 set EncrypType=TKIP
    pre-up iwpriv wlan0 set WPAPSK="YOUR_WPA_PSK_KEY"
    pre-up iwpriv wlan0 set SSID="YOUR_SSID"
    pre-up iwpriv wlan0 set NetworkType=Infra

If you have a static ip address, then you should try the following

auto wlan0
iface wlan0 inet static
address STATIC_IP_ADDRESS
netmask 255.255.255.0
network ROUTER_IP
gateway ROUTER_IP
        pre-up ifconfig wlan0 up
        pre-up iwconfig wlan0 essid YOUR_ESSID
        pre-up iwconfig wlan0 mode Managed
## add any additional WPA information, etc if needed

Rebuilding for new kernel

If you upgrade kernels you will need to re-build the driver. To do so you can do the following bellow

cd /usr/src/rt73-cvs-yyyymmddhh/Module
make clean
make
ifdown wlan0
modprobe -rv rt73
make install
modprobe -v rt73
ifup wlan0

?Anchor(supported-devices)

Supported devices

If you are using the kernel 2.6.x or later, chances are that the following hardware (but not limited to) will work using the open source RT73 driver.

Again the driver is not limited to just these NICs.

Device Identification ([:HowToIdentifyADevice/PCI:PCI], [:HowToIdentifyADevice/USB:USB]).

under DebianEtch , kernel2.6.18 + rt2x00 0cvs20060928-1

pci

1814:0101

pci

1814:0201

pci

1814:0301

pci

1814:0302

pci

1814:0401

usb

0411:0066

usb

0411:0067

usb

0411:008B

usb

050D:7050

usb

050D:7050

usb

050D:7051

usb

050D:705A

usb

050D:705A

usb

06F8:E000

usb

06F8:E010

usb

0707:EE13

usb

07D1:3C03

usb

07D1:3C04

usb

0B05:1706

usb

0B05:1707

usb

0DB0:6861

usb

0DB0:6865

usb

0DB0:6869

usb

0DB0:6877

usb

0DB0:A874

usb

0DF6:9712

usb

0EB0:9020

usb

1044:8001

usb

1044:8007

usb

1044:8008

usb

114B:0110

usb

13B1:000D

usb

13B1:0011

usb

13B1:001A

usb

13B1:0020

usb

148F:1706

usb

148F:2570

usb

148F:2573

usb

148F:2573

usb

148F:2671

usb

148F:9020

usb

14B2:3C02

usb

14B2:3C22

usb

18E8:6196

usb

2001:3C00

usb

5A57:0260