Share via


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:

  1. Select the job USB Device Control Requests Test from Available jobs pane in the Device Console.

  2. Click the Add Selected button on the Device Console. The selected job shows up in the bottom pane.

  3. Select this job from the bottom pane. Right-click it and select Edit Parameters

  4. You will see the Parameter Edit window open, with parameters listed on the left and their values on the right.

  5. Change this value of IsEmbeddedUSBDevice parameter from FALSE to TRUE.

  6. 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