none
SDIO based Ndis6.2 Wi-Fi driver Disabling in WEC7 RRS feed

  • Question

  • Hai All,

    We have developed WEC7 WIFI driver for Freescale platform. 

    I was able to connect to an access point and do a ping. 

    Now i am facing a problem in disabling my Wi-Fi adapter.

    If you go to Network and Dial up connections, I can see Ethernet and My Wi-Fi adapter icons. If you right click on the WIFI adapter, there we can disable/Enable the adapter. By default, it will be enabled. If i am trying to disable it by right clicking on the WIFI adapter icon and click Disable, it will hang. Suppose i restarted the board, the WIFI adapter will not initialize at all. I cannot see the WIFI adapter icon in  Network and Dial up connections. Since i am booting from SD card, if i will re-flash the images(NK.nb0 and eboot) i will get my Network adapter icon again.

    The interesting thing is if i will do the same operation say enabling and disabling with Ethernet, it will work properly. I am confused where to debug this. May be we may have to add something in platform.reg.?

    If anyone faced similar kind of issue, or any suggestions or inputs on the issue is highly appreciated.

    Thanks & Regards

    Dha

    Thursday, January 30, 2014 8:42 AM

All replies

  • The best way to approach this is to understand what "disable" means. I don't have much experience with WCE7 but the general pattern in the past is that choosing Disable from the menu first sends IOCTL_NDIS_UNBIND_ADAPTER to the adapter (disconnect from all protocols and from the hardware), then checks power support and turns off adapter power if the adapter supports it. Then it sets a disable bit in the adapter's registry path.

    The best way to understand what happens is to review the system code that implements the Disable operation. In the past this was in the Connection Manager applet (source available). Check for the same in your CE7 install by searching for "UNBIND_ADAPTER". Once you find it, you should be able to write a program repeating the same steps allowing kernel debug of your adapter's misbehavior.

    Paul T.

    Friday, February 7, 2014 5:18 PM
  • Hi,

    Power OID - OID_PNP_SET_POWER has to be handles properly for various power states. If mini-port driver is not able to handle the this OID, NDIS simply unloads the driver and marks it as incapable miniport driver and user cannot load the driver until unless clear the registry HKLM,Comm\NdisPower, "Adapterxxx1"=dword:4.

    If the above key remains in system registry, NDIS will never load the driver.  So pls try to handle the PNP_SET_POWER carefully, if we return fail to this OID, NDIS adds the above entry and driver will be never loaded.

    Thanks

    Srinivas Reddy. CH.


    Srinivas Reddy. CH

    • Proposed as answer by mrchsreddy Thursday, July 26, 2018 5:46 AM
    Friday, May 2, 2014 7:19 AM
  • Thanks for your reply Srinivas.

    We have already solved this issue. :)

    Friday, May 2, 2014 7:36 AM
  • Can you pls post the solution here for reference...

    Srinivas Reddy. CH

    Friday, May 2, 2014 7:43 AM