Comment 5 for bug 951246

Revision history for this message
Paul Gortmaker (paul-gortmaker) wrote :

See bug 1019561, as it adds a device ID for the AE1000.

Note however, even though that claims the bug is solved, I question whether that applies to _all_ the device IDs added (testing was only one one specific case, and not the AE1000). In addition, for example, see here:

http://wikidevi.com/wiki/Linksys_AE1000

where it says that the generic drivers won't support it w/o some undocumented manual install step. I was curious what that might be and did some research.

I experimented with the default Ubuntu 3.0 kernel [Linux version 3.0.0-27-generic (buildd@batsu) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #44-Ubuntu SMP Tue Oct 16 16:53:47 UTC 2012] which does not have 1019561 fix.

Note that even though the bug fix of 1019561 adds a bunch of USB IDs, that was not strictly necessary. As seen here:

http://forums.opensuse.org/english/get-technical-help-here/wireless/472785-ralink-rt3572-13b1-002f-linksys-ae1000-will-not-connect-3.html

you can modprobe the driver, _then_ dynamically add to its list of IDs and trigger a reprobe, via:

echo "13b1 002f" > /sys/bus/usb/drivers/rt2800usb/new_id

But with the default rt2870.bin firmware I had (which was a 4k file from an older linux-firmware ubuntu version 1.34.14) it fails with this in dmesg:

phy0 -> rt2x00lib_request_firmware: Error - Current firmware does not support detected chipset.

Checking the driver, it fails because it expects the firmware to be 8k, not 4k.

There are lots of documented instances of people building (and sometimes happily using) a driver built from Ralink's zip file, such as here:

http://linuxforums.org.uk/index.php?topic=852.170;wap2
http://ubuntuforums.org/showthread.php?t=1690402
http://askubuntu.com/questions/102956/how-do-i-install-an-asus-usb-n53-wifi-adapter
http://ubuntuforums.org/archive/index.php/t-1761697.html
http://ubuntuforums.org/archive/index.php/t-1659230.html

The above in turn reference various versions of the Ralink drop; most of which you can't find anymore. Even Ralink's site claims to have a very recent RT3572 update (only days old) but it [v2.6.13] currently just points to a zero byte file. Unfortunate, since these files such as 2010_0915_RT3572_Linux_STA_v2.4.0.2.zip and 2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO.bz2 each have a version of the rt2870.bin firmware file within.

The Ralink driver is rather clunky (kernel driver reading files in user space -- think "staging" quality), so ideally using mainline and a proper firmware would be a lot better.

The one file which was there, and would download, was 20120911_RT3573_Linux_STA_v2.5.0.0_Rev1_DPO.tar.bz2 [note 3573 chip, not 3572 used in AE1000!] -- but yet that also contains a rt2870.bin (8k file). I tried placing that in /lib/modules/firmware and rmmoding/reloading the various chunks [rt2800usb rt2800lib rt2x00usb rt2x00lib] (and re-using the dynamic ID addition) on the same 3.0 kernel, and the device detected, and even lit the blue light, but iwlist scan would just return nothing.

If anyone has the patience to dig further, they could try and track down those older versions for their firmware, and cross reference them to various updates in the linux-firmware ubuntu package.

Also, this post here:

http://forums.gentoo.org/viewtopic-t-890640-start-0.html

is of interest, since it provides a data point of a specific mainline version (actually two) where it was identified to work, and claims it used firmware from RT2870_Firmware_V22.zip (which appears rather old). If getting it working on that mainline commit was reproducible, then a bisect from there forward would be largely mechanical (ie do-able).