Poesía Binaria

WiFi USB Conceptronic C150RUSM (RT3070) Editando el módulo para que funcione

Si habéis adquirido este adaptador Wifi USB, veréis que Linux, al menos hasta la fecha, no lo detecta, es más, pasa de nosotros, y aunque carguemos el driver a mano con modprobe; seguirá sin pasar.

Afortunadamente, no es nada difícil, y es algo que me hace estar un poco más feliz por utilizar software libre, y es que si el driver no reconoce el dispositivo como suyo, voy a presentárselo.

En principio, no sabía qué driver utilizaba el dispositivo. Busqué en los drivers para Windows, y se instalaba el rt2870, por lo que todo el proceso que diré a continuación lo hice con dicho driver, y no conseguí resultados, así que envié un e-mail a Conceptronics, que afortunadamente tardaron menos de 10h en contestar donde me dijeron que el driver era ralink 3070. Así que fui a la página de descarga de drivers para Linux de Ralink. Una vez ahí descargué el driver correspondiente.

Ahora tenemos que descomprimirlo y buscar en qué archivo están la asociación de dispositivos. (Tendremos que buscar la macro USB_DEVICE):

~/temporal/ $ tar xvjf 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO.tar.bz2
$/temporal/ $ cd 2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO/ # Para qué está el tabulador!
~/temporal/2011_0107_RT3070_RT3370_Linux_STA_v2.5.0.1_DPO $ egrep -R ‘USB_DEVICE’ *

Vemos que es el archivo common/rtusb_dev_id.c el que tiene todos los dispositivos.

Ahora, con lsusb miramos cuál es el dispositivo USB que tenemos. En algunas versiones no da descripción del dispositivo, o puede que tengamos demasiados dispositivos conectados, podemos probar ejecutar el comando con el dispositivo enchufado y desenchufado, y comparar, así vemos cuál falta.

A mí me detectaba el dispositivo como un Edimax, en la dirección 7392:3734.

En el archivo common/rtusb_dev_id.c, no encontramos ese dispositivo. Tendremos que buscar la línea {USB_DEVICE(0x7392,0x3734)} y dado que no la encontramos, la creamos, al final de todos los dispositivos.

Sólo queda hacer un make && make install y ya tenemos el módulo funcionando. Antes de trabajar con este dispositivo es necesario levantarlo:

$ ifconfig ra0 up

Aunque la mayoría de los gestores de red lo harán bien. El driver no está del todo completo para este dispositivo, pero nos puede hacer el apaño mientras sale un driver mejor. Y así, le vamos perdiendo un poco de miedo al kernel.

También podría interesarte....