I use a simple AWK script which parses the available networks as
returned by ifconfig wpi0 scan and selects the first known one it finds.
It then creates an /etc/hostname.wpi0 for that network and runs
/etc/netstart wpi0. I attached it for reference, though I think it's
extremely easy to rebuild from scratch.

-- 
    Gregor Best
#!/usr/bin/awk -f

BEGIN {
    conf["essid0"] = "wpakey foobar\ndhcp";
    conf["essid1"] = "-wpakey\ndhcp";

    device = "wpi0";
}

/^[[:space:]]+nwid/ {
    sub("^[[:space:]]+nwid ", "")
    sub(" chan [[:digit:]]+ bssid.+", "")
    if ($0 in conf) {
        print "Using configuration for ESSID "$0
        print "up\nnwid "$0"\n"conf[$0] >("/etc/hostname."device)
        system("sh /etc/netstart "device)
        exit
    }
}

Attachment: pgpR0l9QtVop0.pgp
Description: PGP signature

Reply via email to