<font size="2"><font size="2">
<p>Hi,</p>
<p>I am trying to port the WPA supplicant for the WinCE platform, since there is no Official version</p>
<p>available on the site.</p>
<p>I have compiled the WPA supplicant, using the defns &quot;_WIN32_WCE&quot; and the &quot;CONFIG_USE_NDISUIO&quot;.</p>
<p>I see the code is split for Win32 and WinCE. Correct me if I am wrong, the WinCE sections make use of </p>
<p>the NDISUIO calls and the Win32 sections use the WinPCAP and WMI calls. </p>
<p>When I run the code wpa_supplicant.exe on the WinCE,</p>
<p>In the function wpa_driver_ndis_init(), the call to the function wpa_driver_ndis_adapter_open(), </p>
<p>the DeviceIoControl() call with the param IOCTL_NDISUIO_OPEN_DEVICE fails giving the following error:-</p>
<p>&quot;IOCTL_NDISUIO_OPEN_DEVICE failed: 31&quot;</p>
<p>It looks the NDISUIO does not allow two apps to perform the open device on a Adpater at same time.</p>
<p>And when the WZC is active the native Windows Supplicant automatically gets the access first to </p>
<p>the adapter, leaving the other apps no access or control ??? (this is my guess)</p>
<p>I tried disabling the WZC, it doesn&#39;t work either, I am assuming the NDISUIO calls to the WiFi Adapter </p>
<p>requires that the WZC be active. </p>
<p>How to get pass this error, should we disable the native windows supplicant(if yes, How?) to run the </p>
<p>wpa supplicant?</p>
<p>Is there any other missing step. I am using HP IPAQ (Windows Mobile 5.0, Smartphone edition).</p>
<p>For the WPA supplicant port to the WinCE, are there any additional steps or instructions.</p>
<p>The following is the full log:-</p>
<p>==============================================================================================================</p>
<p>Initializing interface &#39;HPWIFIDVR1&#39; conf &#39;wpa_supplicant.conf&#39; driver &#39;default&#39; ctrl_interface &#39;N/A&#39; bridge &#39;N/A&#39;</p>
<p>Reading configuration file &#39;wpa_supplicant.conf&#39;</p>
<p>Line: 2 - start of a new network block</p>
<p>ssid - hexdump_ascii(len=6):</p>
<p>73 79 6d 62 6f 6c symbol </p>
<p>key_mgmt: 0x1</p>
<p>eap methods - hexdump(len=16): 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00</p>
<p>phase2 - hexdump_ascii(len=13):</p>
<p>61 75 74 68 3d 4d 53 43 48 41 50 56 32 auth=MSCHAPV2 </p>
<p>identity - hexdump_ascii(len=8):</p>
<p>74 65 6d 70 75 73 65 72 tempuser </p>
<p>password - hexdump_ascii(len=7): [REMOVED]</p>
<p>Priority group 0</p>
<p>id=0 ssid=&#39;symbol&#39;</p>
<p>Initializing interface (2) &#39;HPWIFIDVR1&#39;</p>
<p>EAPOL: SUPP_PAE entering state DISCONNECTED</p>
<p>EAPOL: KEY_RX entering state NO_KEY_RECEIVE</p>
<p>EAPOL: SUPP_BE entering state INITIALIZE</p>
<p>EAP: EAP entering state DISABLED</p>
<p>EAPOL: External notification - portEnabled=0</p>
<p>EAPOL: External notification - portValid=0</p>
<p>*** wpa_driver_ndis_init() ***</p>
<p>*** IFNAME : HPWIFIDVR1 ***</p>
<p>NDIS: 0 - WWAN1 - WWAN1</p>
<p>NDIS: 1 - HPWIFIDVR1 - hpwifidvr1</p>
<p>NDIS: Interface name match</p>
<p>NDIS: Adapter description prefix &#39;hpwifidvr1&#39;</p>
<p>*** wpa_driver_ndis_set_wzc for WINCE ***</p>
<p>NDIS: Disabled WZC temporarily</p>
<p>*** wpa_driver_ndis_rebind_adapter for WINCE ***</p>
<p>NDIS: Requested NDIS rebind of NDISUIO protocol</p>
<p>*** wpa_driver_ndis_adapter_open ***</p>
<p>*** drv-&gt;ifname : HPWIFIDVR1 - IFNAME : HPWIFIDVR1 ***</p>
<p>NDIS: IOCTL_NDISUIO_OPEN_DEVICE failed: 31</p>
<p>NDIS: ifname - hexdump_ascii(len=20):</p>
<p>48 00 50 00 57 00 49 00 46 00 49 00 44 00 56 00 H_P_W_I_F_I_D_V_</p>
<p>52 00 31 00 R_1_ </p>
<p>Failed to initialize driver interface</p>
<p>Failed to add interface HPWIFIDVR1</p>
<p>Cancelling scan request</p>
<p>Cancelling authentication timeout</p>
<p>==============================================================================================================</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></font></font>