Pnp Power Events Problem

Hi:

I have a problem in the next hierarchy driver that seems to be with the PnP or PPO :

usbser
|
pdo
|
filter
|
fdo (PPO)

I do not regiter the:
PrepareHardware
D0Entry
D0Exit
in my FDO Driver i just implement the DEVICE_POWER_POLICY_WAKE in the deviceAdd.

There is no problem in the communication until i send the host to sleep.
When the device return from D2 with the Remote wake up from the device the communication can continue,
but if the host wakes by other way (for example the mouse) when it enters to D0 the communication is affected, in this case i can send from usb to serial
but serial to usb is not working.

What do i need to implement to support this hability?
because i know the usbser.sys supports this.

Any help would so nice.

Thanks.

Do i need to add the WDF_DEVICE_POWER_CAPABILITIES?? to tell the framework that my device support this ability?

Thanks

Or could it be because i make a static enumeration??

No, kmdf propagates them.

d

debt from my phone

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Saturday, April 16, 2011 10:39 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Pnp Power Events Problem

Do i need to add the WDF_DEVICE_POWER_CAPABILITIES?? to tell the framework that my device support this ability?

Thanks


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Nope, not it. The problem is that the device powers down without usbser being aware of it. If usbser has pending io during the power down, that io will fail unexpectedly from usbser’s perspective. You need to either catch the failed io and pend it until you wake up or do some double buffering of that endpoint .

d

debt from my phone

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Saturday, April 16, 2011 11:01 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Pnp Power Events Problem

Or could it be because i make a static enumeration??


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Ok, Now i understand what happens, but can i advice the usbser to stop sending until the host wakes, or how and where do i need to catch the IO that fails

Thanks

I think it is about time for you to figure out some of your design on your own instead of relying on us to write all of your driver for you.

d

debt from my phone

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Saturday, April 16, 2011 12:41 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Pnp Power Events Problem

Ok, Now i understand what happens, but can i advice the usbser to stop sending until the host wakes, or how and where do i need to catch the IO that fails

Thanks


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Or can i set my queues as PowerManaged = true to let the framework responsible of that task?, could this be posible??

Try it for yourself

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@hotmail.com
Sent: Saturday, April 16, 2011 1:09 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Pnp Power Events Problem

Or can i set my queues as PowerManaged = true to let the framework responsible of that task?, could this be posible??


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Hi Doron:

Thanks for all, finally i finished my driver i just had to implement a queue in the FDO and set the property PowerManaged in the queue to pend when sleeping or hibernating.
Sorry for my little expertise but it was a project which was assigned to solve in a few time.

Thanks.