This is a short HowTo listing the steps to get the Linksys (Cisco) wireless WUSB54G Rev04 adapter working with Debian Sarge / Kernel 2.6.12 or 2.6.16 and the official Ralink Linux driver. This is mostly a quick write-up so I remember the steps if I ever have to do it again. But maybe it helps someone else too.
Note: This is only confirmed to work with rev4 of the Linksys adapter with Ralink 2500 chipset. Rev1 and Rev2 use completely different chipsets, so you may be forced to use ndiswrapper. Check linux-usb for details.
There’s also a RT2x00 open source project but version v1.1.0-b1 of the RT2570USB driver didn’t work back in March 2006. Well, outbound connections worked perfectly, but inbound connections got dropped. And I needed WPAPSK/TKIP Encryption which the RT2570USB driver didn’t provide if I remember correctly.
Instead of vi you can use your favorite text editor.
Last update: 15/july/2006 for kernel 2.6.16 – NOTE: This might not work with newer kernels, I actually don’t use this set-up anymore (I put good old LAN cable in the walls instead 😉
1) If you build your kernel yourself, make sure you have all USB-related modules activated in your kernel. I had to disable OHCI, but enable EHCI and UHCI. If you use a stock kernel from Debian/Ubuntu/Fedora, it should be enabled by default.
2) Install wireless-tools via apt-get
3) Get the source tarball from http://www.ralinktech.com/supp-1.htm. I used Drv2.0.7.0.
4) tar -zxvf && cd RT25USB-SRC-V2.0.7.0
5) vi readme
6) cp Makefile.6 Makefile
7) if you don’t want debug messages flooding your logs: edit rt2570sw.h and replace in line 182: #if 1 with #if 0 .
8) vi rt2570sw.h
Around line #130 insert the following code:
#define RTVID8 0x13b1 //cisco
#define RTPID8 0x000d
Around line #147, insert the following code:
{USB_DEVICE(RTVID8,RTPID8)},
9) for kernel versions >= 2.6.16: you have to remove in line 95 of rtusb_main.c:
.owner = THIS_MODULE,
9b) for kernel versions >= 2.6.14: replace verify_area with access_ok in lines 3986 and 3997 to avoid „unknown symbol verify_area“ while loading the module later:
if (verify_area(VERIFY_…
to
if (access_ok(VERIFY_…
10) make (I ignored the warnings about DBG and WIN32_WINNT)
11) if everything worked, you should have a rt2570.ko file now.
12) cp rt2570.ko /lib/modules/[KERNEL-VERSION]/kernel/drivers/net/wireless/
13) echo „alias rausb0 rt2570“ >/etc/modprobe.d/rt2570
14) configure /etc/network/interfaces:
the Ralink driver supports WPA2PSK and AES, check out the readme for details.
I use WPA TKIP, and this configuration:
auto
iface rausb0 inet dhcp
pre-up iwconfig rausb0 channel 2 # not really needed.
# Use WPAPSK authentication (=3)
pre-up iwpriv rausb0 auth 3
# Use TKIP encryption type (=3)
pre-up iwpriv rausb0 enc 3
pre-up iwconfig rausb0 essid YOUR_ESSID
# WPAPSK passphrase
pre-up iwpriv rausb0 wpapsk YOUR_PASSWORD
pre-up iwconfig rausb0 essid YOUR_ESSID
Yes, iwconfig rausb0 essid is needed twice.
15) Try it: modprobe rt2570 && ifup rausb0 && ifup rausb0
For some weird reason, I need to do ifup rausb0 twice to bring it up. No idea why.
16) If it doesn’t work, you have to dig deeper. Enable debugging (see (7)) and play around with the config settings in /etc/network/interfaces. There’s a lot of voodoo involved with USB Wireless LAN and Linux 😉
17) Hotplug Script:
vi /etc/hotplug/usb/rt2570
#!/bin/bash
# This file is executed by hotplug when the rt2570 card is inserted
/sbin/ifup rausb0
/sbin/ifup rausb0
Don’t forget to: chmod u+x rt2570
For completeness sake, here the details of my adapter revision: (Manufactured November 2005).
cat /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=13b1 ProdID=000d Rev= 0.04
S: Manufacturer=Cisco-Linksys
S: Product=Wireless-G USB Network Adapter
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=300mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtusb
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Yeah, richtig schön short 😉
Thanks for this blog on the linksys adapters! Hopefully you have done all of the ground work already and I can follow your steps! I finally made a move to install Debian tonight, it went VERY smoothly…contrary to the thousand warnings I have heard. IT is running wonderfully, but now I need to get it online!
Wish me luck!
Peace, keep on keepin‘ it GNU!
Scott