• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.



Page history last edited by razor1394 11 years, 11 months ago

Ralink rt2870 (USB) Ubuntu Intrepid Ibex RELEASE / Jaunty Jackalope / Karmic Koala RC HOWTO


Update! Ubuntu Jaunty 9.04 testing now includes the rt2870sta driver. It should work right out of the box unless you have an unsupported usbid.


This is a howto on getting the Ralink rt2870 Wifi 802.11abgn chipset to work with Intrepid Ibex 8.10 RELEASE i386 and amd64. It has also been tested on Ubuntu Jaunty Jackalope i386 alpha 3+.

It was tested with two ENGENIUS EUB-9701 EXT - EUB9701X2 which contain the rt2870 chipset made by Ralink. Since the driver it is very easy to install and use the driver. Steps 1-4 can be done in Firefox and Nautilus if you wish. Steps 5-7 should be done in the Gnome terminal.




Open up the gnome-terminal (ALT-F2 -> input gnome-terminal -> ENTER).


1. Retrieve the driver


          with a browser (firefox/chromium/chrome/opera/seamonkey)


         from here http://www.ralinktech.com/support.php?s=2         


or retrieve from the wiki


wget http://ubunturt2870.pbworks.com/f/2009_0820_RT2870_Linux_STA_V2.2.0.0.tar.bz2


2. Extract the compressed driver directory and files.


tar xvfj 2009_0820_RT2870_Linux_STA_V2.2.0.0.tar.bz2


3. Enter the new directory


cd 2009_0820_RT2870_Linux_STA_V2.2.0.0


4. You need to change some options in os/linux/config.mk to make it compatible with NetworkManager or more precisely Wpa supplicant. Replace that file with the one attached to this wiki. If you don't want to use the file on the wiki open the existing file in your driver directory and change all wpa_supplicant related lines to yes (y instead of n).


cd os/linux

rm config.mk

wget http://ubunturt2870.pbwiki.com/f/config.mk


5. Now get back to the root of the driver directory


cd ../../


6. Compile and install. 


sudo make

sudo make install


7. If you are using Karmic koala you need to blacklist the new kernel driver as it doesn't work so good for the moment


          sudo echo blacklist rt2800usb > /etc/modprobe.d/blacklist.conf


8. Modprobe the new driver if you want to use it instantly


sudo modprobe rt2870sta


Networkmanager should see your available networks within one minute.


The driver should autoload on each reboot.


Please push the Ubuntu developers to integrate an updated version of this module into Ubuntu.


The rt2870 chipset has support in Karmic Koala within the Linux kernel (rt2x00/rt2800usb) but It's flakey at best. There are hardware encryption and scanning problems.






If you want to restart the driver you have to take the interface down before modprobing then doing the opposite when bringing it back up.




sudo ifconfig ra0 down

sudo modprobe -r rt2870sta




sudo modprobe rt2870sta

sudo ifconfig ra0 up


NetworkManager has a tendency of dying when updating an Ubuntu Intrepid or Jaunty system.


Bring it back up


sudo NetworkManager


Sometimes NetworkManager hangs.


Kill it and bring it back up.


sudo killall NetworkManager

sudo NetworkManager


Ralink rt2870sta webUI


Ralink does also provide a webUI at the same page of the driver. I have installed it but not gotten it to work.




Maybe it does work better for you?

Comments (8)

Alastair MacDiarmid said

at 2:54 pm on Mar 15, 2009

nice, and concise. I get an error with the build however, and being an unashamed newbie any help would be good.

CC tells me:

LD [M] /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.o
WARNING: /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.o(.text+0x4ed14): Section mismatch in reference from the function rtusb_probe() to the function .devinit.text:rt28xx_probe()
The function rtusb_probe() references
the function __devinit rt28xx_probe().
This is often because rtusb_probe lacks a __devinit
annotation or the annotation of rt28xx_probe is wrong.

Building modules, stage 2.
MODPOST 1 modules
WARNING: /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.o(.text+0x4ed14): Section mismatch in reference from the function rtusb_probe() to the function .devinit.text:rt28xx_probe()
The function rtusb_probe() references
the function __devinit rt28xx_probe().
This is often because rtusb_probe lacks a __devinit
annotation or the annotation of rt28xx_probe is wrong.

CC /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.mod.o
LD [M] /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic'
cp -f /home/alastair/2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/rt2870sta.ko /tftpboot

razor1394 said

at 3:46 pm on Mar 15, 2009


That doesn't really look like a compile failure error to me. I only see warnings. I get warnings as well when compiling under Intrepid but I'm not sure if mine are similar.

Are you able to modprobe the module (sudo modprobe rt2870sta)? What kernel and edition of Ubuntu (or maybe another distribution) are you using?

I currently do not have the possibility of testing the driver anymore as I don't use Linux on my desktops or laptops.

I recommend asking on the official Ubuntu forums (http://www.ubuntuforums.org/) because they may know exactly what may have gone wrong.

I'm far from an expert on compilation warnings and errors. I do know however that this driver works well (if you wouldn't mind the occasional NetworkManager problems) on Jaunty 9.04 out of the box. On Intrepid you will need to compile and install it.

razor1394 said

at 10:26 pm on Mar 31, 2009

Be careful with 20090302! I tested it on Jaunty beta and it resulted in a mildly disaster. System got slower and slower (NetworkManager reached 100% cpu usage) then it finally locked up. Magic SYSRQ was not possible.

I did:

sudo ifconfig ra0 down

sudo modprobe -r rt2870sta

then I compiled and installed the module after editing config.mk (changed the two wpa_supplicant parts from =n to =y)

sudo make && sudo make install

after that...

sudo modprobe rt2870sta

sudo ifconfig ra0 up

I checked the module with modinfo and it matched the new driver:

sudo modinfo rt2870sta

It seems I should have removed the driver from the /lib/modules dir right after removing the old module from memory but now I don't feel like trying until I've found the cause.

Alastair MacDiarmid said

at 5:00 am on Apr 1, 2009

I gave up on the linux native drivers, I do have this device working flawlessly with the windows drivers slightly hacked to include the vendor and device id, and NDISwrapper.

Needed to use a slighly older .inf and .sys than the ones included with the device.

If anyone wants them let me know and I'll post them up somewhere accesable.

MattP said

at 6:30 pm on Oct 24, 2009

will these steps work with 9.04 and the newly released drivers? If not, any possibility that you could help with adjusting the links above and your modified drivers to work for me?

razor1394 said

at 12:32 pm on Oct 25, 2009

I don't know. I use Karmic Koala and I can't compile the drivers there probably because of the new 2.6.31 kernel. But my understanding is that it will work better under Jaunty. I have changed the links and added some info. Please try it.

mark said

at 9:40 pm on Nov 9, 2009

i'm using kamic koala, and this worked perfectly. previously all I had to do was load ndiswrapper, windows wireless and load the old 2k file.
only problem I have with this one now is that on restart I have to modprobe the driver everytime, what do I have to do to get it auto load ? can I get some help.
thanks guys and gals,

mark said

at 11:59 pm on Nov 16, 2009

I got my to load on restart. Added rt2870sta to the etc/modules file. works a charm

You don't have permission to comment on this page.