Well, I got a thinkpad t42p recently and decided to revisit applications that help you manage network raoming. It would be nice to be able to detect what networks are available and pick the best one from them with little user intervention. Read on for my results
First I decided to try out NetworkManager, the RedHat/Fedora solution to this problem. It looks really nice and seems like it would do just what I want, but configuration and management of it is only available via a gnome applet. I use Xfce, so I have no way to manage it or see what it's doing. Documentation is pretty close to nonexistant (Possibly because they are expecting you to use the gnome panel applet). Despite the page above saying “functioning just as well in Gnome, KDE, Xfce, etc. across distributions like Fedora Core, Debian, Gentoo, and Slackware.” I couldn't get it to work with Xfce.
Next up was wpa_supplicant, which also sounds like a nice application. It's a subproject of hostap and a successor of waproamd. The only documentation for wpa_supplicant is the wpa_supplicant.conf sample file, there isn't anything else at all. So I configured it and tried to get it to work, but it wouldn't associate correctly with my AP at home. In addition wpa_supplicant is only concerned with association and authentication against access points, it doesn't handle things like dhcp or the like, so you would need to wrap it in a script to do that (not that anyone provdes such a script).
Next I took a look at Fedora's system-config-networking, which has a ability to setup multiple profiles for each device. This works, but is very kludgy, requireing you to pull up the interface and figure out which one needs to be activated and deactivated or changed. There doesn't seem to be any easy way to setup a sane default. Also, once you have setup profiles all your network config is in them and you run into problems if you touch the /etc/sysconfig/network-scripts/ files.
So, in the end I went back and just edited the /etc/sysconfig/network-scripts/ifcfg-eth1 file to setup the ESSID for the place I am at and just manage it with 'ifup' or 'ifdown'. Perhaps someday one of the above will be ready to use, in the mean time I will just use vim.comments powered by Disqus