Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The HLK requirements are not designed to provide complete end-to-end functional test coverage for the USB4 feature set. We recommend that you perform thorough validation of important usage scenarios. Here are some tests that are required:
Enable standard driver verifier on the USB4 connection manager drivers (Usb4HostRouter.sys and Usb4DeviceRouter.sys) during testing and bring-up. The drivers are designed to break into an attached kernel debugger when they detect certain violations of software or hardware requirements.
> verifier.exe /standard /driver Usb4HostRouter.sys Usb4DeviceRouter.sys Wdf01000.sysPerform compatibility testing with various USB4 and Thunderbolt™ 3 devices and hubs.
Perform compatibility testing with various monitors, PCIe and USB 3.x peripherals by tunneling them over a USB4 domain.
Use the USB4 Switch to automate and stress test connect and disconnect of a USB4 or Thunderbolt™ 3 hub or device. Details are provided in How to test with the USB4 Switch.
Validate that when the tunneled devices are idle, the USB4 domain powers down. Based on the _DSD port mappings for USB 3.x and PCIe described in the ACPI requirements for USB4, the domain should enter sleep only after the USB 3.x and PCIe devices are idle (in Dx where x > 0). For display graphics after the monitor associated with the display tunnel turns off, the USB4 domain should enter sleep.
After the domain powers down, when a tunneled protocol device initiates wake, verify USB4 domain powers back up and the protocol wake is replayed. The tunneled devices should not undergo PnP visible re-enumeration.
Stress test system power transitions, such as hibernate. For modern standby transitions, confirm that the USB4 domain powers down and does not block the system from entering DRIPS. For more information, see Modern Standby stress and long-duration testing.
Across various test scenarios and transitions, ensure that the USB4 host and device routers are not in a failed PnP state. They should not display a yellow bang in device manager.
Perform interdomain testing as described in USB4 Interdomain connections.
Test high bandwidth monitors concurrently with USB 3.x isochronous devices like cameras. With this topology perform connect and disconnect of the peripherals and system power transitions. Ensure that the peripherals remain functional.
Exercise DisplayPort™ alternate mode on USB4 capable ports. If there are multiple USB4 capable ports, exercise USB4 device topologies, including tunneled monitors, on one of the ports while concurrently testing DisplayPort™ alternate mode on the other ports.
Basic Validation Tests
The following tests are recommended to validate basic functionality and usability of USB4 platform, firmware and driver updates. This is not a replacement for a comprehensive test plan, but a reasonable set of "smoke tests" that can be run relatively quickly to catch regressions and usability bugs in incremental USB4 updates.
- USB4 HLK Tests: refer to USB4 HLK requirements
- Run all tests under System.Fundamentals.SystemUSB.USB4.*
- Run all tests under Device.BusController.USB4.*
- Basic Enumeration: verify enumeration and basic functionality for:
- USB4 dock + display + USB3 storage + USB2 input
- Thunderbolt 3 dock + display + USB3 storage + USB2 input
Verify that all docks and devices are successfully enumerated in the Device Manager under the respective USB4 and USB3 host controllers, without any failed devices. Verify that USB input is working, files can be copied to and from the storage device and the desktop can be extended to the external tunneled display.
- Display: verify full resolution and refresh rate for:
- USB4 dock + two 4K displays
- Attach the two displays directly to the USB Type-C connectors on the host (Alt-mode)
Verify in the System > Display > Advanced display Settings page that the displays concurrently operate at at-least 4K 60HZ
- Camera (Isochronous) Streaming: verify continuous, glitch-free streaming in the camera app for:
- USB4 dock + USB3 camera
- USB3 camera direct attached
Open the built-in camera app and begin streaming from the external camera. Stream continuously for at least 1 minute, ensuring no visual glitches that would compromise basic video conferencing functionality.
- System Standby
- Attach USB4 dock + display + USB3 storage + USB2 input
- Enter standby, wait between 30 seconds and 2 minutes, then wake the system
- Confirm all devices function correctly before and after each cycle
- Repeat 5 times consecutively
As in the Basic Enumeration test, verify successful enumeration and basic functionality of all devices on every iteration to verify that functionality isn't lost across the system power transition.
- System Reboot: repeat Standby test but reboot the system instead
- System Hibernate: repeat Standby test but hibernate the system instead
- Basic Interoperability
- Display: test with at least 3 different display models from different manufacturers. Test in both tunneled and DisplayPort Alternative Mode.
Verify in the System > Display > Advanced display Settings page that each display operates at its expected resolution and refresh rate.
- USB4 Routers: test with at least 10 different USB4 dock or device models. Include at least one of each silicon type listed below, verifying successful enumeration and basic operation of each.
- Intel Thunderbolt 4
- Intel Thunderbolt 5
- Via USB4
- Asmedia USB4
- Realtek USB4
- Intel Thunderbolt 3 (Titan Ridge)
- Intel Thunderbolt 3 (Alpine Ridge)
Verify from the device manager that each router is enumerated. Verify that PCIe and USB3 tunneled hubs or switches and any embedded devices are enumerated (as applicable). For docks with downstream Type-C, DisplayPort or HDMI ports, attach a display and verify that DisplayPort tunneling is successful.
- Plug/Unplug Stress
- USB4 Switch configuration:
- Port 1: USB4 dock + display + USB3 storage device
- Port 2: Thunderbolt 3 dock + display + USB3 storage
- Run ConnExUtil.exe /cxstress
- Let this run continuously for 15 minutes, then stop with Ctrl-C.
- Remove the switch and directly connect the USB4 dock to the same port. Verify enumeration and correct function of the dock, display and storage device.
- Long-term stability target is 24+ hours. For test and self-host quality, a minimum of 15 minutes is required.
Verify that plug/unplug stress has not caused system instability such as crashes, unexpected restarts or host router/controller errors such as failed ("yellow-bang") nodes in Device Manager. Verify that upon terminating the stress test, the port is still able to detect and enumerate new devices and charge the host system.
- USB4 Switch configuration:
How to test with the USB4 Switch
By default, the USB4 Switch is disabled in that it won't enumerate devices. To enable, download the Tools in the MUTT software package.
Connect the USB4 Switch to a USB4 port on the system under test.
Connect a Micro-B USB cable to the Switch and the other end of the Micro-B USB cable to a USB-A port on the system under test or the system you wish to use to control the switch.
From an elevated command window, navigate to where the MUTT tools are located. Run this to confirm that the USB4 Switch is detected:
> ConnExUtil.exe /list 1 Connection Exerciser Device Attached \\?\usb#vid_045e&pid_0646&mi_00#6&1456cc2b&0&0000#{86e0d1e0-8089-11d0-9ce4-08003e301f73}Run this to switch to Port 1:
> ConnExUtil.exe /setport 1 1 ConnectiCon Exerciser Device Attached Switching to Port: 1Once you run this, it will enumerate whatever is connected to port 1 and you should see a blue LED light up, as shown in this picture:
Note
If the LED doesn't light up, the switch may still be functioning properly. You can confirm this by checking that the downstream device is successfully enumerated in the device manager or using "connexutil /getPort".
Run the following command to switch to Port 2:
> ConnExUtil.exe /setport 2 1 Connection Exerciser Device Attached Switching to Port: 2Another test that is of very high value is to run /CxStress for stress testing.
> ConnExUtil.exe /cxstressIn addition to the test above, stress tests can be run while varying the time between connect and disconnect. This can be helpful to give enough time for the USB4 domain to power down before connect or disconnect.
> ConnExUtil.exe /cxstress /mintime 5000 /maxtimeconnected 10000 /maxtimedisconnected 10000
See also
- Universal Serial Bus 4
- Introduction to the USB4 connection manager in Windows
- USB4 design details and general requirements
- USB4 ACPI requirements
- USB4 power management requirements
- USB4 interdomain connections
- USB4 debugging and troubleshooting
Thunderbolt is a trademark of Intel Corporation or its subsidiaries.
"USB4™" is a trademark of USB Implementers Forum and is only intended for use with products based on and compliant with the USB4™ specification.