Wpa_supplicant in a shaky network environment

Antti Mäkelä zarhan at cs.tut.fi
Fri Feb 9 08:04:47 EST 2007


Hi,

   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):

http://bugs.gentoo.org/show_bug.cgi?id=164965

   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 
eventually.

   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)

   and

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 
executed.

   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 mailing list