USB S/S OSRFX2 Question

I am new to driver development. I purchased the OSRFX2 board to have something to learn with.

The documentation for the board says that the 7-segment display will display an ‘S’ when the device is placed into suspend by the system.

My device driver has done everything I can find in the WDK documentation for enabling low-power mode after a specified amount of idle time, though I should say, S/S was the first thing I went to add support for in the driver after putting in enough to get it loaded and using default behavior.

In fact, I have taken the WDK supplied final OSRFX2 WDF Sample Driver, compiled it and installed it - and using the test application - all I/O and IOCTL seems to work fine.

Even with this sample driver - which alleges to have the S/S and Wake capabilities enabled - I never see the 7 segment display show an ‘S’.

I did find out though - after installing the WDM version of the OSRFX2 driver, around 5 seconds after installation, the ‘H’ (displayed for High Speed USB) - turns to an ‘S’. I also know that with my own driver, when the system goes into a standby - the device does indeed go into a low power state and displays an ‘S’, but what I am expecting is an ‘S’ to be displayed while the system is in S0, after the specificed idletimeout value has elapsed.

So I guess the question is - has anyone seen this seemingly erroneous behavior? Or am I misunderstanding what this call:

WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(&powerIdleSettings,IdleUsbSelectiveSuspend);

is intended to do?

Any insight is much appreciated. Thank you.

What OS is this on? Is the device attached to a downstream hub? Has the root hub/HC been enabled for SS?

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Sunday, April 27, 2008 6:37 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB S/S OSRFX2 Question

I am new to driver development. I purchased the OSRFX2 board to have something to learn with.

The documentation for the board says that the 7-segment display will display an ‘S’ when the device is placed into suspend by the system.

My device driver has done everything I can find in the WDK documentation for enabling low-power mode after a specified amount of idle time, though I should say, S/S was the first thing I went to add support for in the driver after putting in enough to get it loaded and using default behavior.

In fact, I have taken the WDK supplied final OSRFX2 WDF Sample Driver, compiled it and installed it - and using the test application - all I/O and IOCTL seems to work fine.

Even with this sample driver - which alleges to have the S/S and Wake capabilities enabled - I never see the 7 segment display show an ‘S’.

I did find out though - after installing the WDM version of the OSRFX2 driver, around 5 seconds after installation, the ‘H’ (displayed for High Speed USB) - turns to an ‘S’. I also know that with my own driver, when the system goes into a standby - the device does indeed go into a low power state and displays an ‘S’, but what I am expecting is an ‘S’ to be displayed while the system is in S0, after the specificed idletimeout value has elapsed.

So I guess the question is - has anyone seen this seemingly erroneous behavior? Or am I misunderstanding what this call:

WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(&powerIdleSettings,IdleUsbSelectiveSuspend);

is intended to do?

Any insight is much appreciated. Thank you.


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

The OS is Windows XP 32-bit with SP2. I assume it is a downstream hub, it’s a two-port USB Root Hub hanging off of the HC I mention shortly. I have tried on another machine though and received the same result.

The HC is called a Standard Enhanced PCI to USB Host Controller, which is not something I have normally encountered, but I dont see why it wouldnt work.

The Hub does have SS enabled.