Skip to main content

 none
WDI Driver Stops Initialization after OID_WDI_SET_ADAPTER_CONFIGURATION RRS feed

  • Question

  • Hi,

    I have a WDI driver that won't pass initialization. according to this msdn page, the WDI framework performs the following:

    After MiniportWdiOpenAdapter, the Microsoft component sends the following tasks/properties/calls to the IHV miniport.
    a. Call MiniportWdiTalTxRxInitialize to initialize the data path and exchange handlers.
    b. Call OID_WDI_GET_ADAPTER_CAPABILITIES to get the adapter’s capabilities.
    c. Call OID_WDI_SET_ADAPTER_CONFIGURATION to configure the adapter.
    d. Call OID_WDI_TASK_SET_RADIO_STATE to set the initial radio state if it is not already in the expected state.
    e. Call MiniportWdiTalTxRxStart to set up the data path.
    f. Call OID_WDI_TASK_CREATE_PORT to create the initial port.

    I'm able to receive a, b and c. d is optional so I'm not sure if I should expect it. e and f never comes. following c is a MiniportWdiTalTxRxDeinitialize and the rest of cleanup.

    I'm wondering what is WDI or NDIS verifying between step c and e? So I can narrow down the problem and try to find a solution.

    Thanks in advance!

    Max

    Saturday, June 25, 2016 12:08 AM

All replies

  • Here is the WPP trace. Looks like the error is related to NDIS_ERROR_NETWORK_ADDRESS.

    Before the Error log entry, there's an attempt to read registry for the network address, is this where it fails?

    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>NdisMSetMiniportAttributes : Miniport FFFFE001EB7B71A0, AttributeType 9e
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>NdisMSetAttributesEx: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetupLwfMiniportHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetupNoFilterHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetupNoFilterHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetupLwfMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetupLwfMiniportHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]==>ndisSetupNoFilterHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetupNoFilterHandlers : Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetupLwfMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==ndisSetMiniportHandlers: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==NdisMSetAttributesEx: Miniport FFFFE001EB7B71A0
    [1]0004.1428::06/24/2016-16:57:53.028 [mp]<==NdisMSetMiniportAttributes : Miniport FFFFE001EB7B71A0, AttributeType 9e, Status 0
    [0]1040.10A8::06/24/2016-16:57:53.029 [mp]NdisSetTimerObject: NDIS Object FFFFE001EC3EAAE0, Timer FFFFE001EC4AF740, DueTime 0ms, Period 0
    [1]0004.1428::06/24/2016-16:57:53.030 [mp]>Begin miniport's native OidRequestHandler. Miniport=FFFFE001EB7B71A0, Oid=0xe4400025
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<End miniport's native OidRequestHandler.   Miniport=FFFFE001EB7B71A0, Oid=0xe4400025, Status=0x00000000
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]==>NdisOpenConfigurationEx: ConfigObject FFFFD001CEE48868
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]==>NdisOpenConfiguration: WrapperConfigurationContext FFFFE001EDBA5A30
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<==NdisOpenConfiguration: WrapperConfigurationContext FFFFE001EDBA5A30
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<==NdisOpenConfigurationEx: ConfigObject FFFFD001CEE48868, Status 0
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]==>NdisReadNetworkAddress: ConfigurationHandle FFFFE001F3E756A0
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]==>NdisReadConfiguration: Keyword: NetworkAddress
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<==NdisReadConfiguration
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<==NdisReadNetworkAddress: ConfigurationHandle FFFFE001F3E756A0
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]==>NdisCloseConfiguration: ConfigurationHandle FFFFE001F3E756A0
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]<==NdisCloseConfiguration: ConfigurationHandle 0000000000000000
    [1]0004.1428::06/24/2016-16:57:53.031 [mp]>Begin miniport's native OidRequestHandler. Miniport=FFFFE001EB7B71A0, Oid=0xe4400055
    [0]0F98.0F9C::06/24/2016-16:57:53.033 [mp]NdisSetTimerObject: NDIS Object FFFFE001EC3EAAE0, Timer FFFFE001EC4AF740, DueTime 0ms, Period 0
    [1]0004.1428::06/24/2016-16:57:53.034 [mp]<End miniport's native OidRequestHandler.   Miniport=FFFFE001EB7B71A0, Oid=0xe4400055, Status=0x00000000
    [1]0004.1428::06/24/2016-16:57:53.034 [mp]==>NdisWriteErrorLogEntry: Miniport FFFFE001EB7B71A0, ErrorCode c0001390
    [1]0004.1428::06/24/2016-16:57:53.034 [mp]<==NdisWriteErrorLogEntry: Miniport FFFFE001EB7B71A0, ErrorCode c0001390
    [3]0004.15BC::06/24/2016-16:57:53.034 [mp]==>NdisCloseConfiguration: ConfigurationHandle FFFFE001F480B7B0
    [3]0004.15BC::06/24/2016-16:57:53.034 [mp]<==NdisCloseConfiguration: ConfigurationHandle 0000000000000000
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]==>NdisOpenConfigurationEx: ConfigObject FFFFD001CE2D4810
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]==>NdisOpenConfiguration: WrapperConfigurationContext FFFFE001EDBA5A30
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]<==NdisOpenConfiguration: WrapperConfigurationContext FFFFE001EDBA5A30
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]<==NdisOpenConfigurationEx: ConfigObject FFFFD001CE2D4810, Status 0
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]==>NdisWriteConfiguration: ConfigurationHandle FFFFE001EC9E0570
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]<==NdisWriteConfiguration: ConfigurationHandle FFFFE001EC9E0570
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]==>NdisWriteConfiguration: ConfigurationHandle FFFFE001EC9E0570
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]<==NdisWriteConfiguration: ConfigurationHandle FFFFE001EC9E0570
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]==>NdisCloseConfiguration: ConfigurationHandle FFFFE001EC9E0570
    [0]0004.0CA4::06/24/2016-16:57:53.034 [mp]<==NdisCloseConfiguration: ConfigurationHandle 0000000000000000
    [0]0004.15BC::06/24/2016-16:57:53.035 [mp]<End miniport's InitializeHandlerEx.   Miniport=FFFFE001EB7B71A0, Driver=FFFFE001F48607D0, Staus=0xc0000001
    [0]0004.15BC::06/24/2016-16:57:53.035 [mp]ndisMInitializeAdapter: Miniport FFFFE001EB7B71A0, InitializeHandler returned c0000001

    Saturday, June 25, 2016 12:10 AM
  • according to this msdn pageNdisReadNetworkAddress function is called to look for the mac address in the registry under param. Is this a mandatory requirement for WDI miniport drivers?
    Saturday, June 25, 2016 12:43 AM
  • Just try to return some made-up address, and see it this helps...

    Sunday, June 26, 2016 11:29 AM
  • Thanks for the advice! The read address operation is performed by NDIS on the registry. I tried initializing the registry by adding an entry in the inf file, but the error remains the same...
    Monday, June 27, 2016 10:40 PM
  • Were you able to resolve the issue ? I'm facing exact same issue with c0001390 status error code ..

    One thing I noticed was NdisMSetMiniportAttributes was getting invoked before OID requests start coming in and this is where the NDIS permanent address gets configured and since there is no value configured at this stage?

    Wednesday, May 17, 2017 12:24 PM
  • FYI .. Looks like WDI_TLV_DATAPATH_ATTRIBUTES (and some other "optional" attributes) needs to be passed during OID_WDI_GET_ADAPTER_CAPABILITIES.
    Monday, June 12, 2017 3:57 AM
  • They are optional, should we register them.


    Thursday, October 24, 2019 10:00 AM
  • Facing the same problem, can anyone suggest a solution.
    Thursday, October 24, 2019 10:01 AM
  • Thank You,

    This Helped me

    Thursday, October 24, 2019 12:49 PM
  • In create port i am getting create port parameters as null, why i couldn't understand.
    Friday, November 15, 2019 5:24 AM