Agreed. Btw, I have found some output from such a DWA-140 with compat-wireless with debugging enabled. This prints a much better chip info: http://rt2x00.serialmonkey.com/phpBB/viewtopic.php?f=5&t=6061 > Bus 003 Device 007: ID 07d1:3c0a D-Link System DWA-140 RangeBooster N USB Adapter(rev.B2) .. > phy1 -> rt2x00_set_chip: Info - Chipset detected - rt: 3071, rf: 0008, rev: 0213. So it looks like it is a 3071 chipset. And from the code snippet below it can be seen that for that chipset the rt2800usb wants to load the second image in a firmware of size 8KiB. http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.38.y.git;a=blob;f=drivers/net/wireless/rt2x00/rt2800usb.c;h=197a36c05fdaf18a294000b9eae8b5dad2073eea;hb=HEAD 116 /* 117 * Check which section of the firmware we need. 118 */ 119 if (rt2x00_rt(rt2x00dev, RT2860) || 120 rt2x00_rt(rt2x00dev, RT2872) || 121 rt2x00_rt(rt2x00dev, RT3070)) { 122 offset = 0; 123 length = 4096; 124 } else { 125 offset = 4096; 126 length = 4096; 127 } For these chips the rt2800usb needs to load the concatenated second firmware image from an 8KiB firmware, but natty still comes with the 4KiB rt2870.bin. In 1.53 2870.bin doubles in size to exactly 8KiB. Two 4KiB drivers are concatenated. In preparation for a SRU we should look if anything formerly working potentially breaks with the new firmware. Ralink says it is backward compatible, so older drivers that load the new firmware should be fine: http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-March/003380.html Ralink's Shiang Tu says: We always suggest to use latest firmware, because it's backward compatible and also has some enhancement, bug fix, or support of new chip For rt5390 or newer chips, it shall upgrade the firmware to this version, or it may malfunction. The USB drivers in staging have been modified (vs. the drivers from the Ralink website) to load 4KiB firmware. From looking at the code they should just take the first half of an 8KiB firmware and ignore the rest. Nevertheless I would prefer to have a regression test with RT2860, RT2872 or RT3070 based hardware with a USB driver from staging and the oneiric 8KiB rt2870.bin. Maybe we can find someone who can do this. If testing that it might be good to move the other Ralink firmware files out of /lib/firmware temporarily (or disable them by renaming) to prove that it loads the 8KiB rt2870.bin (md5: 36c944c3138125605d28c0a3a1338be9) from linux-firmware 1.53. What follows is just a bunch of stuff I have looked up that might come in handy for reference: older kernels have more staging drivers: lucid: 2.6.32 rt2860sta rt2870sta <-- usb rt3070sta <-- usb rt3090sta maverick: 2.6.35 rt2860sta rt2870sta <-- usb rt3070sta <-- usb natty: 2.6.38 rt2860sta rt2870sta <-- usb Changelog linux-firmware (1.53) oneiric has 3 patches about rt2* : rt2870sta: Use latest firmware for RT3070 and RT3071 rt2860sta: Use latest firmware for RT3090 linux-firmware: rt2800pci: rt2800usb: Firmware update <-- The file we want to replace is the same from lucid to natty: /lib/firmware/rt2870.bin md5:e4b60f5bb4980a26cbac32be690451d6 current natty release linux-firmware 1.52 md5sum rt{2,3}* 99bce75086ea635a2f8288d9b835f787 rt2561.bin 2878d5eaa4ff907d4df36a834915aa53 rt2561s.bin 9998485bc152cf0f39dd61a33b92ad9b rt2661.bin 7f55011396eff4983f26bb7dd7339fb3 rt2860.bin e4b60f5bb4980a26cbac32be690451d6 rt2870.bin <-- 7c540794d71ad684c1e97e80a59d8edf rt3070.bin faf3eb6379501e4282464bd68de9a7fe rt3071.bin 0efb51d2d3f4be99cb491bca0dc025fb rt3090.bin current Maverick proposed linux-firmware 1.38.8 md5sum rt{2,3}* 99bce75086ea635a2f8288d9b835f787 rt2561.bin 2878d5eaa4ff907d4df36a834915aa53 rt2561s.bin 9998485bc152cf0f39dd61a33b92ad9b rt2661.bin 7f55011396eff4983f26bb7dd7339fb3 rt2860.bin e4b60f5bb4980a26cbac32be690451d6 rt2870.bin <-- 7c540794d71ad684c1e97e80a59d8edf rt3070.bin faf3eb6379501e4282464bd68de9a7fe rt3071.bin 0efb51d2d3f4be99cb491bca0dc025fb rt3090.bin current Lucid proposed linux-firmware 1.34.10 md5sum rt{2,3}* 99bce75086ea635a2f8288d9b835f787 rt2561.bin 2878d5eaa4ff907d4df36a834915aa53 rt2561s.bin 9998485bc152cf0f39dd61a33b92ad9b rt2661.bin 7f55011396eff4983f26bb7dd7339fb3 rt2860.bin e4b60f5bb4980a26cbac32be690451d6 rt2870.bin <-- 7c540794d71ad684c1e97e80a59d8edf rt3070.bin faf3eb6379501e4282464bd68de9a7fe rt3071.bin