wpa_supplicant does not work properly with some USB adapters on WinXP
Jouni Malinen
jkmaline
Tue Aug 22 19:38:20 PDT 2006
On Tue, Aug 22, 2006 at 05:55:40PM +0300, Adrian Nistor wrote:
> The suggestion to ignore the #Number suffix is not very nice because this
> will make it impossible to have two identical adapters connected to a
> computer. As I said previously, this is exactly my case :-).
I meant that it would only be ignored for adapter arrival/removal
notifications. Other notifications would still match the full name.
> A Win32_PnPEntity instance exists for every adapter, even for those that
> are not removable, even for legacy devices.
OK, that should make this easier.
> There is no need for very complex handling of the cases when the adapter is
> added/removed.
Maybe not explicit need, but I think I prefer this would be done at the
point when the adapter name could be changing, not at the point that a
new event is received.
> Here is how I implemented it:
>
> 1. Find the Index of the adapter, knowing only the ifname (GUID)
> SELECT Index FROM Win32_NetworkAdapterConfiguration WHERE
> SettingID='{bla bla bla}'
> This will always work, no fallback based on adapter description is
> needed.
This is the first step in the current devel branch.
> 2. Register for async events on MSNdis_StatusMediaConnect,
> MSNdis_StatusMediaDisconnect, ... WITHOUT using a filter. The event will be
> filtered later when it is received.
I think this needs to be done at least for adapter arrival/removal, but
I would prefer to use proper filter for other events.
> 3. When the event is received, look for the Win32_PnPEntity with the Name
> equal to the InstanceName of the event, get its PNPDeviceId, get the
> Win32_NetworkAdapter which has this PNPDeviceId. Compare the Index attribute
> of the found Win32_NetworkAdapter with the index obtained in step 1. If they
> match, the event is for the right adapter, otherwise drop it.
> This works because the Index of an adapter is assigned to it when its driver
> is first installed on the system and it never changes, even if the device is
> unplugged/plugged or disabled/enabled.
I would like to move this to happen at startup and whenever a new
adapter is added and not when a new media connect/disconnect is
received.
> So this solution works even in the case when the adapter is removed/added
> but it is not as efficient as the one you implemented ;-).
>
> Anyway, I hope you will choose an approach that will support the 'two
> identical usb adapters scenario'.
This is certainly the goal, I would go as far as saying the requirement,
for the implementation. I just don't have any USB devices to test this
with, so I may have to rely on your description here and external
testing.. I can try testing this with cardbus cards, but I think they
behave somewhat differently from USB cards.
--
Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list