As of linux 2.6.31 there is no mainline support for the Ralink rt2680 Wifi chipset. While there is an official driver provided by Ralinktech, it is incompatible with 2.6.31 due to the fact that post 2.6.29 the kernel's net_device_ops API has changed and 2.6.31 also removed CONFIG_COMPAT_NET_DEV_OPS backwards compatibility.
So I came up with a small patch to the Ralink driver.
The solution is to get the module source from http://www.ralinktech.com/support.php?s=2 (tested with version 2.1.2.0 from 05/21/2009) and apply the patch before compilation..
Ralinktech provides a README file how to do this, basically you'll need the kernel-source or kernel-headers, and then simply type make after unzipping and patching the module source.
Discussion
I'm very interested in your patch. Please excuse my ignorance.Can you give more details of how to apply the patch. Best Regards Bernie
Ralink has since updated their driver to 2.2.0.0 but that version is still incompatible with linux 2.6.31. Anyway you can grab 2.1.2.0 from here.
You need to have the
linux-kernel-headerspackage installed and of course a c-compiler +make+patchetc.Then try the following in a Terminal:
To load and test the module run:
On the next reboot the module should be loaded automatically.
Note the
make installinstalls the kernel module just fine, but also copies the firmware to/etc/Wireless/RT2860STA. Depending on your GNU/Linux distribution this may not be the correct location.However you may already have the firmware (from a previous installation of the driver done by your distro); and you can simply delete
/etc/Wireless/again. More information on this is available in the README file provided by Ralinktech.Thankyou for your advice having obtained the files then patched and installed etc.. I seem no further forward. Still the card refuses to work with WEP or WPA. I may be forced to change the card I feel.
Best Regards Bernie
The netbook with the rt2860 chipset to which I have access connects just fine to WPA and WPA2 access-points. I have not tested WEP.
Could it be that you are still using an older firmware (ie one installed by your distribution) rather than the one from the compiled driver?
Did you try if it works with an older kernel and Ralink's 2.2.0.0 driver?
Anyway, if you have the option to replace the WiFi-card with a different model, check http://linuxwireless.org/ for a list of devices supported by Linux before buying.
good luck, robin
Thanks for your continued help and encouragment. I persisted and reinstalled your patched drivers again. Still nothing. Then I updated the kernel to 2.6.31-15 from -14 and behold, WPA is working. Well kind of. Passphrase mode works but preshared key doesn't seem to at the moment. Anyway is a large step forward. Thanks again for your time and help. Best regards Bernie
Hi Bernie,
The secret to getting rt2860 WPA working with NetworkManager or wicd is in the Ralink readme file. In the file os/linux/config.mk you need to change the default:
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
to:
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
Then rebuild the modules. If you want to create a deb file for the modules, the method suggested here works:
http://newbiedoc.berlios.de/wiki/Module-Assistant_-_using_upstream_tarballs
Hey Daniel,
Thanks for the info. The above patch already included
HAS_WPA_SUPPLICANT=ywhich works just fine here with WPA and network-manager here.Did you have a look at the source what the difference between
HAS_WPA_SUPPLICANTandHAS_NATIVE_WPA_SUPPLICANT_SUPPORTis?Hi Robin,
I didn't take a close look at the source, but a WPA Personal (PSK) access point here would not authenticate with either wicd or NetworkManager until I made this change to the config. The Ralink readme recommends this change if you are using NetworkManager, so that's good enough for me