USB Device Control Requests Test
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 Test
Overview
The USB Device Control Requests Test runs a number of individual tests that verify various attributes and operations used by the function-specific portions of the test device. The tests also verify communications from the device through the bus interface to the host. The test is based on the USBCV compliance test tool provided by the USB Implementers Forum, Inc. (USB-IF).
In the USB environment, all USB devices must respond correctly to all USB control requests after they have been reset. The control requests that must be supported are detailed in Chapter 9 of the USB Specification. This test validates that devices respond to those requests in the appropriate fashion at different addresses and at different times following a port reset. This test covers only USB peripheral devices and hubs.
Details
The system used for this test must have an available root hub port. If the test is to be run on a system in which the keyboard and mouse are attached using USB, and the system supports more than one root hub, these devices should be connected on one of the other root hubs. If the system has only one root hub, all other devices must be attached downstream of a secondary root hub port.
While the test runs, any devices connected to other ports on the same root hub might become unusable for a period of time.
Setup
This test fails if the test device is more than one hub deep.
Note For embedded USB devices (for example, laptop devices) where it is impossible to meet the external hub connectivity requirement, you must follow the following steps:
Select the job USB Device Control Requests Test from Available jobs pane in the Device Console.
Click the Add Selected button on the Device Console. The selected job shows up in the bottom pane.
Select this job from the bottom pane. Right-click it and select Edit Parameters
You will see the Parameter Edit window open, with parameters listed on the left and their values on the right.
Change this value of IsEmbeddedUSBDevice parameter from FALSE to TRUE.
Click the Schedule Jobs button on the Device Console to run this job.
Initialization
Select device to test
Open handle to host controller
Gather initial information
Device descriptor
Configuration descriptor
String descriptors (if supported by device and test)
Enumeration test (repeat n times) with no string descriptor support
Reset device port
Get device descriptor (first MPS with wLength value of FF)
Reset device port
Get device descriptor (full descriptor)
Set address (address not in use)
Get configuration descriptor
Compare device and configuration descriptors to initial ones
Set configuration to configuration zero
Enumeration test (repeat n times) with string descriptor support
Reset device port
Get device descriptor (first MPS with wLength value of FF)
Reset device port
Get device descriptor (full descriptor)
Set address (address not in use)
Get configuration descriptor
Compare device and configuration descriptors to initial ones
Set configuration to configuration zero
Result
The test is successful if comparisons of the device and configuration descriptor pass for all iterations.
Results Interpretation
The test fails if:
Any standard device request is not properly handled by the device under test.
Any standard device request does not meet the response time requirements as defined in the USB specification.
Run Time: 7 minutes
Log File:
System Restart Required: No
Test Category:
Supported operating systems for Logo or Signature testing:
Windows 7
Windows Server 2008 R2
Windows Vista
Windows Server 2008
Windows Server 2003
Windows XP
Program:
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
- One USB 2.0 controller PCI adapter, if system does not contain a USB 2.0 controller.
- One USB IF certified USB 2.0 hub to connect the system and the test USB device
Processor
- x86
- x64
- Itanium
Build date: 9/14/2012