Comment 9 for bug 762987

Revision history for this message
Wolfgang Kufner (wolfgangkufner) wrote :

Ok, it seems clear where we must look:
phy0 -> rt2x00lib_request_firmware: Error - Current firmware does not
support detected chipset.
NetworkManager[1038]: <warn> (wlan0): firmware may be missing.

Let's look at what you have:
md5sum /lib/firmware/rt2870.bin

Bug 782752 seems to be about the same problem and has identified a
working firmware. But while it would be nice if that worked for you it
might be better to look whether the newest firmware already in ubuntu
works. We want to fix this for everyone out of the box after all.
https://launchpad.net/ubuntu/+source/linux-firmware/+publishinghistory
currently newest:
https://launchpad.net/ubuntu/oneiric/+source/linux-firmware/1.53
the changelog says this is up to date till commit:
http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=commit;h=ae524638c277301a83daf126aaaf880738e2474b
This means it includes the shiny new firmware posted to the rt2x00 mailing list:
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003382.html
which subsequently was commited here:
http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=commit;h=5c10f3d6a5c76dca943ae68926b602bd0a1eae3

Maybe you could just try by extracting rt2870.bin from here:
https://launchpad.net/ubuntu/oneiric/+source/linux-firmware/1.53/+files/linux-firmware_1.53.tar.gz
and copy it in /lib/firmware (rename the old one to e.g. rt2870.bin.disable)

About why there are so many drivers:
Basically there are two sets of drivers, the "legacy" drivers
developed and open sourced by Ralink and those (mainly - for new
devices rt2800usb and rt2800pci) developed by the rt2x00 project
(looking a lot at the legacy sources to make up for missing specs and
getting answers from Ralink engineers and also increasingly getting
patches sent by Ralink engineers). The Ralink drivers are monoliths
(look at the size) and do not fit the linux wireless infrastructure
(mac80211 stack). For that reason they will never make it into the
kernel proper. They will stay in staging until they are deleted. There
aren't any big differences between what is in staging and what is
available directly from the Ralink website, architecturally speaking.

Resources that may or may not be interesting:
http://www.spinics.net/lists/linux-wireless/msg67515.html