sábado, 13 de marzo de 2010

Placa Ralink RT2500 en Hardy Heron

En esta PC tengo una placa wifi MSI, con chip Ralink,





y el sistema la ve así:

daniel@ubuntu:~$ lspci | grep Net
00:09.0 Network controller: RaLink RT2500 802.11g Cardbus/mini-PCI (rev 01)

El sistema operativo es Ubuntu 8.04 (Hardy Heron), de 64 bits.

Bien, esta placa es reconocida sin problemas por las nuevas versiones del kernel, pero cuando yo la instalé no lo era, de modo que tuve que compilar un módulo para que funcionara. Esta placa requiere el módulo rt2500, el cual ha sido desarrollado inicialmente por la gente del proyecto Rt2x00 Serialmonkey. Luego ese módulo pasó a formar parte del kernel de Linux y ya no fue necesario que ellos continuaran ofreciendo su trabajo separado del kernel, porque ya venía dentro...

Pero hay un problema. Cuando se compila e instala el módulo que provee la gente de Serialmonkey la interfaz lógica asociada a la placa se denomina ra0, y cuando se utiliza el módulo que provee el kernel, la interfaz lógica asignada a la placa es wlan0. ¿Cuál es el problema? En principio, ninguno ;) Pero en mi caso esto sí significa un problema, ya que tengo armado todo el sistema de conexión a la red en esta PC usando la interfaz ra0, tengo configurado el firewall y varios servicios que tengo corriendo aquí, todos usando ra0. De modo que si cambio la asignación de la interfaz de red, debería cambiar muuuchas cosas en la configuración de la PC. Así que continúo usando el módulo de Serialmonkey ;)

Al usar ese módulo, con cada actualización del kernel hay que recompilar ese módulo, lo cual no es complejo ni rebuscado :)

Los pasos a seguir son estos:
  • Descargar el paquete con el código fuente del módulo, de esta página.
    Para esta placa, el paquete es rt2500-cvs-daily.tar.gz
  • Instalar los encabezados del kernel para el cual vamos a compilar el módulo. En Ubuntu, el paquete se denomina
    linux-headers-2.6.xx-yy-generic
    donde las letras indican la versión exacta del kernel. El paquete se instala con aptitude, Synaptic o el gestor de paquetes de nuestro gusto.
  • Descomprimir el paquete *.tar.gz descargado en un directorio auxiliar.
  • Una vez descomprimido, veremos que nos ha creado una carpeta llamada
    rt2500-cvs-xxx
    donde xxx denota la fecha en que se creó el paquete que estamos usando. Ingresamos a esa carpeta y luego a otra allí dentro, llamada Module
  • Una vez allí, debemos compilar el módulo, con
    $ sudo make
  • Como se ve, no es necesario correr el script ./configure; directamente compilamos con make
  • Una vez concluída la compilación, instalamos el módulo con
    $ sudo make install
  • Reiniciamos la PC y listo! Tenemos nuestra placa wifi activa y asignada a la interfaz lógica ra0 (la interfaz wlan0 desaparece del sistema).
    El resultado final es este:

    daniel@ubuntu:~$ iwconfig ra0
    ra0       RT2500 Wireless  ESSID:"mi_red" 
              Mode:Managed  Frequency=2.462 GHz  Access Point: 00:59:17:35:0E:70  
              Bit Rate=54 Mb/s   Tx-Power:0 dBm  
              RTS thr:off   Fragment thr:off
              Link Quality=86/100  Signal level:-54 dBm  Noise level:-79 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Eso es todo :)

Reitero; si esta placa se utiliza con cualquier sistema moderno, no es necesario compilar el módulo, pero en caso que el kernel no la reconozca, este método es muy simple de realizar. Ojalá les sirva tanto como a mi ;)


1 comentario:

Marcelo Fernández dijo...

Estem... no era más fácil renombrar el device "wlan0" a "ra0" con udev?

Mirá:
http://www.debianhelp.co.uk/udev.htm

Saludos

Firefox 3

NO al Canon Digital!

No Al Canon en Argentina