Wanted: Code Deleter

The recent removal of the "wpasupplicant as a roaming daemon" mode caused a lot of bug reports from people like me who need a complex wireless setup, i.e. several different networks defined in /etc/network/interfaces and a daemon that automatically brings the interface up and down upon availability of one of these networks, and guessnet to decide which network from /e/n/i to use. This setup worked very nice with wpasupplicant+ifplugd+guessnet, but now it does not any more.

In the following discussion on pkg-wpa-devel mailing list, I argued in favor of reducing wpasupplicant to do just that: Providing WPA support. Analogous to the wired roaming support (please read my post for a in depth justification), and to continue to have one /e/n/i entry per location (and not device), we then need to create a separate daemon, e.g. "wifiroamd", that will do this:

  • Upon boot, start scanning for access points in reach
  • If one is found, see if it's one we know (does the essid appear in /e/n/i for a device)
  • If several are found, try to be smart (e.g. better link quality, maybe a priority setting in /e/n/i)
  • Run ifup wifi0
  • Monitor the device, if it gets disconnected, or the link quality starts to suck, run ifdown wifi0, and start scanning again

The functionality is all there already, in wpasupplicant, tested and proven good. What needs to be done is to remove all non-roaming-code and create this wifiroamd. So if anyone is looking for a nice project, or likes to delete code, or for any other reason interested, please step forward and help us out here.

BTW, in all these consideration, I think of /e/n/i as "network" definition, not device or interface definitions. If that's a very uncommon PoV, I invite you to discuss that, either here, or my mail, or on the pkg-wpa-devel list.


I thought wpasupplicant already supports that, but I'm not sure.
#1 Joachim Breitner (Homepage) am 2006-04-08T09:42:42+00:00
It would be nice if there is the possibility to define non-broadcast wlans. It is easy to set the essid and check whether the AP can be reached or not.
#2 KlausMartin Scheuer (Homepage) am 2006-04-08T08:02:25+00:00

Have something to say? You can post a comment by sending an e-Mail to me at <mail@joachim-breitner.de>, and I will include it here.