This is for the Linksys AE1000. This may work for other USB wireless network adapters, but I don't know for sure.
Here is the original information ( Ubuntu's Forums ) about a very similar card. It clarifies that you need the 'rt3572sta', and some modifications are required to the source from ralink's website to include your Vendor and Product Id. Then modify a few files, and away you go.
Step 1) Retrieve your Vendor and Product Id. Easiest way is doing 'sudo tail -f /var/log/messages' and then plugging in your USB device.
Code:
Apr 22 15:35:12 localhost kernel: usb 1-3: new high speed USB device using ehci_hcd and address 20
Apr 22 15:35:12 localhost kernel: usb 1-3: New USB device found, idVendor=13b1, idProduct=002f
Apr 22 15:35:12 localhost kernel: usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 22 15:35:12 localhost kernel: usb 1-3: Product: Linksys AE1000
Apr 22 15:35:12 localhost kernel: usb 1-3: Manufacturer: Linksys
Apr 22 15:35:12 localhost kernel: usb 1-3: configuration #1 chosen from 1 choice
Ofcourse if it's already plugged in, lsusb will do the trick too. It was less definitive for me, but it's there.
Code:
Bus 001 Device 018: ID 13b1:002f Linksys
Step 2) You need the RT3572USB drivers from ralinktech's website. Or skip the whole thing and do it wget style
Code:
wget -O ~/Download/RT3572_Linux_STA_v2.5.0.0.DPO.bz2 'http://www.ralinktech.com/download.php?t=U0wyRnpjMlYwY3k4eU1ERXdMekV5THpNeEwyUnZkMjVzYjJGa05qVTFOREF6TURNME55NWllakk5UFQweU1ERXdYekV5TVRWZlVsUXpOVGN5WDB4cGJuVjRYMU5VUVY5Mk1pNDFMakF1TUM1RVVFOD1D'
Unpackage the file, and cd into the directory.
Code:
tar -C ~/Download/ -xf ~/Download/RT3572_Linux_STA_v2.5.0.0.DPO.bz2
cd ~/Download/2010_1215_RT3572_Linux_STA_v2.5.0.0.DPO/
Step 3) Follow the directions in the readme about changing HAS_WPA_SUPPLICANT and HAS_NATIVE_WPA_SUPPLICANT_SUPPORT to "y" in the config.mk file.
Code:
sed -ir -e 's/^HAS_WPA_SUPPLICANT=n/HAS_WPA_SUPPLICANT=y/' -e 's/^HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n/HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y/' ./os/linux/config.mk
Step 4) Add your Vendor and Product ID to the RT2870 supported list. If your vendor/product ID is different, change it here before you run the command. I'm not sure if lowercase will work, so do all caps just in case. It's HEX, so there are not Letter O's, they are Zeros.
Code:
sed -ir -e 's!^#endif // RT2870 //! {USB_DEVICE(0x13B1,0x002F)}, /* Linksys AE 1000 */\n#endif // RT2870 //!' ./common/rtusb_dev_id.c
Step 4a) If you are on Fedora 14 (or Kernel 2.6.35 or higher) you also need to update a few function names
Code:
sed -ir -e 's/\tusb_buffer_alloc/\tusb_alloc_coherent/' -e 's/\tusb_buffer_free/\tusb_free_coherent/' include/os/rt_linux.h
Step 5) Make and install
Code:
make && sudo make install
There are only two files that are of note:
rt3572sta.ko goes in /lib/modules/`uname -r`/kernel/drivers/net/wireless/
RT2870STA.dat goes in /etc/Wireless/RT2870STA/
The 'make install' should take care of that for you.
Step 6) Create a modprobe.d config file to make sure the modules load. Should also blacklist other conflicting modules:
Code:
sudo su -c "echo -e 'alias ra0 rt3572sta\nblacklist rt2800usb' > /etc/modprobe.d/rt3572sta.conf"
You can add other blacklist modules, here's the list from the Ubuntu page:
rt2870sta, rt2800usb, rt2860sta, rt2x00usb, rt2x00lib, rt2870sta. Now's a good time to check 'lsmod' and unload and blacklist any modules you find. Then run:
You should now have an ra0 device:
Code:
$ ifconfig ra0
ra0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
And NetworkManager should have picked it up. If not, try 'sudo ifconfig ra0 up' and 'iwlist ra0 scan'. Should good results.