none
How to detect the completion of Wi-Fi driver loading? RRS feed

  • Question

  • Hi all,

    Our platform has a Wi-Fi module and their drivers (a WiFi binary driver and it's low level open-source SSP driver).

    I disable SSP driver when battery level is low. It works successfully when the WinCE system is open. But ndis driver has thrown an exception if the battery is low on startup because the disable operation of SSP driver is starting while wi-fi driver is loading independently. Is there an IOCTL code or else receiving on the completion of Wi-Fi driver loading?

    Thanks a lot for your helps and explanations,

    Yasemin



    Monday, December 19, 2011 2:59 PM

Answers

  • you should be able to use IOCTL_NDISUIO_REQUEST_NOTIFICATION and wait for a

    NDISUIO_NOTIFICATION_ADAPTER_ARRIVAL for the specific adapter before run the offending code in the SSP driver.

    for IOCTL_NDISUIO_REQUEST_NOTIFICATION see http://msdn.microsoft.com/en-us/library/ms905030.aspx

    you can see some usage sampes for IOCTL_NDISUIO_REQUEST_NOTIFICATION in:

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\CONNMC\connmc.cpp

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\ETHMAN\ethman.c

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\NDISPWR\ndispwr.c


    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom www.eurotech.com Check my blog: http://lcalligaris.wordpress.com
    • Marked as answer by yaseminyilmaz Wednesday, December 21, 2011 3:10 PM
    Monday, December 19, 2011 3:17 PM

All replies

  • you should be able to use IOCTL_NDISUIO_REQUEST_NOTIFICATION and wait for a

    NDISUIO_NOTIFICATION_ADAPTER_ARRIVAL for the specific adapter before run the offending code in the SSP driver.

    for IOCTL_NDISUIO_REQUEST_NOTIFICATION see http://msdn.microsoft.com/en-us/library/ms905030.aspx

    you can see some usage sampes for IOCTL_NDISUIO_REQUEST_NOTIFICATION in:

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\CONNMC\connmc.cpp

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\ETHMAN\ethman.c

    %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\NETSAMP\NDISPWR\ndispwr.c


    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom www.eurotech.com Check my blog: http://lcalligaris.wordpress.com
    • Marked as answer by yaseminyilmaz Wednesday, December 21, 2011 3:10 PM
    Monday, December 19, 2011 3:17 PM
  • Thanks Luca Calligaris,

    I've added the notification request to Wi-Fi SSP driver (SHC_Init). ERROR_DEV_NOT_EXIST (55) is returned from CreateFile (UIO1). I suppose this call is before the loading of NDISUIO driver.  Which stage has NDISUIO been loaded in SSP driver initialization (SDInitialize, SDHCSlotOptionHandler, ..)?

    Wednesday, December 21, 2011 10:52 AM
  • The problem has been solved after I've set the "Order" registry value of Wi-Fi SSP driver to a higher value than NDISUIO driver in project.reg. Also I want to say the handle of NDISUIO driver should not be closed before the message processing.

    Thanks Luca Calligaris

    Wednesday, December 21, 2011 3:10 PM