
How to Automate USB-C Monitor and Dock Testing with Industrial USB Hubs
Devices with integrated USB-C hubs — such as monitors, docks, and KVMs — must support a broad range of USB power and data modes. Validation and testing of these devices is challenging due to the number and variety of ports, the mix of upstream- and downstream-facing ports, and role-switching behavior.
This case study presents a practical approach used by customers to test integrated USB hub devices using a system of two Acroname USBHub3c industrial hubs. The USBHub3c is particularly suited for this application due to its extensive control and testing capabilities:
- Configurable port roles: any port can be upstream- or downstream-facing
- Power sourcing/sinking up to 100 W per port
- External load support for load testing
- Full control of USB-PD messaging
- USB 2.0 and 3.x speeds up to 10 Gbps
- Forcible speed negotiation from 1.5 Mb to 10 Gbps
- Automated cable flip testing with Universal Orientation Cable (UOC)
- Fully scriptable via BrainStem API or interactively controllable with HubTool GUI application
EXAMPLE DUT AND TEST REQUIREMENTS
For this case study, the DUT (Device Under Test) is a hypothetical monitor with an integrated USB hub and host switching.

Figure 1: Monitor Back Panel USB Connections
The DUT has two host ports (one with PD charging), and a mix of USB-C and USB-A Downstream-Facing Ports (DFPs). Note: USB 2.0 D+/D- are not bridged between sides A and B of the DUT’s USB-C ports, so a cable-flip test is required to exercise both signal pairs.

Testing Requirements
Data Tests:
- USB 2, USB 3, CC, Enumeration, link verification, flip test (USB-C only)
- Multiple data rates (1.5 Mbps to 10 Gbps), sustained 10 Gbps SSD test
Power and Load Tests:
- Verify advertised PD modes and BC 1.2 behavior
- USB-C Ports (Host and DFP): Verify PD modes, perform load tests
- USB-A Ports (DFP): Verify BC 1.2 power, perform load tests
TESTING PHILOSOPHY: VALIDATION VS FUNCTIONAL TEST
In test system design, there is a tension between the need to thoroughly validate all functions of every device versus minimizing test time. The ideal balance varies among product types and throughout the product lifecycle as designs and processes are qualified and common failure modes are identified. For example, load testing could consist of a quick voltage and current measurement or include a 30-minute burn-in test.
Start with a superset of tests, then optimize
It may make sense to initially perform more extensive tests on all devices and then switch to spot checking as confidence increases. For example, one customer discovered that data throughput testing was unnecessary; all failures occurred at the connector level, so if a device was able to enumerate, it would always pass throughput tests.
Add back more testing when needed
Having the superset of tests in place saves time when issues do come up, allowing temporary over-testing until a root cause can be identified and fixed.
TEST SYSTEM ARCHITECTURE
System Requirements
The test system must be able to:
- Switch connections between Host 1 and Host 2
- Connect a 10 Gbps SSD to each DFP and validate sustained throughput.
- Read USB-PD advertised modes • Load test all USB-A and USB-C ports
- Perform cable flip testing on USB-C ports

Figure 2: Test System Setup
To meet these requirements, we will use a system consisting of the following components:
- Two USBHub3c hubs
- Universal Orientation Cables (UOC) to enable automated USB-C flip testing
- USB A-to-C cables for DUT USB-A ports
- 10 Gbps external SSD
- External load connector and loads
- USB-PD power adapters for hub power (not shown)
USB Connections:
Hub-A is connected to:
- Host / Control PC via USB-C
- DUT host ports via UOC
- Control port of Hub-B via USB-C
Hub-B is connected to:
- Hub-A for control
- DUT USB-C DFPs via UOC
- DUT USB-A DFPs via USB-A-to-C
External Loads
For this example, each USBHub3c is connected to a single external load wired in parallel to all ports. This allows the hub to connect the load to VBUS of one port at a time. Additional loads can be added to allow for simultaneous load testing.
USBHub3c Port Capabilities
- Each port can be configured as an Upstream-Facing (host) or Downstream-Facing (device) port
- Ports can be set as USB-PD sources or sinks
- USB-C Cable flip can be forced by toggling CC1 or CC2
TEST PLAN OUTLINE
Host port data tests These tests cover USB 2, USB 3, and CC communications, for both host ports and both cable flip orientations. This only requires a connection from the host port to Hub-A (set as DFP), all other ports can be disabled.

Figure 3: Host (1) Port Data Test
1. Enable DUT Host 1 to Hub-A port 2 connection
2. Verify enumeration and USB 2/3 link speeds
3. (Virtually) flip USB-C and repeat test
4. Repeat steps 1-3 for Host 2
Host Port Power Verification and Load Test
These tests observe the advertised power modes of the DUT PD-enabled host port, and whether the outputs match expected voltages. Current sourcing capability can be checked by performing an optional load test.
1. Enable DUT Host 1 to Hub-A port 2 (PD sink) connection
2. Log advertised PDOs
3. For each PDO:
- Select PDO via Request Data Object (RDO)
- Confirm DUT VBUS matches the selected PDO voltage

Figure 4: Host Port Load Test
4. Optional load test:
- Enable Hub-A Rail 2 to connect Host 1 VBUS to the load
- Measure VBUS voltage /current output under load
DFP Power Verification and Load Testing
Our example DUT has USB-A and non-PD USB-C downstream-facing ports. We will verify that they can source the expected basic USB-C or BC 1.2 voltage and current. Since only one port on Hub-B can be set as UFP at a time, testing will be sequential.

Figure 5: DFP load tests
For each DFP (DUT Ports 1-5):
1. Set corresponding Hub-B port as upstream (sink)
2. Confirm VBUS voltage
3. Optional USB-C (non-PD) Load Test:
- Confirm Rp 3A mode (see PD log)
- Enable the corresponding Rail to connect Hub-B port VBUS to the load
- Measure VBUS voltage /current output under load
If your DUT has USB-PD DFPs, select the desired PD modes as in the host load test example.
DFP Data tests
These tests check basic USB 2 / USB 3 data connections along with optional sustained 10 Gbps reading and writing to an SSD across all DFPs, host ports, and DFP cable flip orientations.
BASIC (FAST) DFP DATA TEST
For many devices, a basic data connection test is sufficient. These tests can be performed directly by Hub-B and are faster than OS-level enumeration on the Host PC, and much faster than SSD read/write testing. USB 2 and USB 3 can enumerate simultaneously when connected to a hub, limiting the number of tests to a total of 7 (5 ports, plus two flips)
For each DFP (DUT Ports 1-5):
1. Connect DUT DFP to corresponding Hub-B port
2. Verify enumeration and USB 2/3 speeds
3. If USB-C, flip connection and repeat
END-TO-END SSD DATA TEST

Figure 6: DFP Data and SSD Test
These tests check sustained end-to-end data connections at maximum speed by having a host write to and read from a fast USB SSD through the DUT USB hub. Hub-A and Hub-B are responsible for selecting the correct Host Port and DFP. Note that the test-running host and SSD need to support at least USB 3.2 Gen 2 (USB 4 and Thunderbolt 3, 4 , or 5 will work).
The superset of all possible combinations of connections across 2 hosts, 5 DFPs, USB 2 and USB 3, and every cable flip would be a manufacturing-unfriendly 96 tests.
It is likely sufficient to check SSD throughput for each port independently (USB 3 and USB 2, sides a and b) without covering every combination of ports. This reduces the total to 14 tests (table 2).

Table 2: Example SSD read/write test sequence
For each connection to test (Table 2):
1. Connect Host PC to SSD through the DUT by configuring the corresponding Hub-A and Hub-B ports to force the specified USB connection type (USB 3/2, Side A/B:
- DUT Host port (Hub-A port 2 or 3)
- DUT DFP PUT (Hub-B port 0-4)
- SSD port (Hub-B port 5)
2. Confirm enumeration and link speeds on the host (USB 2 and 3)
3. File write, read, and compare from host through DUT to SSD. Measure actual data throughput.
Time per test is dominated by SSD read and write time. Consider pruning the total set of tests to the minimum that will still catch actual device failures, or limiting the comprehensive SSD read / write test to a subsample of devices. For example, if USB 2 is skipped, we are down to a more manageable seven tests.
OPTIMIZATIONS AND TYPICAL TEST TIMES
Combining Tests
Since device enumeration takes a few seconds, it is fastest to combine tests to use a single enumeration step for data, power, and load testing. Host port tests can occur simultaneous to DFP tests, so we can integrate power and load tests into the SSD read/write test sequence (Table 3).

Table 3: Example combined SSD / data / power / load test sequence
If the SSD test is not needed, we can take advantage of USBHub3c’s ability to enumerate USB 2 and USB 3 simultaneously, letting us merge USB 3 tests with USB 2, fora total of seven tests (Table 4)

Table 4: Example non-SSD, merged USB 2/3 test sequence
Test Times
Without load testing and SSD read/write, with combined data and power tests, testing each port takes 3 – 4 seconds. A sequence of 7 tests would then be under 30 seconds. However, since load test and sustained SSD read/write times are set by the test requirements, they could each range from seconds to tens of seconds per port.
Scalability
To parallelize device testing, multiple USBHub3c test systems can be deployed, either sharing one test-running host, or at independent test stations. For SSD read/write tests, each system requires a dedicated USB 3.2 or faster host controller on the host machine to provide the full 10 Gbps connection to each DUT.
CONCLUSION
USBHub3c efficiently tests integrated USB Hubs, covering upstream and downstream data paths, power delivery negotiation, and load testing. As an interactive validation and development tool, this platform shortens development cycles and improves product robustness, while the comprehensive API allows for efficient automated test in production environments.
APPENDIX: RELEVANT APIs
See https://acroname.com/software for complete reference.

Add New Comment