[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: