none
Propagation of new device PNP event to NDIS RRS feed

  • Question

  • Hi,

    I'm experiencing some issues with device start. The PNP event doesn't seem to be propagating to the NDIS on some occasions.

    I've extracted WPP logs from good and bad runs - pasted below (with identification params omitted). 

    Good run:

    Microsoft_Windows_Kernel_PnP	Begin processing new device (0xXXXXX)	
    Microsoft_Windows_Kernel_PnP	Processing device MyDeviceHWid (0xXXXXX)	
    Microsoft_Windows_Kernel_PnP	End processing new device ((0xXXXXX)
    Microsoft_Windows_Kernel_PnP	Begin loading driver MyDriverName
    Microsoft_Windows_Kernel_PnP	Begin calling driver initialization routine for driver RegistryPathToMydriver	
    WPP	MyDriverEntry	
    WPP	Call to SetOptions	
    WPP	MyDriverEntryExit	
    Microsoft_Windows_Kernel_PnP	End calling driver initialization routine for driver RegistryPathToMydriver. Status: 0	
    Microsoft_Windows_Kernel_PnP	End loading driver \Driver\MyDriverName.  Status: 0	
    Microsoft_Windows_Kernel_PnP	Begin device add operation for driver \Driver\MyDriverName, device MyDeviceHWid	
    Microsoft_Windows_NDIS	Add PnP Device: \Device\{MyDeviceGuid}	
    Microsoft_Windows_NDIS	Add Device MyDeviceNameString	
    Microsoft_Windows_NDIS	Interface change notification, interface IfType 0x00000006, NetLuid index 0x0000000000008004	
    Microsoft_Windows_NDIS	Interface change notification, interface IfType 0x00000006, NetLuid index 0x0000000000008004	
    Microsoft_Windows_NDIS	Miniport MyDeviceNameString, Guid, had event DeviceAdded: NDIS has successfully processed the enumeration of the miniport's hardware node	
    Microsoft_Windows_Kernel_PnP	End device add, status (STATUS_SUCCESS (0x0))	

    Bad run:

    Microsoft_Windows_Kernel_PnP	Begin processing new device (0xXXXXX)	
    Microsoft_Windows_Kernel_PnP	Processing device MyDeviceHWid (0xXXXXX)	
    Microsoft_Windows_Kernel_PnP	Reenumeration of device tree below ACPI\PNPXXXX\1 has been queued.	
    Microsoft_Windows_Kernel_PnP	End processing new device (0xXXXXX)	
    Microsoft_Windows_Kernel_PnP	Begin loading driver MyDriverName
    Microsoft_Windows_Kernel_PnP	Begin calling driver initialization routine for driver RegistryPathToMydriver	
    WPP	MyDriverEntry	
    WPP	Call to SetOptions	
    WPP	MyDriverEntryExit	
    Microsoft_Windows_Kernel_PnP	End calling driver initialization routine for driver RegistryPathToMydriver. Status: 0	
    Microsoft_Windows_Kernel_PnP	End loading driver \Driver\MyDriverName.  Status: 0	
    Microsoft_Windows_Kernel_PnP	Begin device add operation for driver \Driver\MyDriverName, device MyDeviceHWid	
    Microsoft_Windows_Kernel_PnP	End device add, status (STATUS_SUCCESS (0x0))	

    In the bad run there is no invocation of NDIS add device handler and obviously no call to MiniportInitializeEx as a consequence. The only additional difference I see is this entry in the bad log is this:

    Reenumeration of device tree below ACPI\PNPXXXX\1 has been queued


    So basically my question is what conditions should hold for the NDIS add device handler to be triggered?

    Thursday, November 2, 2017 10:50 AM

All replies

  • I don’t think has anything to do with ndis. Looks like acpi can’t enumerate the device. I would investigate acpi logs

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, November 2, 2017 3:35 PM
  • I don’t think has anything to do with ndis. Looks like acpi can’t enumerate the device. I would investigate acpi logs

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    I didn't think it's NDIS issue, just assumed it misses some trigger (which I'm not aware of). So if ACPI is the place to dig into on such occasions, I'll check it, thanks.
    Thursday, November 2, 2017 3:59 PM