Ralink RT73

About
While the driver for the RT73 wireless USB chipset is included in the Linux kernel, getting a device with this chipset to work is not yet as intuitive as on other major operating systems. This Gentoo Wiki page aims to help the reader install the necessary prerequisites and connect to a WPA secured network. I used the Linksys WUSB54GR device, but any RT73 based device should work.

Kernel configuration
Configure and build a recent kernel with at least the following options:

Build the kernel using

Then, copy the bzImage file to your boot partition.

Firmware installation
The rt73.bin file contains firmware for your network adapter. Fortunately, it's available in the Portage repository in the package. This package is currently masked for and, so you need to add this package to :

Now execute emerge to merge the package:

Possibly, it will also install an unzip package because the firmware is distributed in a zip archive.

Basic configuration
Your wireless device will most probably be called wlan0, and you will need to add to control the device.

Now edit your network configuration file such that it includes the following lines:

WPA configuration
I will use to configure the device, as it allows connecting to WPA networks. Install it as follows:

Now edit :

Your configuration should be complete now, and if I did not omit anything, plugging in the device should give you wireless connectivity straight away. Please scroll down for some debugging hints.

wpa_supplicant usage
To show the networks in range, execute:

To show the status of the device, including the current IP address, execute:

The output might be something like:

Selected interface 'wlan0' bssid=00:11:22:33:44:55 ssid=YOURSSID id=0 pairwise_cipher=CCMP group_cipher=TKIP key_mgmt=WPA2-PSK wpa_state=COMPLETED ip_address=192.168.1.102

Troubleshooting
If the procedure did not complete successfully, there are a couple of ways to analyse the cause of the problem.

Syslog output
contains valuable information about the functioning of the driver. Run the following command before plugging in your USB device:

After you plugin the device, the kernel will try to load the driver and output messages in case of success or failure to this file. An example of good output would be:

Failure to load the firmware would be logged to this file.

iwconfig output
I did not use to configure the device, but it provides the iwconfig tool that can be used to determine if the adapter was detected correctly:

lo       no wireless extensions.

eth0     no wireless extensions.

sit0     no wireless extensions.

wmaster0 no wireless extensions.

wlan0    IEEE 802.11bg  ESSID:"YOURSSID" Mode:Managed Frequency:2.412 GHz  Access Point: 00:11:22:33:44:55 Bit Rate=1 Mb/s  Tx-Power=22 dBm Retry min limit:7  RTS thr:off   Fragment thr=2352 B          Encryption key:0000-1111-2222-3333-4444-5555-6666-7777-8888-9999-AAAA-BBBB-CCCC-DDDD-EEEE-FFFF [3]   Security mode:open Power Management:off Link Quality=69/100 Signal level:-64 dBm Rx invalid nwid:0 Rx invalid crypt:0  Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0   Missed beacon:0

You can ignore the wmaster0 device, as it is a result of the kernel driver. If wlan0 or wmaster0 are missing the driver did not load completely. Please consult the output for more information.

I also had to blacklist the rt2 drivers by adding :

blacklist rt2500usb

in /etc/modprobe.d/blacklist.conf (using the 2.6.34-gentoo-r1 kernel)

Final notes
Please edit this page if there is an error. I have tried to enter all steps I took to get it working, but I might have missed something.