PnpMgr: Non-NULL resource requirements list filtered to NULL

Hi group,

I’m having problems installing a WDM driver on XP SP1a

After add driver returns successfullly the driver receives (amongst other
things) two successive IRP_MN_FILTER_RESOURCE_REQUIREMENTS requests which
the driver dutifully passes down the stack.

Using XP pro SP1A checked build I see the following message in WinDbg after
the second one…

PnpMgr: Non-NULL resource requirements list filtered to NULL

and subsequently the driver fails to install with code 10.

This does not occur on earlier versions of 2000 or XP. Can anyone point me
in the direction of debugging this problem?

Do I have to be explict now and specify in the INF file exactly which
resources I can accept?

Thanks,

Jack.

Do you change the status of the irp before sending it down the stack?
Also, set a completion routine and compare the results on the way down
the stack vs up the stack.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jack Heeley
Sent: Friday, February 04, 2005 8:20 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] PnpMgr: Non-NULL resource requirements list filtered to
NULL

Hi group,

I’m having problems installing a WDM driver on XP SP1a

After add driver returns successfullly the driver receives (amongst
other
things) two successive IRP_MN_FILTER_RESOURCE_REQUIREMENTS requests
which
the driver dutifully passes down the stack.

Using XP pro SP1A checked build I see the following message in WinDbg
after
the second one…

PnpMgr: Non-NULL resource requirements list filtered to NULL

and subsequently the driver fails to install with code 10.

This does not occur on earlier versions of 2000 or XP. Can anyone point
me
in the direction of debugging this problem?

Do I have to be explict now and specify in the INF file exactly which
resources I can accept?

Thanks,

Jack.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Doron,

No, I don’t change the status (I figure from my reading of the DDK that I
shouldn’t in the case where I’m doing nothing with
the Irp). I just copy the stack and call the next driver.

But the initial status in this IRP is C00000001 i.e. STATUS_UNSUCCESSFUL in
place of STATUS_NOT_SUPPORTED
(0xC00000BB) as the PnP Design Guide leads me to believe it should be. Or am
I wrong there?

The resources themselves are also pretty freaky when presented (296
resource descriptor lists, and not at all like
what the device asks for).

So it seems like something has broken rather earlier in the process?

I notice also from the stack location count there’s a filter down below me
which wasn’t there in W2K when I last tested this driver.
I don’t know if this is coincident and related (the problem began at XP
SP1).

BUT…

I have managed to get the driver to “work” temporarily by installing my
driver (letting it fail), then using the device manager to
uninstall it and scan for hardware changes (without removing the PCMCIA
card). I can then install with “have disk” option.

In this case I DO get a working device (but only until next reboot, or until
it is removed and reinserted).

The resources should be (e.g. start device after following the procedure
above, trace out as follows) …

ResourceListRaw (returned at StartDevice)…

  1. resource descriptor list(s) returned
    [0] Version 0x0
    [0] Revision 0x0
    [0] Partial Resource Descriptors 4.
    [0] Type 0x2 (CmResourceTypeInterrupt)
    [0] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [0] Flags 0x1
    [0] Raw 0x7 7 ffffffff
    [0] latched interrupt at lvl 0x7 vector 0x7 affinity 0xffffffff
    [1] Type 0x3 (CmResourceTypeMemory)
    [1] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [1] Flags 0x0
    [1] Raw 0xffdf7000 0 1000
    [1] r/w memory starting at 0xffdf7000 length 0x1000
    [2] Type 0x3 (CmResourceTypeMemory)
    [2] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [2] Flags 0x0
    [2] Raw 0xffdf8000 0 4000
    [2] r/w memory starting at 0xffdf8000 length 0x4000
    [3] Type 0x81 (CmResourceTypeDevicePrivate)
    [3] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [3] Flags 0x0
    [3] Raw 0x10004 30000000 3000c000
    [3] Device Private data 0x10004 0x30000000 0x3000c000
    [1] ***** End dump ******
    ResourceListTranslated (returned at StartDevice)…
  2. resource descriptor list(s) returned
    [0] Version 0x0
    [0] Revision 0x0
    [0] Partial Resource Descriptors 4.
    [0] Type 0x2 (CmResourceTypeInterrupt)
    [0] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [0] Flags 0x1
    [0] Raw 0x14 37 1
    [0] latched interrupt at lvl 0x14 vector 0x37 affinity 0x1
    [1] Type 0x3 (CmResourceTypeMemory)
    [1] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [1] Flags 0x0
    [1] Raw 0xffdf7000 0 1000
    [1] r/w memory starting at 0xffdf7000 length 0x1000
    [2] Type 0x3 (CmResourceTypeMemory)
    [2] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [2] Flags 0x0
    [2] Raw 0xffdf8000 0 4000
    [2] r/w memory starting at 0xffdf8000 length 0x4000
    [3] Type 0x81 (CmResourceTypeDevicePrivate)
    [3] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
    [3] Flags 0x0
    [3] Raw 0x10004 30000000 3000c000
    [3] Device Private data 0x10004 0x30000000 0x3000c000
    [1] ***** End dump ******

…and the driver works until reboot (or until removal and reinsertion).
Does this give you any further clues?

I’m suspicious about the support in SP1 for the last item (Device Private
data).

Thanks for the help,

Jack.

“Doron Holan” wrote in message
news:xxxxx@ntdev…
Do you change the status of the irp before sending it down the stack?
Also, set a completion routine and compare the results on the way down
the stack vs up the stack.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jack Heeley
Sent: Friday, February 04, 2005 8:20 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] PnpMgr: Non-NULL resource requirements list filtered to
NULL

Hi group,

I’m having problems installing a WDM driver on XP SP1a

After add driver returns successfullly the driver receives (amongst
other
things) two successive IRP_MN_FILTER_RESOURCE_REQUIREMENTS requests
which
the driver dutifully passes down the stack.

Using XP pro SP1A checked build I see the following message in WinDbg
after
the second one…

PnpMgr: Non-NULL resource requirements list filtered to NULL

and subsequently the driver fails to install with code 10.

This does not occur on earlier versions of 2000 or XP. Can anyone point
me
in the direction of debugging this problem?

Do I have to be explict now and specify in the INF file exactly which
resources I can accept?

Thanks,

Jack.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Doron,

I was decoding the filter list incorrectly. It actually looks ok, and I
guess I’m on my way
to a fix now. Thanks.

XP SP1 is more fussy about what the PCMCIA card indicates, and I guess that
now I
need to filter the io resources down to the set that is actually needed.

Jack.

“Jack Heeley” wrote in message news:xxxxx@ntdev…
> Doron,
>
> No, I don’t change the status (I figure from my reading of the DDK that I
> shouldn’t in the case where I’m doing nothing with
> the Irp). I just copy the stack and call the next driver.
>
> But the initial status in this IRP is C00000001 i.e. STATUS_UNSUCCESSFUL
in
> place of STATUS_NOT_SUPPORTED
> (0xC00000BB) as the PnP Design Guide leads me to believe it should be. Or
am
> I wrong there?
>
> The resources themselves are also pretty freaky when presented (296
> resource descriptor lists, and not at all like
> what the device asks for).
>
> So it seems like something has broken rather earlier in the process?
>
> I notice also from the stack location count there’s a filter down below me
> which wasn’t there in W2K when I last tested this driver.
> I don’t know if this is coincident and related (the problem began at XP
> SP1).
>
> BUT…
>
> I have managed to get the driver to “work” temporarily by installing my
> driver (letting it fail), then using the device manager to
> uninstall it and scan for hardware changes (without removing the PCMCIA
> card). I can then install with “have disk” option.
>
> In this case I DO get a working device (but only until next reboot, or
until
> it is removed and reinserted).
>
> The resources should be (e.g. start device after following the procedure
> above, trace out as follows) …
>
> ResourceListRaw (returned at StartDevice)…
> 1. resource descriptor list(s) returned
> [0] Version 0x0
> [0] Revision 0x0
> [0] Partial Resource Descriptors 4.
> [0] Type 0x2 (CmResourceTypeInterrupt)
> [0] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [0] Flags 0x1
> [0] Raw 0x7 7 ffffffff
> [0] latched interrupt at lvl 0x7 vector 0x7 affinity 0xffffffff
> [1] Type 0x3 (CmResourceTypeMemory)
> [1] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [1] Flags 0x0
> [1] Raw 0xffdf7000 0 1000
> [1] r/w memory starting at 0xffdf7000 length 0x1000
> [2] Type 0x3 (CmResourceTypeMemory)
> [2] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [2] Flags 0x0
> [2] Raw 0xffdf8000 0 4000
> [2] r/w memory starting at 0xffdf8000 length 0x4000
> [3] Type 0x81 (CmResourceTypeDevicePrivate)
> [3] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [3] Flags 0x0
> [3] Raw 0x10004 30000000 3000c000
> [3] Device Private data 0x10004 0x30000000 0x3000c000
> [1] End dump*
> ResourceListTranslated (returned at StartDevice)…
> 1. resource descriptor list(s) returned
> [0] Version 0x0
> [0] Revision 0x0
> [0] Partial Resource Descriptors 4.
> [0] Type 0x2 (CmResourceTypeInterrupt)
> [0] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [0] Flags 0x1
> [0] Raw 0x14 37 1
> [0] latched interrupt at lvl 0x14 vector 0x37 affinity 0x1
> [1] Type 0x3 (CmResourceTypeMemory)
> [1] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [1] Flags 0x0
> [1] Raw 0xffdf7000 0 1000
> [1] r/w memory starting at 0xffdf7000 length 0x1000
> [2] Type 0x3 (CmResourceTypeMemory)
> [2] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [2] Flags 0x0
> [2] Raw 0xffdf8000 0 4000
> [2] r/w memory starting at 0xffdf8000 length 0x4000
> [3] Type 0x81 (CmResourceTypeDevicePrivate)
> [3] Share Disposition 0x1 (CmResourceShareDeviceExclusive)
> [3] Flags 0x0
> [3] Raw 0x10004 30000000 3000c000
> [3] Device Private data 0x10004 0x30000000 0x3000c000
> [1] End dump*
>
> …and the driver works until reboot (or until removal and reinsertion).
> Does this give you any further clues?
>
> I’m suspicious about the support in SP1 for the last item (Device Private
> data).
>
> Thanks for the help,
>
>
> Jack.
>
>
>
>
>
>
>
>
>
> “Doron Holan” wrote in message
> news:xxxxx@ntdev…
> Do you change the status of the irp before sending it down the stack?
> Also, set a completion routine and compare the results on the way down
> the stack vs up the stack.
>
> d
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Jack Heeley
> Sent: Friday, February 04, 2005 8:20 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] PnpMgr: Non-NULL resource requirements list filtered to
> NULL
>
> Hi group,
>
> I’m having problems installing a WDM driver on XP SP1a
>
> After add driver returns successfullly the driver receives (amongst
> other
> things) two successive IRP_MN_FILTER_RESOURCE_REQUIREMENTS requests
> which
> the driver dutifully passes down the stack.
>
> Using XP pro SP1A checked build I see the following message in WinDbg
> after
> the second one…
>
> PnpMgr: Non-NULL resource requirements list filtered to NULL
>
> and subsequently the driver fails to install with code 10.
>
> This does not occur on earlier versions of 2000 or XP. Can anyone point
> me
> in the direction of debugging this problem?
>
> Do I have to be explict now and specify in the INF file exactly which
> resources I can accept?
>
> Thanks,
>
> Jack.
>
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>