Very long wpa_supplicant startup time - Win2K Pro

Bryan Kadzban bryan
Tue Aug 16 10:32:30 PDT 2005

Hash: SHA1

First of all, to the wpa_supplicant dev(s):

Thank you VERY VERY MUCH!  This program is almost exactly what we
needed!  Apart from the issue below, it works GREAT on Windows 2000 Pro,
with both of the following wireless card models and drivers:

1) Linksys WMP54G -- Ralinktech RT2500 chipset; it's a PCI card
   Drivers: Ralinktech

2) D-Link DWL-G520 -- Atheros chipset; another PCI card
   Drivers: any of D-Link, Atheros, or Netgear work.  Some offer only
WPA support, though, not WPA2 (CCMP/RSN).

In short: 2000 Pro can probably be added to the "the NDIS driver works
with..." list.

However, we are having one issue.  I'm starting wpa_supplicant from a
self-written wrapper service, so that the machine has a network before
the login prompt comes up.  (The machines in question will be on our
shop floor, and will be auto-logging-in as a restricted user.  They need
a network connection at login time to be able to do this.)

I am using the .zip file with Win32 binaries of wpa_supplicant (but the
same thing happens with a version I compiled using Cygwin).  I am using
the NDIS "backend" driver (perhaps that's obvious, but hey, whatever).
The issue is that there's a delay of about 30 seconds between the time
my service starts and the time that wpa_supplicant logs its first message.

I have added -dt to the wpa_supplicant command line, to have timestamps
on the debug messages.  I also added some code to my wrapper service to
log the time that the CreateProcess call (starting up wpa_supplicant)
returns.  Finally, I added a line to wpa_supplicant's main() function to
log the time that it starts executing.

Looking at the log file, there's a delay of about 30 seconds between the
time CreateProcess returns, and the time that the first message from
wpa_supplicant's main() function is logged.

I have tried making my wrapper service depend on both the NDIS group and
the NPF driver (winpcap's packet-capture protocol driver), so that I can
be sure that both the network card and winpcap's driver are up and
running before I run wpa_supplicant.  That doesn't reduce the startup
delay by any appreciable amount.

I've also tried setting my wrapper service to manual, then running
wpa_supplicant myself (after logging in), and it starts within 1 or 2
seconds instead of 30.  That makes me think it's not due to Windows'
generally-slow process startup (relocation, etc.), though I don't know
for sure.

Since this delay happens before main() even starts, it doesn't even
appear to be caused by code in wpa_supplicant.  I'm thinking it may have
something to do with packet.dll or wpcap.dll (since wpa_supplicant links
to them), but I don't know for sure.  Anything I can try to find out?
Is this maybe a known issue with winpcap?  (I'm thinking I need to ask
the winpcap people about that, but first I want to make sure the problem
is coming from their DLL, if that's possible.)

Any ideas?


Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


More information about the Hostap mailing list