USB Controller Power State Test (and USB Controller Power State Test for Server)

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated

Overview

This test cycles through all of the system-supported power states. It verifies that the host controller continues to function properly and that all of the devices attached to the host controller reappear upon resuming. Sleep states S3 and S4 must be implemented; all other power states will only be tested if the system supports them.

Details

This test first checks that the system under test supports both S3 and S4 sleep states. For the systems test, the only difference is that the test does not fail if S3 and S4 are not supported. A list of all devices attached to the host controller is created. The test then cycles through all of the supported power states five times, and it checks that all the devices are still present upon resume from each power state. If a device is missing, the test fails and exits, and it lists the device which was not found. In Windows 7, the test also checks that the host controller is not reset upon resume from S1, S2, or S3.

Run Time: 30 minutes

**Log File:**PowerTest

**System Restart Required:**Yes

Supported operating systems for Logo or Signature testing:

  • Windows Server 2008

  • Windows Vista

  • Windows 7

Program: PowerTest.exe

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above).
  • Software components included with the device that is being tested.

Hardware Requirements

  • Device to be tested
  • Computer that meets the minimum software requirements
  • At least one USB 2.0 device attached to the system or controller being tested

Processor

  • x86
  • x64
  • IA64

Running USB Controller Power State Test

All test cases return PASS or FAIL. Review the test results in the log file for specific details about failures. After reboot test is launched again and will check the configuration file to see where if it is the test being initially launched or coming back from reboot.

Understanding the Errors

The following errors can occur while trying to resume the controller after a sleep cycle.

Error Meaning

USBPort EHCI HC Miniport Resume Complete Error 1

HC Operational Register is NULL.

USBPort EHCI HC Miniport Resume Complete Error 2

HcHalted bit not set upon resume.

USBPort EHCI HC Miniport Resume Complete Error 3

Configuration flags were reset.

USBPort EHCI HC Miniport Resume Complete Error 4

Port power on root ports is zero.

USBPort EHCI HC Miniport Resume Complete Error 5

Port ownership switched between EHCI and companion controller.

USBPort OHCI HC Miniport Resume Complete Error 1

Hc Operational Register is NULL.

USBPort OHCI HC Miniport Resume Complete Error 2

HcControl Register has invalid values. Indicates the controller has been reset or a transfer list has been disabled.

USBPort OHCI HC Miniport Resume Complete Error 3

HcHCCA Physical Address has changed.

USBPort UHCI HC Miniport Resume Complete Error 1

Controller hardware is not present.

USBPort UHCI HC Miniport Resume Complete Error 2

Controller is not in suspend mode. Most likely indicates that the controller was reset or lost power.

USBPort UHCI HC Miniport Resume Complete Error 3

Controller is still in resume state after resuming.

USBPort UHCI HC Miniport Resume Complete Error 4

Controller failed to resume.

 

Command Syntax

Command option Description

PowerTest.exe

Without any options, the test will test only USB Host Controllers

[GUID]

The GUID for any type of host controller, if more than one then separate by a space

UpdateConfigFile.exe

With parameters "PowerTestConfig.xml SelfRestart 0" will set the test configuration file to the beginning of the test

regsvr32 /s etwcap.dll

Register the dll for use by the test executable.

 

Code Tour

File Manifest

File Location

[WTT\TestBinRoot]\nttest\driverstest\usb\LogoKit\HostController\POWERTEST.exe

[WTT\TestBinRoot]\nttest\driverstest\usb\LogoKit\HostController\PowerTestConfig.xml

[WTT\TestBinRoot]\nttest\driverstest\usb\LogoKit\HostController\UpdateConfigFile.exe

[WTT\OSBinRoot]\WTT\WTTlog.dll

[WTT\TestBinRoot]\NTTEST\DRIVERSTEST\usb\DevED\DevEDInstaller.msi

[WTT\TestBinRoot]\nttest\driverstest\usb\ETWCap\ETWCap.dll

 

 

 

Build date: 9/14/2012