This guide uses p_larbig's RT73 USB enhanced drivers instead of the serialmonkey drivers because p_larbigs's are based off of the serialmonkey drivers, but have been already patched for Injection & Fragmentation Attacks, so you can utilize aireplay-ng in Aircrack-ng to its fullest. The guide also helps you build and install the module with DKMS (which is natively supported in Jaunty 9.04), so that if you recompile your kernel or upgrade it later, the module will be automatically rebuilt and installed for you, by DKMS :)
For more info on p_larbig's RT73 USB driver sources: http://homepages.tu-darmstadt.de/~p_larbig/wlan/
Notes about this version (3.0.3) from the author's site:
Version 3.0.3 provides kernel version 2.6.29 compatibility. It uses default kernel memory allocation for devices' private data area. This may fail on 64bit platforms (according to RaLink). In previous versions the driver allocated its own memory and hacked it into the netdev structure. This hack failed in 2.6.29 and has been removed. However, the new mode works for me quite well. Please report if any problems occur.
The wireless card I tested this on is a DLink DWA-110 USB, the system I tested this on is a clean install of Ubuntu Jaunty 9.04 with all updates as of 17/7/2009 (including the stock kernel 2.6.28-13).
[B] Blacklist the mac80211-based rt73usb & rt* drivers to avoid conflicts [/B]create a new file in /etc/modprobe.d called blacklist-rt73.conf
sudo nano /etc/modprobe.d/blacklist-rt73.conf
# Blacklist rt73usb (mac80211) as it's beta and conflicts with the
# stable ieee80211 based rt73 module
blacklist rt73usb
# Other modules that possibly conflict with rt73
blacklist rt2500usb
blacklist rt2x00lib
blacklist rt2x00usb
(in your home directory or in /tmp or wherever you like, it will no longer be needed after)
wget http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-3.0.3.tar.bz2
tar xjf rt73-k2wrlz-3.0.3.tar.bz2
cd rt73-k2wrlz-3.0.3
Prepare DKMS config create a file in rt73-k2wrlz-3.0.3 directory, called dkms.conf
nano dkms.conf
PACKAGE_NAME="rt73-k2wrlz"
PACKAGE_VERSION="3.0.3"
# make sure kernel is 2.6.27 or newer, just in case
# http://homepages.tu-darmstadt.de/~p_larbig/wlan/
BUILD_EXCLUSIVE_KERNEL="2.6.(27|28|29|[3-9][0-9])"
MAKE[0]="make -C Module"
CLEAN="make -C Module clean"
BUILT_MODULE_NAME[0]="rt73"
BUILT_MODULE_LOCATION[0]="Module"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/wireless"
AUTOINSTALL="yes"
tar czf rt73-k2wrlz-3.0.3-dkms.tar.gz rt73-k2wrlz-3.0.3
sudo dkms ldtarball --archive=rt73-k2wrlz-3.0.3-dkms.tar.gz
sudo dkms build -m rt73-k2wrlz -v 3.0.3
sudo dkms install -m rt73-k2wrlz -v 3.0.3
Or alternatively you could install RutilT
sudo apt-get install rutilt
RutilT is a Gtk+2 utility for Linux that helps you configure your wireless devices. It should play nicely with the "legacy drivers" from the rt2x00 project. I initially intended to support rt2x00 itself, however due to real life constraints, I am no longer doing much development, only maintenance.
More info on making RutilT run in startup: http://ubuntuforums.org/showthread.php?t=502526
Hope this helps anyone :)