From: Sergey Login on
Hi, we have the same problem with our device and our WDM driver. Did you find solution? Thank you.

> On Thursday, February 04, 2010 3:04 PM quyq wrote:

> I did not find much clue from Internet about this error code.
> I am working on a driver for a PCIe device. The driver works fine on our
> setup but it does not work on two setup at remote sites. The scenario is:
> The host is a HP XW4600 with Windows XP SP3 installed.
> The driver is able to be installed without any problem.
> However, our test code can only correctly access the device in a very short
> period right after the driver installed.
> Farther more, I did a test like this: from device manager, disable the PCIe
> device, then enable it. For IRP_MN_START_DEVICE, my driver will setup a
> complete routine and then invoke IoCallDriver to forward this Irp to bus
> driver. But the returned Irp status is 0xC000009E, i.e.
> STATUS_DEVICE_POWER_FAILURE. The device will disappear from the control panel
> device list right after I enable it. If I do a scan for hardware then it will
> show up in the device list again. And this time, there is no power failure
> error returned. As I mentioned above, test code can access the device right
> at this point but will not work after a short period.
> Our PCIe driver is really simple, it does not directly handle any IRP
> related to power management. All such IRP will be forward to low level bus.
> I am suspecting this is a hardware defect. Our remote site already tried to
> test it with same model PC as we used. They also tried two PCIe device setup
> but the result is same.
> Any suggestion for what could go wrong? BTW, the PCIe device has it own
> power supply, so current should not be a problem. The device is a FPGA with
> 3rd party's IP.
> Thanks in advance.


>> On Thursday, February 04, 2010 3:15 PM Maxim S. Shatskih wrote:

>> bus.
>>
>> Is it a KMDF driver?
>>
>> --=20
>> Maxim S. Shatskih
>> Windows DDK MVP
>> maxim(a)storagecraft.com
>> http://www.storagecraft.com


>>> On Friday, February 05, 2010 4:04 PM quyq wrote:

>>> No, it is not. The driver is updated from an old WDM driver that we developed
>>> about five years ago. The driver basically just provide user space
>>> application to access resource on the PCIe device. Here is psedu log when the
>>> device is enabled:
>>> DriverEntry -begin
>>> DriverEntry -end
>>> AddDevice -begin
>>> AddDevice -end
>>> DispatchPnp begin, MinorFunction IRP_MN_QUERYLEGACY_BUS_INFORMATION
>>> DispatchPnp end with STATUS_NOT_SUPPORTED
>>> DispatchPnp begin, MinorFunction IRP_MN_FILTER_RESOURCE_REQUIREMENTS:
>>> DispatchPnp end with STATUS_SUCCESS
>>> DispatchPnp begin, MinorFunction IRP_MN_START_DEVICE
>>> IrpCompleteRoutine return
>>> Return status is 0xc000009e: STATUS_DEVICE_POWER_FAILURE
>>>
>>> With good setup, the last line of above log should be STATUS_SUCCESS.
>>> Note, for above IRP, our driver only handle the START_DEVICE one. So I do not
>>> think the STATUS_NOT_SUPPORTED for the query IRP is a problem.
>>> Thanks.
>>>
>>> "Maxim S. Shatskih" wrote:


>>>> On Saturday, February 06, 2010 4:16 PM Pavel A. wrote:

>>>> Do you get this status from some driver below yours, after passing the
>>>> IRP_MN_START_DEVICE down the stack?
>>>> WinXP does not know what is PCIe, so it should not be something specific to
>>>> PCIe.
>>>> Except if this indeed is a hardware failure, which the pci bus driver
>>>> detects in a generic way.
>>>> For example, _if_ it tries to set the power state register in the config
>>>> space to D0,
>>>> but the read-back value is unexpected.
>>>> --pa


>>>>> On Monday, February 08, 2010 3:06 PM quyq wrote:

>>>>> Yes, the status is returned from driver below ours. I guess it is Microsoft's
>>>>> PCI bus driver. I also studied some Microsoft document(white paper) that
>>>>> claimed windows XP will treat PCIe device same way as PCI. AFAIK, our PCIe
>>>>> device does not need any special configuration for power state. The weird
>>>>> thing is sometimes the windows XP bus driver can successfully start the
>>>>> device without any error returned, but after several seconds our application
>>>>> will lost the accessibility to the device. We are also suspecting some float
>>>>> hardware pin is causing problem. I am trying to get the h/w from our remote
>>>>> site.
>>>>>
>>>>> "Pavel A." wrote:


>>>>> Submitted via EggHeadCafe - Software Developer Portal of Choice
>>>>> Silverlight Binary Serialization and Compression with WCF Services
>>>>> http://www.eggheadcafe.com/tutorials/aspnet/96487d4c-d92f-4ca5-85b7-0fef6f42d6c3/silverlight-binary-serialization-and-compression-with-wcf-services.aspx
From: Pavel A. on
Is your device also an FPGA? If yes, is it a demo/evaluation
board provided by FPGA vendor, or your own brew?
-- pa


"Sergey Login" <serge(a)softhard.sk> wrote in message
news:2010921602usenet(a)eggheadcafe.com...
> Hi, we have the same problem with our device and our WDM driver. Did you
> find solution? Thank you.
>
>> On Thursday, February 04, 2010 3:04 PM quyq wrote:
>
>> I did not find much clue from Internet about this error code.
>> I am working on a driver for a PCIe device. The driver works fine on our
>> setup but it does not work on two setup at remote sites. The scenario is:
>> The host is a HP XW4600 with Windows XP SP3 installed.
>> The driver is able to be installed without any problem.
>> However, our test code can only correctly access the device in a very
>> short
>> period right after the driver installed.
>> Farther more, I did a test like this: from device manager, disable the
>> PCIe
>> device, then enable it. For IRP_MN_START_DEVICE, my driver will setup a
>> complete routine and then invoke IoCallDriver to forward this Irp to bus
>> driver. But the returned Irp status is 0xC000009E, i.e.
>> STATUS_DEVICE_POWER_FAILURE. The device will disappear from the control
>> panel
>> device list right after I enable it. If I do a scan for hardware then it
>> will
>> show up in the device list again. And this time, there is no power
>> failure
>> error returned. As I mentioned above, test code can access the device
>> right
>> at this point but will not work after a short period.
>> Our PCIe driver is really simple, it does not directly handle any IRP
>> related to power management. All such IRP will be forward to low level
>> bus.
>> I am suspecting this is a hardware defect. Our remote site already tried
>> to
>> test it with same model PC as we used. They also tried two PCIe device
>> setup
>> but the result is same.
>> Any suggestion for what could go wrong? BTW, the PCIe device has it own
>> power supply, so current should not be a problem. The device is a FPGA
>> with
>> 3rd party's IP.
>> Thanks in advance.
>
>
>>> On Thursday, February 04, 2010 3:15 PM Maxim S. Shatskih wrote:
>
>>> bus.
>>>
>>> Is it a KMDF driver?
>>>
>>> --=20
>>> Maxim S. Shatskih
>>> Windows DDK MVP
>>> maxim(a)storagecraft.com
>>> http://www.storagecraft.com
>
>
>>>> On Friday, February 05, 2010 4:04 PM quyq wrote:
>
>>>> No, it is not. The driver is updated from an old WDM driver that we
>>>> developed
>>>> about five years ago. The driver basically just provide user space
>>>> application to access resource on the PCIe device. Here is psedu log
>>>> when the
>>>> device is enabled:
>>>> DriverEntry -begin
>>>> DriverEntry -end
>>>> AddDevice -begin
>>>> AddDevice -end
>>>> DispatchPnp begin, MinorFunction IRP_MN_QUERYLEGACY_BUS_INFORMATION
>>>> DispatchPnp end with STATUS_NOT_SUPPORTED
>>>> DispatchPnp begin, MinorFunction IRP_MN_FILTER_RESOURCE_REQUIREMENTS:
>>>> DispatchPnp end with STATUS_SUCCESS
>>>> DispatchPnp begin, MinorFunction IRP_MN_START_DEVICE
>>>> IrpCompleteRoutine return
>>>> Return status is 0xc000009e: STATUS_DEVICE_POWER_FAILURE
>>>>
>>>> With good setup, the last line of above log should be STATUS_SUCCESS.
>>>> Note, for above IRP, our driver only handle the START_DEVICE one. So I
>>>> do not
>>>> think the STATUS_NOT_SUPPORTED for the query IRP is a problem.
>>>> Thanks.
>>>>
>>>> "Maxim S. Shatskih" wrote:
>
>
>>>>> On Saturday, February 06, 2010 4:16 PM Pavel A. wrote:
>
>>>>> Do you get this status from some driver below yours, after passing the
>>>>> IRP_MN_START_DEVICE down the stack?
>>>>> WinXP does not know what is PCIe, so it should not be something
>>>>> specific to
>>>>> PCIe.
>>>>> Except if this indeed is a hardware failure, which the pci bus driver
>>>>> detects in a generic way.
>>>>> For example, _if_ it tries to set the power state register in the
>>>>> config
>>>>> space to D0,
>>>>> but the read-back value is unexpected.
>>>>> --pa
>
>
>>>>>> On Monday, February 08, 2010 3:06 PM quyq wrote:
>
>>>>>> Yes, the status is returned from driver below ours. I guess it is
>>>>>> Microsoft's
>>>>>> PCI bus driver. I also studied some Microsoft document(white paper)
>>>>>> that
>>>>>> claimed windows XP will treat PCIe device same way as PCI. AFAIK, our
>>>>>> PCIe
>>>>>> device does not need any special configuration for power state. The
>>>>>> weird
>>>>>> thing is sometimes the windows XP bus driver can successfully start
>>>>>> the
>>>>>> device without any error returned, but after several seconds our
>>>>>> application
>>>>>> will lost the accessibility to the device. We are also suspecting
>>>>>> some float
>>>>>> hardware pin is causing problem. I am trying to get the h/w from our
>>>>>> remote
>>>>>> site.
>>>>>>
>>>>>> "Pavel A." wrote:
>
>
>>>>>> Submitted via EggHeadCafe - Software Developer Portal of Choice
>>>>>> Silverlight Binary Serialization and Compression with WCF Services
>>>>>> http://www.eggheadcafe.com/tutorials/aspnet/96487d4c-d92f-4ca5-85b7-0fef6f42d6c3/silverlight-binary-serialization-and-compression-with-wcf-services.aspx

From: eagersh on
On Sep 21, 4:00 am, Sergey Login <se...(a)softhard.sk> wrote:
> Hi, we have the same problem with our device and our WDM driver. Did you find solution? Thank you.
You should provide more information. Did you debug the driver by using
WinDng?
If you suspect that it is a hardware problem try to use a PCI bus
analyzer.

Igor Sharovar