USB Specification Compliance
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
This test verifies that the descriptors on all Universal Serial Bus (USB) devices and hubs that are attached to a system comply with either the Universal Serial Bus Specification 1.1 or the Universal Serial Bus Specification 2.0.
The test enumerates the USB bus through the USB software stack. The target device or hub is queried to determine which level of the USB specification is supported.
For devices and hubs that support USB Specification version 1.1, some differences between the 1.1 and 1.0 descriptors are checked.
Details
All USB hubs and devices that are part of the system should be connected. The test software enumerates the USB bus through the USB software stack. The test software issues a device GetDescriptor call for each device and hub present and interprets the bcdUSB field as follows:
BcdUSB | Explanation |
---|---|
0x0100 |
Compliant with version 1.0 of the specification |
0x0110 |
Compliant with version 1.1 of the specification |
0x0200 |
Compliant with version 2.0 of the specification |
If any device or hub is not compliant with version 1.1 or 2.0 of the USB specification, the test fails.
USB 1.1 Specification Descriptor Checks
For each device or hub that indicates Universal Serial Bus 1.1 Specification Compliance, the following descriptor checks are made.
Note This is not in intended to be a full 1.1 Specification Compliance Test. It only checks a few descriptor differences between the 1.1 and 1.0 Specifications that can be checked readily through software.
- The software enumerates through all of the configuration descriptors. If bit D7 in the bmAttributes field is not set to one as required by the USB 1.1 Specification, the test fails.
- The test queries the hub for its hub descriptor. The following fields in the hub descriptor are examined by the test software:
- wHubCharacteristics: Bits D0 and D1 must indicate that the hub supports Ganged or Individual port power switching. If bits D0 and D1 are 1X, the test fails.
- PortPwrCtrlMask: All bits in this field must be set to one to maintain compatibility with software written for USB 1.0 devices. If any of these bits are set to zero, the test fails.
Results Interpretation
The test transcribes all results to a text based log file.
The test fails if:
- The device descriptor indicates that the device does not support Universal Serial Bus Specification, Revision 1.1 or 2.0.
- The device descriptor indicates that the device supports USB Specification, Version 1.1 but the D7 bit in the bmAttributes field of a configuration descriptor is not set to one.
- The hub indicates that it supports the USB Specification, Version 1.1, but its Logical Power Switching Mode in wHubCharacteristics is not set to Ganged or Individual port power switching.
- The hub indicates that it supports the USB Specification, Version 1.1, but not all bits in its PortPwrCtrlMask are set to one.
Run Time: 3 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
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.
Supported Software
Hardware Requirements
- Device to be tested
- Windows Logo Program-compliant USB host controller and supporting drivers.
- The test requires that the following hardware and software be installed, if they are part of the system undergoing the test. A) Windows Logo Program compliant USB hub(s) and supporting drivers B) Windows Logo Program compliant USB cables C) Windows Logo Program compliant USB devices and supporting drivers.
Processor
- x86
- x64
- Itanium
Troubleshooting
9.1.3 All USB hardware complies with USB 1.0 Specification.
Reference documents: WLP# - B2.6.2.3; PC 99 System Design Guide - 7.3
9.1.8 USB hubs comply with the USB 1.1 Specification. (Recommended only)
Reference documents: WLP# - B2.6.2.3; PC 99 System Design Guide - 7.8
9.1.C1 USB field of each hub's Device Descriptor reports revision 1.1 or 2.0.
Reference documents: WLP# - B2.6.2; USB Specification, Revisions 1.1, and 2.0
9.1.C3 A hub that reports USB version 1.1 must fully comply with the USB 1.1 Specification.
Reference documents: WLP# - B2.6.2; USB Specification, Revision 1.1
9.1.C3.1 A hub that reports USB version 1.1 must set all bits to one in the PortPwrCtrlMask in the hub descriptor.
Reference documents: WLP# - B2.6.2; USB Specification, Revision 1.1, Section 11.15.2.1
9.1.C3.2 A hub that reports USB version 1.1, must report Ganged or Individual port power switching in the wHubCharacteristics field of the hub descriptor.
Reference documents: WLP# - B2.6.2; USB Specification, Revision 1.1, Section 11.15.2.1
9.1.16 USB field of each peripheral's Device Descriptor reports revision 1.1 or 2.0.
Reference documents: WLP# - B2.6.2; USB Specification, Revisions 1.1, and 2.0
9.1.23 A USB device that reports USB version 1.1 must fully comply with the USB 1.1 Specification.
Reference documents: WLP# - B2.6.2; USB Specification, Revision 1.1
9.1.24 A USB device that reports USB version 1.1, must set bit D7 to one (Bus Powered) in the bmAttributes field of its configuration descriptors.
Reference documents: WLP# - B2.6.2; USB Specification, Revision 1.1, Section 9.6.2
Build date: 9/14/2012