<span class="gmail_quote"></span>
<div>
<p>Hi all, Jouni</p>
<div>I had&nbsp;a lot of trouble trying to make wpa_supplicant work with some USB wireless adapters on Windows XP. One&nbsp;bad example is a Ralink 2500 adapter. The association fails randomly due to timeout.</div>
<div>&nbsp;</div>
<div>I tracked the problem in the source code and it looks like media connect/disconnect events are not properly <br>received by the supplicant for this kind of adapters (it works fine with the one embeded in the notebook 
<br>but not with the one attached on USB). The output of the supplicant contains a lot of these messages: &quot;NDIS: ignored event for another adapter&quot;.</div>
<p>In function wpa_driver_ndis_event_process() the name of the adapter from the WMI event is compared to the <br>description of the adapter (obtained from winpcap?) and the event is ignored if there is a mismatch. </p>
<div>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&nbsp;<br>(depends on driver manufacturer). I propose a safer approach: modify ndis_events.c to send the 
<br>name (UUID) of the interface (eg. {508692E1-7B72-43B7-ABBE-B2EAF2CDDCDE}) with the event instead of the <br>instance name from WMI, also modify wpa_driver_ndis_event_process() to make the comparison based on interface name 
<br>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. 
</div>
<div><br>This solved the problem entirely in my case and worked with 3 different brands of USB wireless cards.</div>
<p>Has anyone experienced the same problem? Any alternative solutions?</p>
<p>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). </p>
<p>Bye</p></div>