WiFi RT2500 de Ralink en GNU/Linux

Cómo compilar e instalar los drivers para las tarjetas WiFi RT2500 de Ralink en GNU/linux

Introducción

Las tarjetas wifi con chipset Ralink RT2500 cada vez son más comunes. Se encuentran integradas en muchos equipos portátiles y como tarjetas PCMCIA para portátiles, por ejemplo. Por desgracia, los núcleos Linux no traen soporte para este chipset. Poe eso hay tienes que añadirlo tú, aunque la tarea es bastante más fácil de lo que puede parecer.

Lo primero, ¿Tienes una RT2500?

Bueno, para los menos versados en este tema, la forma de saber qué chipset utiliza tu interfaz wireless (así como cualquier hardware de nuestro equipo) es con el comando lspci.

Cuando ejecutes este comando, podrás ver una lista de todos los dispositivos PCI que tienes en tu sistema (si tienes insertada alguna PCMCIA en tu también aparecerá). Ahora solo queda buscar el dispositivo de red que tengas instalado y si ves que su chipset es RT2500 puedes continuar.

Qué necesitamos

Necesitas los fuentes del driver. Éstos se pueden obtener de varias maneras:

  • Paquete debian:
    $apt-get -f install rt2500-source
    
  • Bajarte el Código Fuente del driver directamente de internet. De esta forma podrás conseguir la última versión disponible.

También necesitas los headers del núcleo que estés utilizando. En Debian:

# apt-get -f install linux-headers-$(uname -r)

Ahora ya puedes continuar con la compilación.

Compilación e instalación

En primer lugar deberemos crear un enlace hacia el directorio en el que están nuestros headers que se llame linux para que a la hora de compilar se encuentren todas las librerias necesarias:

$ cd /usr/src/
$ ln -s kernel-headers-2.6.8-1-686 linux

Otra cosa importante es que debes compilar este driver con la versión 3.4 de gcc, si no, es muy probable que surjan problemas. Si no lo tienes instalado:

# apt-get -f install gcc-3.4

Ahora ya estás en condiciones de descomprimir los fuentes y compilarlos. Si has descargado los fuentes con apt, éstos se encontrarán en /usr/src/rt2500.tar.gz. Descomprímelos y compílamos:

$ tar -zxvf rt2500.tar.gz
$ cd modules
$ make CC=gcc-3.4

Una vez compilado todo sin problemas, puedes proceder con la instalación:

$ make install

La instalación habrá creado el fichero /etc/modprobe.conf. Dentro de este fichero habrá algo del estilo 'alias ra0 rt2500'. Tienes que copiar esa línea dentro del archivo /etc/modules.conf y después borrar el archivo /etc/modprobe.conf.

Con esto, se supone que el driver ha quedado instalado. Ahora tan solo queda cargar el módulo:

# modprobe rt2500

Si esto no funciona (que debería), puedes probar esto otro (dentro del directorio donde has compilado el driver):

# insmod rt2500.ko

y con esto el driver deberia quedar perfectamente instalado y tu dispositivo de red detectarse como ra0.
A veces (sobre todo con las versiones más nuevas de Linux) el comando depmod parece no funcionar bien, por ello, es conveniente, después de tener el módulo cargado ejecutar:

# update-modules

Con ello habrás actualizado correctamente la lista de módulos y el correspondiente a tu WiFi se cargará durante el arranque.

Enlaces

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Como comentario para Kubuntu 8.04

Como comentario de ayuda, yo estoy usando kubuntu 8.04 y los drivers provistos en la distro no van bien (se desconecta a las bravas, y cosas así).

Me baje los drivers de serialmonkey y siguiendo los pasos de instalación, van bastante bien. El unico problema es que cada vez que actualizo el kernel, tengo que "moverlos" y añadirlos a la carga al inicio. Basicamente copiar de carpeta el rt2500.ko, cargarlos con "insmod rt2500.ko" y ejecutar "depmod". Ojo, que ejecutando "update-modules" me dice que está obsoleto y no los carga.

Saludos

Imagen de david.villa

Quizá me equivoque

Quizá me equivoque, pero yo diría que ya no hay que hacer todo esto. En Debian/Ubuntu, module-assistant lo hace mucho más sencillo.

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Observando un poco

se ve que la fecha es de hace casi tres años. Entonces no se podían instalar con modules assistant (preguntaba jocósamente que qué era eso de "rt2500", ya ves tu....). Ya llevaba tiempo utilizando modules assistant cuando escribí la receta (y las últimas ralink que instalé hasta me dejó hacerlo con m-a a-i rt-loquesea y todo)

En cuanto al comentario anterior (el del Ubunto). Cada vez que instalas un kernel nuevo, tienes que volver a recompilar/reinstalar los drivers que no vienen con el kernel (con m-a a-i o si ves que te aburres, sigues la receta otra vez)

Saludos.

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --

quisiera saber si me pueden

quisiera saber si me pueden ayudar a instalar un RT2500 en suse 10.0

Imagen de diego

Info extra

Como información extra, tan solo decir que el kernel de Ubuntu (no sé muy bien si desde Breezy o Hoary) incluye este módulo ya compilado y te reconoce la tarjeta automáticamente.

Información actualizada

Las últimas versiones de este driver ya no te reconocen la tarjeta como ra0 sino como una ethX (por lo menos los sources que puedes encontrar en los repositorios de debian y ubuntu)

Salu2

rt2500 mini2440

He comprado un usb wifi (TPLINK TK wn321g) el cual supuestamente tenia el chipset rt73 de ralink compatible con el kernel de linux disponible para mini2440 y resulto que tenia el chipset rt2500.- Me podrias guiar someramente sobre cuales serian las diferencias para compilar en el caso del Mini?. Pregunto esto porque he visto otros post donde hay mucho trabajo con el Mini2440. Desde ya muchas gracias.

Pues si te soy sincero...

... me pasó exactamente lo mismo que a ti (además con el mismo modelo de Wifi y todo) y conseguí compilar el driver en un núcleo (exactamente con el mismo código que el utilizado en la receta sobre cómo compilar Linux para Mini2440), aunque guardé todo el código y los pasos en un pendrive que olvidé sacar del bolsillo del pantalón cuando lo metí en la lavadora. Una tragedia y un error imperdonable por mi parte.

Hace un par de días compilé una imagen Opie y estoy escribiendo una receta al respecto. En cuanto la publique tenía pensado ponerme a ello y a explicar como configurar Opie con IP estática (por mas que lo intenté fui incapaz de configurar una IP dinámica).

De todas formas, si antes lo consigues tu, un recetazo por aquí estaría pero que muy bien. Si además haces cosillas con esa placa, te invito (y me atrevo a decir que hablo en nombre del resto de los integrantes de Crysol) a que escribas algún post sobre ello por aquí.

Un saludo

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --