I tried it using the ifstated approach, but it didn't work as I
hoped it would. So I just wrote a small sh script and put it in
/etc/wlan and sourced that from /etc/rc right after /etc/netstart
is run.

The only thing I find funny is that the network link only comes
up after I have run the 'ifconfig iwi0 scan' a second time. See
below.


Christopher



#!/bin/sh

echo -n 'setting up wlan: '

for nwid in $(ifconfig iwi0 scan |awk '{if($1=="nwid") print $2}') 'FAIL'
do
    case "$nwid" in
    wurmlingen)
        echo "$nwid."
        ifconfig iwi0 192.168.23.2 netmask 255.255.255.0 \
            media autoselect \
            -bssid \
            -chan \
            nwid wurmlingen \
            -nwkey \
            wpa \
wpapsk 0xUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU \
            up
        route add default -ifp iwi0 192.168.23.1
        break
    ;;

    BELWUE)
        echo "$nwid."
        route delete default
        ifconfig iwi0 inet \
            media autoselect \
            -bssid \
            -chan \
            nwid BELWUE \
            -nwkey \
            -wpa \
            -wpapsk \
            down
        dhclient iwi0
        break
    ;;
    FAIL)
        echo "no known network found."
    ;;
    esac
done

sleep 2;
ifconfig iwi0 scan >/dev/null

Reply via email to