USB Address Description Test

This test verifies that devices can respond correctly to their assigned addresses and that they do not respond to any other address. The test iterates all supported addresses and verifies that the device under test can be addressed and enumerated.

Test details

Associated requirements

Device.Connectivity.UsbDevices.Addressing Device.Connectivity.UsbDevices.AlternateDriver

See the device hardware requirements.


Windows 7 (x64) Windows 7 (x86) Windows Server 2008 R2 (x64)

Expected run time

~30 minutes






Running the test

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

This test fails if the test device is more than one hub deep.


You should run the test with a device that is connected directly to a root hub of the system or with a USB Implementers Forum (USB-IF)–certified hub that has less than seven ports.



For troubleshooting information, see Troubleshooting Device.Connectivity Testing.

The test fails if any of the following occur:

  • Any standard device request is not correctly handled by the device that is being tested.

  • Any standard device request does not meet the response-time requirements as defined in the USB specification.

  • A device does not respond to a request at its currently assigned address.

  • A device responds at an address other than its currently assigned address.

More information

This test runs multiple individual tests that verify various attributes and operations that the function-specific parts of the test device use. The tests also verify communications from the device through the bus interface to the host.

A USB device must respond correctly to all possible USB device addresses from 0 through 127. This test verifies that devices can respond correctly at their assigned addresses and that they do not respond at any other address.

The test includes the following parts:


  • Gather initial information:

    • Device descriptor

    • Configuration descriptor

    • String descriptors (if supported by device and test)

Address test 1 (repeat for all addresses)

  1. Get descriptors (device, configuration, string) from address 0.

  2. Set device address (next address value not in use).

  3. Get descriptors using address 0. (Device should not respond.)

  4. Get descriptors using new address. (Device should respond.)

  5. Compare descriptors to initial information.

Address test 2 (repeat for all addresses)

  1. Set address (next address value not in use).

  2. Get descriptors from previous address. (Device should not respond.)

  3. Get descriptors from new address. (Device should respond.)

  4. Compare descriptors to initial information.


For success, a device must always respond with valid device, configuration, and string descriptors while not responding at its previous device address. Any failure is a test failure.



Send comments about this topic to Microsoft