wpa_supplicant does not work properly with some USB adapters on WinXP

Adrian Nistor anistor at gmail.com
Mon Aug 21 11:43:52 EDT 2006


Hi,
sorry for the very late reply. In the attached ZIP file I included the
config file and the output of the supplicant that demonstrates the issue.
It is very probable that you cannot reproduce this benaviour unless you use
the same wireless card. Mine is a Sweex usb adapter based on the Ralink 2500
chipset. The issue also appeared with another 2 USB adapters from other
manufacturers.

I also included in the ZIP the two source files I modified in order to fix
the defect. The sources are based on the snapshot published in 8-Aug-2006.

I managed to clean up a little the code changes and I hope they are suitable
for inclusion in the dev branch. Thank you!

Bye

On 8/14/06, Jouni Malinen <jkmaline at cc.hut.fi> wrote:
>
> On Mon, Aug 14, 2006 at 11:13:47AM +0300, Adrian Nistor wrote:
>
> > 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".
>
> Could you please send a wpa_supplicant debug file showing this?
>
> > 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).
>
> Yes, I'm aware of this issue, but have not found an easy fix for it so
> far (or well, have not been motivated enough to search for one since I
> don't have a card that triggers this behavior ;-).
>
> > 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.
>
> This is indeed what I would have wanted to do..
>
> > 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.
>
> That's great to hear!
>
> > Has anyone experienced the same problem? Any alternative solutions?
>
> Probably someone has. I haven't of alternative solutions and anyway,
> what you described above sounds like the best solution (well, assuming
> the changes in WMI code were not horrible).
>
> > 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).
>
> Please do post it. If needed, I can clean it up,  but anyway, I want to
> get it merged into the development branch.
>
> --
> Jouni Malinen                                            PGP id EFC895FA
> _______________________________________________
> HostAP mailing list
> HostAP at shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.shmoo.com/pipermail/hostap/attachments/20060821/ab4b27d3/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wpa_supplicant_files.zip
Type: application/zip
Size: 10906 bytes
Desc: not available
Url : http://lists.shmoo.com/pipermail/hostap/attachments/20060821/ab4b27d3/attachment.zip 


More information about the HostAP mailing list