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.

Note: If you are using Debian testing (Lenny), follow the [#procedure procedure] at the bottom of this page to set up your rt73 wireless device.

Installation (using module-assistant)

We will use module-assistant to build the package etch/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 WPA2 you need to use the following instead

auto wlan0
iface wlan0 inet dhcp
    pre-up ifconfig wlan0 up
    pre-up iwpriv wlan0 set AuthMode=WPA2PSK
    pre-up iwpriv wlan0 set EncrypType=TKIP
    pre-up iwpriv wlan0 set WPAPSK="YOUR_WPA2_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 below

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"], ["HowToIdentifyADevice/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

?Anchor(procedure)

Setting up rt73 on Debian testing

If you are using Debian testing (lenny), you may have encountered the following error when booting the machine after initial installation of the OS: "rt2x00...Failed to Request Firmware"

To correctly install and configure your rt73 device, you may follow the procedure below:

First make sure you have the "contrib" component in your /etc/apt/sources.list. If not, add it and run "aptitude update".

In a root terminal:

aptitude install rt73-common rt73-modules-2.6.24-1-amd64 rt73-modules-2.6-amd64

Note that I am running the kernel version 2.6.24 on amd64. Replace the kernel versions above with what you are currently running.

And then:

update-rt73-firmware

This will download the rt73 firmware automatically from the Realtek website.

Reboot your machine. After rebooting, the "rt2x00...Failed to Request Firmware" error should disappear.

Then:

aptitude install wireless-tools rutilt

Note: Rutilt is a program designed to manage rt2x00 and other wireless devices.

At this point, if you try to bring up the interface (wlan0),

ifconfig wlan0 up

you may encounter an error about "invalid arguments". This is due to a bug. A workaround is to use the following command (needed every time after you reboot your machine):

Manually set the MAC address of wlan0:

ifconfig wlan0 hw ether 01:02:03:04:05:06

Here you may use the MAC address of your wireless card, or whatever MAC address you like.

Now you can bring up the interface:

ifconfig wlan0 up

After this, find RutilT WLAN Manager in the Gnome/KDE menu, or type:

rutilt

in a terminal window. This will launch the RutilT WLAN Manager. In it, you can scan for wireless networks, configure profiles and join networks. Encryptions available include WEP, WPA-PSK and WPA2-PSK.

Note:

  1. If you upgrade your kernel later, you may need to repeat the procedures above to install the rt73 modules for your new kernel.
  2. If you encounter any problems, try purging(removing) the packages network-manager and network-manager-gnome, and then follow the procedures above.