Wpa_supplicant in a shaky network environment
zarhan at cs.tut.fi
Fri Feb 9 08:04:47 EST 2007
could you take a look at a bug I filed at Gentoo (and got suggestions that
this should be addressed at wpa_cli or wpa_supplicant):
Yes, I read TODO.TXT. The only reference to this kind of issue I see is the
- on disconnect event, could try to associate with another AP if one is
present in scan results; would need to update scan results periodically..
Anyway - it seems that at least wpa_cli.c has quite a lot of similarities to
ifplugd code, but, if I had interpreted things correctly, parsing events and
executing action scripts happens within the same function
(wpa_cli_action_process()), on the same call.
Thus, any patch to include a "downtime threshold" would change the entire
structure a bit - separate parsing of wpa events from executing the actions,
and including a timer.
Personally, I've found this problem annoying enough recently (the office
building I frequently visit must have a gazillion access points) that I'll
probably have enough motivation to try to write something to fix this, at least
However - I'd rather not reinvent the wheel again - so - is somebody else
already taking a look at this issue and working on a fix?
Anyway, what I'd like to change is
the current functionality of
static void wpa_cli_action_process(const char *msg)
should be split to
static char* wpa_cli_action_process_parse(const char *msg)
static void wpa_cli_action_process_exec(char *event)
where the first would simply get the event (connect or disconnect) and upon
return, start a timer. The latter would then be executed when the timer goes
off. A newly received re-connect to the same network (including re-completing
802.1X) within a threshold time would not cause the action script to be
What do you think?
- Antti Mäkelä - http://www.cs.tut.fi/~zarhan - zarhan at cs.tut.fi -
There is a theory which states that if ever anyone discovers exactly
what the Universe is for and why it is here,it will instantly disappear
and be replaced by something even more bizarre and inexplicable.
More information about the HostAP