miércoles, octubre 31, 2007

Wifi D-Link DWL-g122 revisión B1 en Ubuntu Gutsy 7.10

En éste tutorial se explicará como hacer funcionar el usb wifi dwl-g122 revisión B1 en Ubuntu Gutsy 7.10. Antes de nada, comentar que la versión de la revisión la podéis encontrar en el reverso del usb.

Nos descargaremos la última versión del controlador rt2570 de la página web de serialmonkey. Exactamente nos deberemos de bajar la versión CVS hourly tarball del controlador rt2570 (usb). Una vez descargado lo descomprimiremos (con el botón derecho, Extraer aquí...) y desde el terminal (Aplicaciones -> Accesorios) iremos a allí a donde lo tengamos descomprimido, por ejemplo si está en el escritorio, haremos un:

cd Escritorio
cd rt2570-cvs*
cd Module
sudo aptitude install -y build-essential
make
sudo make install


Ahora modificaremos el archivo interfaces para que se adapte a nuestras necesidades:

sudo gedit /etc/network/interfaces


Añadiremos o modificaremos el fichero para que contenga éste contenido, además del que ya hay:

auto rausb0
iface rausb0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid nombreDeVuestroESSID
wireless-key vuestraClaveWEP


Guardaremos y tal...

Ahora modificaremos el fichero blacklist para que cargue el controlador adecuado:

sudo gedit /etc/modprobe.d/blacklist


Y al final del fichero añadiremoms éste contenido:

blacklist rt73
blacklist rt73usb
#blacklist rt2570
blacklist rt2500usb
blacklist rt2x00lib


Guardamos y tal...

Ahora ya podéis reiniciar y os debería de funcionar.

He de mencionar que éste controlador no es muy estable y que se cae, así que cuando ésto suceda (las luces del USB se apagan por completo) deberéis de ejecutar desde el terminal los siguientes comandos:

sudo ifdown rausb0
sudo ifup rausb0


Aunque estoy investigando la forma de automatizar éste proceso, en cuanto lo tenga lo pongo.

Por cierto, si actualizáis el kernel, deberéis de volver a ejecutar todos los comandos otra vez.

Actualización 1:

Respecto a la forma de automatizar la puesta en marcha de la wifi otra vez. Una forma de saber si la wifi se ha caido es haciendo un ping a la dirección de nuestro ruter, en nuestro caso la dirección 192.168.1.1. Si el router responde perfecto, pero si no responde deberemos de levantar la red con los comandos anteriormente comentados. Bien pues con un poco de ayuda con el comando ping (man ping) e internet para los comandos bash, he desarrollado éste pequeño programita:

#!/bin/bash
echo "Start wifi monitoring"
while [ 1 = 1 ]; do
TEST="ping 192.168.1.1 -c 1"
if $TEST; then
echo "Ping ok"
else
echo "Ping ko, restart wifi"
echo `ifdown rausb0`
echo `ifup rausb0`
sleep 15
fi
sleep 5
done
echo "End wifi monitoring"


Cuyo objetivo es comprobar cada 5 segundos si nuestro router responde, y si no lo hiciera, levantaríamos la red y daríamos un margen de otros 5 segundos para realizar la siguiente comprobación. Que por cierto, quería que la herramienta cron lo ejecutara pero creo que ésta no tiene precisión de segundos, cierto ?

Qué os parece, alguna idea mejor ??

Para tener éste programa, copiáis el código entero y lo metéis en un fichero de texto, por ejemplo wifi.sh, luego le dais permisos de ejecución y LO EJECUTÁIS COMO ROOT, ya que sino no podréis levantar la wifi, como por ejemplo con el comando

gksu /home/"nombreUsuario"/wifi.sh

4 comentarios:

B4H4 dijo...

gracias por el tutorial, ya me funciona !

pero de vez en cuando abandona la conexion, solo se queda fijo el led de "link" y no envía, tengo que reiniciar el pc. sabes que puede ser ?

Ferran Garriga dijo...

Has probado de hacer un

sudo ifdown rausb0
sudo ifup rausb0

cuando te abandona la conexión ¿?

Si eso te funciona, mira la actualización 1 del post.

Un saludo.

zerosoul13 dijo...

en dado caso de que no tenga una ip estatica que hago ?

Ferran Garriga dijo...

Buenas zerosoul13,

lo que tienes que hacer es substituir la linea:

iface rausb0 inet static

por:

iface eth0 inet dhcp

Y en teoría puedes suprimir las líneas:

address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1


A ver si te funciona y nos informas.
Un saludo !