Windows Hardware Certification Kit (HCK) Tests for USB
The Windows Hardware Certification Kit (HCK) tests can be used for additional testing of Systems, USB host controllers, hubs, and devices. These tests cover basic device functionality, reliability, and compatibility with Windows.
Prerequisites
Before you start running the logo tests make sure you meet the following requirements:
- To run these tests you will need at least two computers: a test server and a test client.
- The test client must have the latest version of Windows.
- The test client must have EHCI and xHCI controllers, either integrated or as add-in cards. The controllers must expose user-accessible root ports (no integrated hubs).
- Download the Windows HCK to the test server from Windows Hardware Certification Kit Downloads.
For detailed information about how to install and use the Windows HCK, see Windows HCK Getting Started.
Hardware requirements for running USB tests in the HCK
To run the HCK tests, you need:
- Your host controller (either integrated or as add-in cards), hubs, or device to certify.
Open Device Manager on the test client and make sure that the USB controllers that you want to use expose user-accessible root ports (no integrated hubs).
- USB-IF-compliant external SuperSpeed hub to evaluate system compatibility. We have tested HCK tests with these hubs:
- Texas Instruments SuperSpeed (USB 3.0) Hub reference design board (TUSB8040EVM).
- SuperMUTT Pack. See MUTT devices.
- MUTT devices as test devices for hub and controller tests.
- USB-IF certified cables and connectors to avoid signal integrity issues. See USB-IF list of products.
Complete set of requirements are given here:
HCK test selection for USB
The USB tests that apply to your system, host controller, hub, or device are automatically selected in HCK Studio.
After you follow steps 1-5 in Windows HCK Getting Started, make sure that:
- In step 5,the correct device is selected in the Selection tab of HCK Studio.
- In step 6, all the tests that apply to your device are displayed in the Tests tab in HCK studio. To run these tests, you must select the test in the left-hand check box and click Run Selected. The tests for USB testing are listed in the following section of this document.
For information about scheduling tests, see steps 2-6 in Windows HCK Getting Started.
Recommended Windows HCK tests for systems
OEMs should run these tests before certifying their system. The test system must include SuperSpeed port(s).
For tests that are marked with *, a SuperMUTT can be connected to the xHCI controller(s). For tests that are marked with +, a SuperMUTT must be connected to the xHCI controller(s).
Functional tests
- System Fundamentals (SysFund)
- USB Exposed Port System Test*
- USB Internal Device Idle
- USB xHCI Register System Test
- USB xHCI Transfer Speed Test+
- USB3 Termination*
Certification tests
- System Fundamentals (SysFund)
- USB Exposed Port System Test*
- USB Internal Device Idle
- USB xHCI Register System Test
- USB xHCI Transfer Speed Test+
- USB3 Termination*
For more information, see Recommended USB tests for system development.
Recommended Windows HCK tests for USB controllers
USB host controller manufacturers should run these tests to test their controllers before they are embedded into systems. USB 3.0 and xHCI tests are only applicable to xHCI controllers, USB 3.0 hubs, and devices. For more information about each test, see the individual test reference topics in Device.Connectivity Tests and System.Fundamentals Tests.
For tests that are marked with *, a SuperMUTT can be connected to the controller. For more information about the SuperMUTT, see MUTT devices.
Functional tests
- Device.Fundamentals Tests
- USB Exposed Port Controller Test*
- USB Host Controller Compliance Test
- USB Host Controller Enable Disable Test*
- USB xHCI Compliance Suite (ARM)
- USB xHCI Register Test
- USB xHCI Runtime Power Management Test*
Certification tests
- Device.Fundamentals Tests
- USB Exposed Port Controller Test*
- USB Host Controller Compliance Test
- USB Host Controller Enable Disable Test*
- USB xHCI Compliance Suite (ARM)
- USB xHCI Register Test
- USB xHCI Runtime Power Management Test*
- USB USB-IF Certification Validation Test (Controller)
Recommended Windows HCK tests for USB hubs
USB hub manufacturers should run these tests before their hubs can be embedded on systems. USB host controller manufacturers should also run these tests if their host controllers that contain embedded hubs.
Hubs must be connected to the xHCI controller for all tests. The USB Topology Compatibility Test requires that the hub is plugged into the EHCI controller and that the hub is connected to the root port during the test. For all tests that are marked with *, a SuperMUTT can be connected to the hub.
Functional tests
- Device.Fundamentals Tests
- All USB tests listed under Devices.Connectivity Tests
- USB 3.0 Hub Enumeration Stress*
- USB Hub Exposed Port Test
- USB Hub Selective Suspend Test*
Certification tests
- Device.Fundamentals Tests
- All USB tests listed under Devices.Connectivity Tests
- USB 3.0 Hub Enumeration Stress*
- USB Hub Exposed Port Test
- USB Hub Selective Suspend Test*
Recommended Windows HCK tests for USB devices
All other USB device manufacturers should run these tests on their embedded or peripheral devices. USB hub manufacturers should also run these tests. Devices must be connected to an xHCI controller for all tests.
Functional tests
Certification tests
- Device.Fundamentals Tests
- USBDEX) Verifier Test
- USB 3.0 Insertion Test
- USB 3.0 Speed Switch Test
- USB 3.0 Suspend Test
- USB Descriptor Test
- USB Device Connection S3+S4 Test
- USB Disable Enable Test
- USB Enumeration Stress
- USB Isochronous Alternate Interface Presence Test
- USB MS OS Descriptor Test (xHCI)
- USB Selective Suspend Test (xHCI)
- USB Serial Number Test
- USB Topology Compatibility Test
The test requires that the device is into the EHCI controller and the device is connected to the root port during the test. For some device tests, you can use the MUTT Pack as a full-speed hub as follows:
- Attach the MUTT Pack in the desired topology.
- Ensure the WinUSB driver is loaded for the device.
- Execute the following from an elevated command prompt to switch the MUTT Pack to full-speed mode (the hub will revert to default high speed behavior when it loses power):
C:\usbTest\MuttUtil.exe –hubfs
For more information about the MUTT Pack, see MUTT devices.
- USB-IF Certification Validation Test (Device)
Related topics