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 |
Platforms |
Windows 7 (x64) Windows 7 (x86) Windows Server 2008 R2 (x64) |
Expected run time |
~30 minutes |
Categories |
Certification |
Type |
Automated |
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.
Note
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.
Troubleshooting
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:
Initialization
Gather initial information:
Device descriptor
Configuration descriptor
String descriptors (if supported by device and test)
Address test 1 (repeat for all addresses)
Get descriptors (device, configuration, string) from address 0.
Set device address (next address value not in use).
Get descriptors using address 0. (Device should not respond.)
Get descriptors using new address. (Device should respond.)
Compare descriptors to initial information.
Address test 2 (repeat for all addresses)
Set address (next address value not in use).
Get descriptors from previous address. (Device should not respond.)
Get descriptors from new address. (Device should respond.)
Compare descriptors to initial information.
Result
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.