USB Specification Compliance Test

This automated test verifies that the descriptors on all USB devices and hubs that are attached to a system comply with USB 1.1, USB 2.0, or the USB 3.0 Specification.

The test enumerates the USB bus through the USB software stack. The test queries the target device or hub to determine which level of the USB specification is supported.

For devices and hubs that support USB 1.1 Specification, the test checks some differences between the 1.1 and 1.0 descriptors.

Test details


Associated requirement(s)


See the device hardware requirements.


Windows 7 (x64)
Windows 7 (x86)
Windows RT (ARM-based)
Windows 8 (x64)
Windows 8 (x86)
Windows Server 2012 (x64)
Windows Server 2008 R2 (x64)

Run time

~2 minutes

Running the test

Before you run the test, complete the test setup as described in the test requirements: USB Device.Connectivity Testing Prerequisites.


For troubleshooting information, see Troubleshooting Device.Connectivity Testing.

The test transcribes all results to a text-based log file.

The test fails if any of the following occur:

  • The device descriptor indicates that the device does not support the USB 1.1 or USB 2.0 Specification.

  • The device descriptor indicates that the device supports the USB 1.1 Specification, 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 1.1 Specification, but its Logical Power Switching Mode in the wHubCharacteristics field is not set to ganged or individual port power switching.

  • The hub indicates that it supports the USB  1.1 Specification, but not all bits in its PortPwrCtrlMask field are set to one.

More information

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.


Value Explanation


Compliant with USB Specification 1.0


Compliant with USB Specification 1.1

0x0200, 0x0210, or 0x0201

Compliant with USB Specification 2.0

If any device or hub does not comply with USB Specification 1.1 or USB Specification 2.0, the test fails.

USB Specification 1.1 descriptor checks

For each device or hub that indicates compliance with USB Specification 1.1, the test makes the following descriptor checks.

This is not intended to be a full USB Specification 1.1 compliance test. It only checks a few descriptor differences between USB Specification 1.1 and USB Specification 1.0 that can be checked easily through software.

  • The software enumerates through all of the configuration descriptors. If bit D7 in the bmAttributes field is not set to one as USB Specification 1.1 requires, the test fails.

  • The test queries the hub for its hub descriptor. The test software examines the following fields in the hub descriptor:

    • 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 that is written for USB 1.0 devices. If any one of these bits is set to zero, the test fails.