wpa_supplicant does not work properly with some USB adapters on WinXP

Adrian Nistor anistor at gmail.com
Mon Aug 14 04:13:47 EDT 2006


Hi all, Jouni
I had a lot of trouble trying to make wpa_supplicant work with some USB
wireless adapters on Windows XP. One bad example is a Ralink 2500 adapter.
The association fails randomly due to timeout.

I tracked the problem in the source code and it looks like media
connect/disconnect events are not properly
received by the supplicant for this kind of adapters (it works fine with the
one embeded in the notebook
but not with the one attached on USB). The output of the supplicant contains
a lot of these messages: "NDIS: ignored event for another adapter".

In function wpa_driver_ndis_event_process() the name of the adapter from the
WMI event is compared to the
description of the adapter (obtained from winpcap?) and the event is ignored
if there is a mismatch.
The problem was found to be here; in some cases the description of the
adapter is not the same as the instance name in WMI
(depends on driver manufacturer). I propose a safer approach: modify
ndis_events.c to send the
name (UUID) of the interface (eg. {508692E1-7B72-43B7-ABBE-B2EAF2CDDCDE})
with the event instead of the
instance name from WMI, also modify wpa_driver_ndis_event_process() to make
the comparison based on interface name
instead of adapter description. The only tricky issue here is to find the
UUID of the adapter when only the instance name from the WMI event is known.
I finally managed to write the code that does this via some WMI queries.

This solved the problem entirely in my case and worked with 3 different
brands of USB wireless cards.

Has anyone experienced the same problem? Any alternative solutions?

Currently my patch is quite dirty, but I can post it if somebody is
interrested in it (maybe it can be integrated in the dev branch).

Bye
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.shmoo.com/pipermail/hostap/attachments/20060814/4bd33369/attachment.htm 


More information about the HostAP mailing list