none
Windows HLK - "PNP Rebalance Fail Restart Device Test" fails for our NDIS Miniport Adapter RRS feed

  • Question

  • Hello from Germany,

    I am testing our NDIS 6.2 Miniport Driver, which runs a PCIx busmaster ethernet adapter.
    The miniport driver is running successfully in production since several years.

    Testenvironment is Windows HLK, Ver. 10.0.26624, test target OS is Windows 10, 64 Bit.

    The "PNP Rebalance Fail Restart Device Test" fails.


    The name of our NDIS Miniport adapter is "SIMATIC Miniport CP1623 PCIe Adapter".
    The name of the Miniport Driver driver is "CP1623_Miniport.sys".


    The typical (abbreviated) trace, when starting our adapter is:

    CP1623_Miniport.sys: 0: WDM162X(DriverEntry): Start,
    CP1623_Miniport.sys: 0: WDM162X(DriverEntry): End, status: 0x0
    CP1623_Miniport.sys: 0: WDM162X(MP162XInitializeEx): Start
    CP1623_Miniport.sys: 1: WDM162X(MP162XInitializeEx): End, status: 0x0

    Typical (abbreviated) trace, when stopping our adapter is:
     
    CP1623_Miniport.sys: 1: WDM162X(MP162XPause): Start, NDIS_PAUSE_NDIS_INTERNAL
    CP1623_Miniport.sys: 1: WDM162X(MP162XPause): End, status=0x0
    CP1623_Miniport.sys: 1: WDM162X(MP162XHaltEx): Start (nBusyReceives=0, nReceiveBuffersBusy=0, nNBLsNotCompleted=0, nQueriesActuallyRunning=0, nSetsActuallyRunning=0)
    CP1623_Miniport.sys: 1: WDM162X(MP162XHaltEx): End
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): Start
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): End

    When the "PNP Rebalance Fail Restart Device Test" starts, our adapter is running.
    The adapter is then stopped successfully from the test:
     
    WDTF_PNP                  :  - EDTTryStopDeviceFailRestart()
    WDTF_PNP                  :          Target: SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5
    CP1623_Miniport.sys: 1: WDM162X(MP162XPause): Start, NDIS_PAUSE_NDIS_INTERNAL
    CP1623_Miniport.sys: 1: WDM162X(MP162XPause): End, status=0x0
    CP1623_Miniport.sys: 1: WDM162X(MP162XHaltEx): Start (nBusyReceives=0, nReceiveBuffersBusy=0, nNBLsNotCompleted=0, nQueriesActuallyRunning=0, nSetsActuallyRunning=0)
    CP1623_Miniport.sys: 1: WDM162X(MP162XHaltEx): End
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): Start
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): End


    After that, the test tries to restart our adapter and reports an error:
     
    CP1623_Miniport.sys: 0: WDM162X(DriverEntry): Start,
    CP1623_Miniport.sys: 0: WDM162X(DriverEntry): End, status: 0x0
    Driver Verifier: Enabled for MSDMFilt.sys, flags 0x209bb, build 10240, key Qybdk9rb7hcNWEqzREuMWC
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): Start
    CP1623_Miniport.sys: 0: WDM162X(DriverUnload): End
    WDTF_PNP                  :  - RescanParentDevice()
    WDTF_PNP                  :          Target: SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5
    Error: WDTF_PNP                  :          Result:   Successful , but device not started, ( Status=1802400 (DN_HAS_PROBLEM DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER ) Problem=a (CM_PROB_FAILED_START) )..
    WDTF_TARGETS              :  - GetInterfacesIfExist("ConcurrentIO")
    WDTF_TEST                 : Querying for devices to test I/O on during the test
    WDTF_TARGETS              :  - Query("IsDevice")
    WDTF_TARGETS              :          Target: SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5
    WDTF_TARGETS              :  - GetRelations("below-or-self/","IsDevice")
    WDTF_TARGETS              :          Target: SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5
    WDTF_TARGETS              :  - GetInterfacesIfExist("SimpleIOStressEx")
    WDTF_SIMPLE_IO            :  - For Target:SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5  no Simple IO Interface was found.
    WDTF_SIMPLE_IO            :  - For Target:SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5  WDTF will use the ANY Simple IO Interface.
    WDTF_TARGETS              :          Target: SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5
    WDTF_SIMPLEIO_STRESS      :  - Start(SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5 )
    Error: WDTF_SIMPLE_IO            :  - Open(SIMATIC Miniport CP1623 PCIe Adapter PCI\VEN_1957&DEV_0085&SUBSYS_4046110A&REV_30\5&12E636F6&0&2000E5 ) Failed : Device is reporting a problem code (Status Flags=0x1802400 (DN_HAS_PROBLEM DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER) Problem Code=a (CM_PROB_FAILED_START)) HRESULT=0x80004005
    Error: WDTF_SIMPLE_IO            :          Device Status: Status Flags=0x1802400 (DN_HAS_PROBLEM DN_DISABLEABLE DN_NT_ENUMERATOR DN_NT_DRIVER) Problem Code=a (CM_PROB_FAILED_START)


    I have no idea, why our DriverEntry is called successfully here, but then no InitializeEx function is called in order to start our adapter.


    The complete trace and the WHLK log file can be downloaded here:

    http://www.SoftwareOption.de/WHLK/PNPRebalanceFailRestartDeviceTest/DF-PNPRebalanceFailRestartDeviceTestTrace.txt
    http://www.SoftwareOption.de/WHLK/PNPRebalanceFailRestartDeviceTest/DF-PNPRebalanceFailRestartDeviceTest.wtl


    Has anyone any idea?

    Thanks a lot !

    Carsten

    Monday, August 17, 2015 7:26 AM