USB Enumeration Stress 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 Enumeration Stress 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. This test is based on the USBCV compliance test tool provided by the USB Implementers Forum, Inc. (USB-IF).

The USB Enumeration Stress test (USBENUM) verifies the proper functionality of a USB device when it is initially attached to a USB port. To properly enumerate in the Windows environment, a device must consistently provide valid information on its control pipe and properly respond to all standard device requests. This test repeats the enumeration process to make sure that devices will enumerate reliably in real-world scenarios. 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 on which the keyboard and mouse are attached by a 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.

This test includes the following parts:

Setup

Note that the test fails if there is more than one intermediate hub.

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 Enumeration Stress 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, such as:

    • 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 0

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 0

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: 10 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