Tonight at Hacking Society, Brian Cairns was showing off a “Zero Configuration WiFi” tool he's working on. It's looking pretty good as a start. It gives an interface similar to what you'd see in the Windows world, though without the ability to list a “preferred network” as in Windows. It's a good start. I've been using something that's a little more automatic…
My system is called “netup”, and I use it as a part of my hibernate script. On resume, the script is automatically called. to bring up my networking. I can also run it manually in the rare occasions when I move without hibernating. I have tweaked this script over the years so that it does exactly the right thing, including shutting down my other interfaces, stopping DHCP clients and servers, switching back to managed mode without an ESSID, etc…
The way it works is that it searches for an access point association. The result of this is a ESSID and MAC address pair that I then use to trigger other events. The default event is to start up DHCP on that interface. However, I override it in many different ways.
If it detects that I'm at a location where there is an ESSID, it will set up the ESSID before firing up dhclient. If I associate with one of our neighbors access points, it switches over to ours. Ditto for other locations where I often associate with a neighboring AP.
I get really fancy at some locations. A few locations I frequent have “captive portals”, and I've built up small scripts which effectively clicks on the “I accept” button. A few other locations don't work with my local caching DNS server, so I change the /etc/resolv.conf in those locations.
Over all, this works very well. In the normal case, I don't have to mess with anything. I just open up my laptop and within a few seconds my network is up and working as I expect. Even in the normal abnormal case, like where I associate with a neighbor's AP, it just does the right thing. In the rare case, I have to poke at something to get the network up properly.
I suggested to Brian that he include some of this functionality into his system. Being able to do the same sort of thing through a GUI is something a lot of people would find quite handy.
A simplified version of my netup script is available on our FTP server at ftp://ftp.tummy.com/pub/tummy/netup/.comments powered by Disqus