Wifi movil con debian
Hola a todos.
He conseguido hacer andar un pequeño script, que junto con el sistema ifupdown de
debian, es capaz de detectar el AP en el cual nos encontramos y configurarse para
este.
La gracia del tema es que todo lo tenemos el el fichero /etc/network/interfaces sin
tener que hacer otras chapucillas ajenas a la distro.
El escript en cuestión es este:
-- Inicio del script wifisearch --
#!/bin/sh
if [ `id -u` -ne 0 ] || [ "$1" = "" ]; then exit 1; fi
IFCONFIG="/sbin/ifconfig"
IWLIST="/sbin/iwlist"
IFACE="$1"
RESULT=""
$IFCONFIG $IFACE up
sleep 2
APOINTS=$($IWLIST $IFACE scan)
if echo $APOINTS | grep -i "No scan results" >/dev/null 2>/dev/null; then
exit 1
fi
while read MAC SCHEME; do
if [ "$RESULT" ]; then continue; fi
if echo $APOINTS | grep -i $MAC >/dev/null 2>/dev/null; then
RESULT="$SCHEME"
fi
done
if [ "$RESULT" = "" ]; then RESULT=${IFACE}_default; fi
echo $RESULT
-- Fin del script --
Este escript, lo tenemos que poner en /sbin/wifisearch
Una vez hayamos realizado este paso, tendremos que configurar nuestro fichero "interfaces"
con todos los AP conocidos.
Ejemplo de fichero interfaces:
## Fichero de ejemplo interfaces ##
auto lo rausb0
iface lo inet loopback
mapping rausb0
script /sbin/wifisearch
map 00:13:F7:1C:FD:F0 wifi_casa
map 00:60:B3:EE:3F:39 wifi_curre
iface wifi_casa inet static
address 192.168.123.5
netmask 255.255.255.0
gateway 192.168.123.1
wireless_essid MyCasa
wireless_channel 6
wireless_mode Managed
wireless_key "s:misuperkey123"
wireless_rate 54M
iface wifi_curre inet dhcp
wireless_essid diselpro
wireless_channel 6
wireless_mode Managed
wireless_key "s:misuperkey123"
wireless_rate 54M
iface rausb0_default inet dhcp
wireless_essid any
wireless_mode Managed
## fin del ejemplo interfaces ##
Como podéis observar, se lanzara la config "wifi_casa" o "wifi_curre", dependiendo
de la mac del ap que se ha detectado y si no detecta ningún ap conocido, intenta
conectar al primero que pilla mediante dhcp (entrada rausb0_default)
Este script chorra, está recien salido del horno y seguramente tendrá un buen puñado
de bugs. ;-P
Espero que le aproveche a alguien ;-)
Saludos.
Reply to: