It is a misconception that rt2800usb is the wrong module. It is the right module. It is just not the only module on your system that says that it can drive hardware with this ID (which consists of vendor plus device id).
From http://wiki.ubuntuusers.de/WLAN/Karten/D-Link I see that there are two likely device IDs for this device. One is based on RT2870 and one on RT3070 according to that list. lsusb will give the vendor and device ID for this stick. Please post this ID. From the staging driver loaded I assume it will be 07d1: 3c09 (RT2870 based).
Historically, the staging driver might have been necessary for this device, but I think it should now work with the preferred (in-kernel, non-staging) rt2800usb.
from the source[1]:
126 config RT2800USB
127 tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support"
[..]
135 ---help---
136 This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
137 Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072
138
139 When compiled as a module, this driver will be called "rt2800usb.ko".
As Gustav wrote there might be a conflict between the two available drivers. Could you please blacklist (or even rename the module to something like rt2870sta.ko.disable) rt2870sta and then shut down and boot (not just restart) and try again with the rt2800usb? If it doesn't work we should try and get to the root cause of this so that it will work for everyone out of the box in oneiric.
It is a misconception that rt2800usb is the wrong module. It is the right module. It is just not the only module on your system that says that it can drive hardware with this ID (which consists of vendor plus device id).
From http:// wiki.ubuntuuser s.de/WLAN/ Karten/ D-Link I see that there are two likely device IDs for this device. One is based on RT2870 and one on RT3070 according to that list. lsusb will give the vendor and device ID for this stick. Please post this ID. From the staging driver loaded I assume it will be 07d1: 3c09 (RT2870 based).
Historically, the staging driver might have been necessary for this device, but I think it should now work with the preferred (in-kernel, non-staging) rt2800usb. rt28xx/ rt30xx (USB) support" rt28xx/ rt30xx wireless chipset family.
from the source[1]:
126 config RT2800USB
127 tristate "Ralink rt27xx/
[..]
135 ---help---
136 This adds support for rt27xx/
137 Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072
138
139 When compiled as a module, this driver will be called "rt2800usb.ko".
As Gustav wrote there might be a conflict between the two available drivers. Could you please blacklist (or even rename the module to something like rt2870sta. ko.disable) rt2870sta and then shut down and boot (not just restart) and try again with the rt2800usb? If it doesn't work we should try and get to the root cause of this so that it will work for everyone out of the box in oneiric.
[1]http:// git.kernel. org/?p= linux/kernel/ git/stable/ linux-2. 6.38.y. git;a=blob; f=drivers/ net/wireless/ rt2x00/ Kconfig; h=6f383cd684b00 9a1cee966376875 9c32772a7cf1; hb=HEAD