Condividi tramite


USB Topology Compatibility Test

This manual test validates that the USB device can enumerate in key topologies and respond to basic USB commands, such as getting descriptors, setting address, selecting configuration, cycling ports. USB devices must be functional when connected to Enhanced Host Controller Interface (EHCI) and eXtensible Host Controller Interface (xHCI) controllers, and connected through full speed, high speed and SuperSpeed hubs.

Note  

In Windows 8.1, this test runs in two modes: Legacy and Modern. You can select the mode by using the Parameters option.

 

In previous versions of Windows, the test ran only in the Legacy mode, which detects whether the Device-Under-Test (DUT) enumerates when connected to SuperSpeed, high-speed, and full-speed ports. In this case, you must configure the required topologies after starting the test.

In Windows 8.1, the Modern mode allows the test to detect the DUT in SuperSpeed and high-speed ports. In this case, you must configure the required topologies before you start the test.

Test details

Associated requirements

Device.Connectivity.UsbDevices.Addressing Device.Connectivity.UsbDevices.AlternateDriver Device.Connectivity.UsbDevices.MustEnumerateOnEhciAndXhci Device.Connectivity.UsbDevices.TestedUsingMicrosoftUsbStack Device.Connectivity.UsbDevices.Usb3CompatibleWithDownLevel

See the device hardware requirements.

Platforms

Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64) Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2

Expected run time

~10 minutes

Categories

Certification

Type

Manual

 

Running the test

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

Hardware list

  • One or more USB DUT to be certified. In Modern mode, you need at least two DUTs. If you have only one DUT, select Legacy.

  • One USB-IF compliant external SuperSpeed hub.

    We recommend that you use USB-IF certified hubs and low, full speed devices. For example, the Texas Instruments SuperSpeed USB 3.0 Hub reference design board (TUSB8040EVM) which can be used to evaluate system compatibility. Alternatively, you can use the SuperMUTT Pack. To information about obtaining a SuperMUTT Pack, see MUTT devices.

  • One USB-IF compliant external high-speed hub.

  • One USB-IF compliant external full-speed hub (in Legacy mode).

  • USB-IF compliant USB 3.0 and 2.0 cables.

  • One Enhanced Host Controller Interface (EHCI) controller on the test computer.

  • One Extensible Host Controller Interface (xHCI) controller on the test computer.

Before you run the test

  • Make sure the host controllers must have root hubs exposed. You must be able to plug the DUT or the external hub directly into the xHCI and EHCI root ports. Do not use host controllers that have integrated hubs because the controller design might block direct access to root ports.

  • The SuperSpeed hub must be updated with the latest firmware.

  • In the SuperSpeed hub, container IDs of the high-speed and SuperSpeed units must match. You can verify the compatible IDs in Device Manager:

  • Make sure that USB 3.0 cables do not have signal integrity issues. When you connect the SuperSpeed hub to the xHCI controller, the hub must enumerate as a SuperSpeed hub and not as a high-speed hub. For recommendations, see https://www.usb.org/kcompliance/view.

  • If you run the test in Legacy mode, you need a full-speed hub. If you are using MUTT devices, remember that you can always convert a MUTT Pack to a full speed hub by using Muttutil included in the MUTT Software Package (-HubFs option).

  • The device must have the device driver loaded on the test client machine.

  • In Legacy mode, the DUT must be detected in all six EHCI and xHCI topologies regardless of the speed of the DUT. For example, if the DUT is a low speed device, you must still connect your device in USB 3.0 topologies shown in this topic.

  • In Modern mode, the DUT must be detected in two topologies.

Demo

Watch the following video demonstration

Download the video (MP4)

Required topologies

Legacy Topologies Modern Topologies

EHCI -> DUT

xHCI -> DUT

EHCI -> high-speed hub -> DUT

EHCI -> DUT or xHCI -> high-speed hub -> DUT

EHCI -> high-speed hub -> full speed hub -> DUT

xHCI -> DUT

xHCI -> SuperSpeed hub -> DUT

xHCI -> high-speed hub -> DUT

 

The examples and images in this topic use the following USB hardware:

  • DUT is a Super MUTT

  • SuperSpeed hub is a SuperMUTT Pack

  • High-speed hub is a MUTT Pack

  • Full speed hub is a MUTT Pack that has been converted to operate in full speed mode. The hub operates in full speed mode until it’s unplugged.

EHCI -> DUT

Connect the DUT directly to an EHCI root port. A low or full speed DUT enumerates under an OHCI or UHCI controller (which is expected in this test case).

EHCI -> high-speed hub -> DUT

Connect a high-speed hub to an EHCI root port. Connect the DUT to a downstream port of the high-speed hub.

EHCI -> high-speed hub -> full speed hub -> DUT

Connect a high-speed hub to an EHCI root port. Connect a full speed hub to a downstream port of the high-speed hub. Connect the DUT to a downstream port of the full speed hub.

xHCI -> DUT

Connect the DUT directly to an xHCI root port.

xHCI -> SuperSpeed hub -> DUT

Connect a SuperSpeed hub to an xHCI root port. Connect the DUT to a downstream port of the USB 3.0 hub.

xHCI -> high-speed hub -> DUT

Connect a high-speed hub to an xHCI root port. Connect the DUT to a downstream port of the USB 3.0 hub.

How to run the test – Legacy mode

On the Windows Hardware Certification Kit (Windows HCK) Controller, open Windows HCK Studio and perform these tasks:

  1. On the Selection tab, click Device manager.

  2. Select the DUT as the target from the list.

  3. Click the Tests tab, select USB Topology Compatibility Test, and select Run Selected.

  4. In the Parameters window, enter Legacy as the TestMode value.

  5. Start the test.

    The test computer displays Administrator: Windows PowerShell and USB device viewer windows.

  6. Connect the DUT to a SuperSpeed port on the system and verify in USB device viewer that DUT appears under a root port. The device should appear under the correct port on the left panel.

  7. On the same port, connect a SuperSpeed hub and then connect the DUT to a port on the SuperSpeed hub. Wait for the USB device viewer to detect the topology.

  8. Replace the SuperSpeed hub with the high-speed hub on the same port. Connect the DUT to a port on the high-speed hub. Wait for the USB device viewer to detect the topology.

  9. Connect the DUT to a high-speed port on the system and verify in USB device viewer that DUT appears under a root port.

  10. On the same port, connect a high-speed hub and then connect the DUT to a port on the high-speed hub. Wait for the USB device viewer to detect the topology.

  11. On the same port on the high-speed hub, replace the DUT with a full-speed hub, and then connect the DUT to a port on the full-speed hub. Wait for the USB device viewer to detect the topology.

    Important  

    All six topologies must be completed in the same test run. In Legacy mode, the test is a manual test so you can move the DUT around to all six topologies during the test. The PowerShell window and USB device viewer will automatically close only after all topologies have been detected. Do not close the window before that. It causes the test to fail.

    It’s important to make a note of the original port that the device is plugged in before starting this test. After going through the six topologies above, you’ll need to reconnect the device to the original port, so that the rest of the tests can proceed successfully. Some tests assume that the device is connected to the same port and will fail to find the device if it's connected to a different location.

     

  12. After PowerShell and USB device viewer windows close, read the test results on the controller.

How to run the test – Modern mode

On the test computer, open Device Manager and perform the following steps:

  1. Connect one of the DUTs to a SuperSpeed port on the system and verify in Device Manager that the DUT appears under the USB Root Hub port.

  2. Connect the other DUT to a high-speed port on the system by connecting it directly to a root port on an EHCI controller. If the system does not have an EHCI controller, connect a high-speed hub to a SuperSpeed port and then connect the DUT to a port on the high-speed hub.

On the Windows HCK Controller, open Windows HCK Studio and perform the following steps:

  1. On the Selection tab, select Device manager.

  2. Select the DUT as the target from the list.

  3. Click the Tests tab, select USB Topology Compatibility Test, and click Run Selected.

  4. In the Parameters window, click OK to run in Modern mode. This is the default mode in Windows 8.1.

  5. Start the test.

  6. Read the test results after it completes.

Troubleshooting

For troubleshooting information, see Troubleshooting Device.Connectivity Testing. Specific errors are shown in the following table.

Error Resolution

DUT is not detected behind a SuperSpeed hub that is connected to an xHCI controller.

Obtain a USB-IF compliant SuperSpeed hub.

Skipping xHCI topologies for low, full, or high speed DUTs causes the test to fail.

The DUT must be detected in all six EHCI and xHCI topologies regardless of the speed of the DUT.

When a high or full speed DUT is connected to a SuperSpeed hub, the DUT connects to the USB 2.0 hub unit of the hub. That condition causes the xHCI -> USB 3.0 Hub -> DUT topology test to fail.

Contact Microsoft Customer Support.

When two USB DUTs are connected to behind EHCI root port of an x86-based system, DUTs might not get detected behind full or high speed hub.

You can work around this failure by adding an additional EHCI controller to the test system.

The DUT is an embedded device.

Contact Microsoft Customer Support.

 

More information

Command syntax

Parameter Description

TestMode

Modern: Uses WDTF to check USB port connections. The test runs automatically. Default value.

Legacy: Uses USB Device Viewer to check USB port connections. The test runs in manual mode.

 

Device.Connectivity Tests

 

 

Send comments about this topic to Microsoft