Ralink RT2500 Linux Howto

From BB-ZONE

Contents

Important Update

Ralink has put their source code under the GPL. The rt2x00 Open Source Project has picked up the code and is in the process of developing a stable and feature rich Linux driver for wireless 802.11b and 802.11g cards that are based on the Ralink rt2400 and rt2500 chipsets.

This pretty much obsoletes this HOWTO. I tried their lates CVS version and it worked out of the box (2005-01-05). So please go to: http://rt2400.sourceforge.net and follow the instructions there. To make it even easier I put a step by step instruction for building this driver up here.

Update 2006-10-31

I got feedback, that the CVS checkout ink changed. If the one I quoted below doesn't work, try this:

 cvs -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 login
 ...
 cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 co source

Installation instructions for SuSE Linux Professional 9.2

Due to popular demand (seems like more people than I though read this HOWTO) I like to give a few instruction on how to build the driver from the rt2x00 Open Source Project on a SUSE Linux System (tested with SUSE Linux Professional 9.3).

Prerequisits

First you need to make sure you have the kernel sources and the tools you need to build the module installed. The easiest way to do so is to start YaST, launch the Install and Remove Software, use the filter Selections and install Kernel Development and Experienced User. This will give you all the packages you need to build kernel modules. Don't forget to run YaST Online Update after the installation has finished. Otherwise the installed sources may not match your running kernel.

Preparing the kernel

Before we can build the driver we need to prepare the kernel source tree. It needs to match your running kernel. To do this issue the following commands as root:

 cd /usr/src/linux
 make cloneconfig
 make prepare

Getting the latest sources for the rt2500 module

As the driver is changing quickly, it's recommended to use the latest source code from the project CVS. As regular user do this:

 cd ~
 mkdir RT2500
 cd RT2500
 cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rt2400 login
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rt2400 co source

When asked for a password, just hit Return.

Note: Please make sure the path you keep the module sources does not contain a space character. I received quite a few reports of folks who had problems when a space was in the path. Compiling and installing the module

Again as user do:

 cd ~/RT2500/source/rt2500/Module
 make debug

To install the module you need to be root again:

 make install
 depmod -a

That's all there is to do. The driver is ready to use now.

Configuration

The rt2500 driver names the interface ra0. Unfortunatly this prevents it to be configured with SUSE's YaST. It still works with the standard rc-scripts though. All you need to do is to manually configure the device. This can be done by creating the file /etc/sysconfig/network/ifcfg-ra0. For a mini PCI card set up using dhcp I use the following file:

 #/etc/sysconfig/network/ifcfg-ra0
 BOOTPROTO='dhcp'
 MTU=
 REMOTE_IPADDR=
 STARTMODE='auto'
 USERCONTROL='no'
 WIRELESS='yes'
 WIRELESS_MODE='managed'
 WIRELESS_KEY='your-wep-key-here'

There are many more things that can be set. Look into ifcfg.template and wireless for well commented examples of the possible settings.

To test the driver you can use (as root):

 modprobe rt2500
 ifup ra0

The interface should come up and be configured as you specified it in ifcfg-ra0. Depending on the setting of STARTMODE it will initialize itself at bootime.

If you set STARTMODE to auto and add |ra[0-9] to LINKLOCAL_INTERFACES in the file /etc/sysconfig/network/config the inteface will be set up automatically at system boot time.

Links

If you still have trouble feel free to contact me.

Views