wpa_supplicant does not work properly with some USB adapters on WinXP

Jouni Malinen jkmaline at cc.hut.fi
Mon Aug 21 14:59:17 EDT 2006


On Mon, Aug 21, 2006 at 06:43:52PM +0300, Adrian Nistor wrote:

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

Thanks! I was trying to understand the use of PNPDeviceID in the
queries. Why is the Win32_PnPEntity class needed here? Is Name property
in that class guaranteed to match with InstanceName in the events? Why
not just use Name in Win32_NetworkAdapter?

The problem for me is that I have found no documentation describing
where that InstanceName is coming from. Win32_NetworkAdapter class has
number of properties (Caption, Description, Name, ProductName) that
could be used as the source or it could be something completely
different..

I'm actually considering of doing this in the opposite order, i.e.,
mapping adapter GUID to InstanceName, i.e., something like this:

SELECT Index FROM Win32_NetworkAdapterConfiguration
    WHERE SettingID='{GUID}'

SELECT Name FROM Win32_NetworkAdapter WHERE Index=idx

This would need to be done only once and the matching of events could
actually be left to WMI since the "SELECT * FROM
MSNdis_StatusMediaConnect" type queries could actually be changed to
"SELECT * FROM MSDNdis_StatusMediaConnect WHERE InstanceName='name'"
(and that name would need to be the correct one; which could be Name
from Win32_NetworkAdapter).

In addition to limiting number of WMI queries and reducing latency for
each event, this should also simplify the interface from ndis_events.c
to driver_ndis*.c since events would be delivered only for the correct
adapter. I would just like to get confirmation on what is exact source
of InstanceName string in WMI..

-- 
Jouni Malinen                                            PGP id EFC895FA



More information about the HostAP mailing list