PassMark USB-C 20G Loop back plug FAQ

Which operating systems are these plugs compatible with?

  • The drivers are currently only available for Windows 10 and 11 (64-bit).

    Linux and ARM support is still being tested, and we plan to make an announcement on official support soon.

Do I need a device driver to use these plugs?

  • A device driver is required for Windows. This driver can be downloaded from our web site. Windows will prompt for the device driver the first time a plug is used. The installation process is covered in the install guide. No special device driver is required for Linux.

Are the device drivers compatible with all versions of BurnInTest and USB-C 20G Test Software?

  • The latest versions of BurnInTest and USB-C 20G Test Software work with any version of the USB-C 20G Loopback Plug device driver, however it is recommended that the latest version be used.

Does the USB-C 20G Loopback Plug appear in my Device Manager as a new USB Device?

  • Yes, you can see the USB-C 20G Loopback Plug in Windows device manager. When the driver is not installed, it will appear as "USB 20G Loopback". After the drivers are installed correctly, it will appear as "Passmark USB-C 20G Loopback Tester".

Can the USB-C 20G Loopback Plug test USB-A ports?

  • Yes, using a USB-A to USB-C cable a USB Type-A port can be connected to and tested in the exact same way. When selecting a USB-A to USB-C cable to use, ensure it is rated for the maximum speed of USB Type-A of 10Gbps.

Can the plugs also be used on PCs with older USB 2.0 ports?

  • Yes, the USB-C 20G Loopback Plug is backwards compatible to work with all USB specification versions back to USB 2.0.

How can USB 2.0 functionality be tested on USB 3.2 ports?

  • Using the USB-C 20G Test Software it is possible to force USB-C 20G Loopback Plug to be enumerated as USB2 High Speed or Full Speed.

What is the meaning of each colour on the LED?

  • There are 4 different colours that can appear on the status LED, the meaning of each colour is:

    • Green: Power on
    • Blue: Data is being sent out by the USB-C 20G Loopback Plug
    • White: Data is being received into the USB-C 20G Loopback Plug
    • Red: An error occurred.

Can I run multiple copies of the USB-C 20G Test Software at the same time?

  • Yes, you can run multiple instances of the USB-C 20G Test Software at the same time; however, you need to make sure you have opened and configured them all to be using the correct USB-C 20G Loopback Plugs before you start the first test. Setting up the test configuration can cause the currently connected Plugs to be re-enumerated, which will stop any currently running tests.

Can I run USB-C 20G Test Software at the same time as BurnInTest?

  • No, only one of these programs should be run when testing with the USB-C 20G Loopback Plug.

The red Error LED goes on. What does this mean?

  • It means the USB-C 20G Loopback Plug has flagged a Device transceiver error. Device transceiver errors are triggered when the USB transceiver on USB-C 20G Loopback Plug detects what it considers to be an error. These are events at a low level that may lead to the packet being retransmitted. They do not represent data errors at the application level. These errors are normally not visible to the user, but are displayed to help identify potential problems, for example, poor quality cables, cables that are too long, or system internals with insufficient electrical shielding with high electrical interference on the bus. Errors that may cause a device transceiver error are divided into two groups:

    Physical layer errors:

    • Elastic Buffer Overflow error
    • Elastic Buffer Underflow error
    • Receive Disparity error
    • CRC-5 error
    • CRC-16 error
    • CRC-32 error
    • Training Sequence error
    • PHY Lock Loss error

    Link layer errors:

    • PENDING_HP_TIMER Timeout: Header Packet acknowledgement has not been received by PENDING_HP_TIMEOUT. [USB 3.2: §7.2.4.1.13, p 139]
    • Rx Header Sequence Number Error: Received Rx Header Sequence Number does not match what is expected. [USB 3.2: §7.3.4.3, p 150]
    • Receive Header Packet Fail: Link Layer Block has failed to receive a Header Packet for three consecutive times. Failures are CRC errors or spurious K-symbols. [USB 3.2: §7.3.4.2, p 150]
    • Missing LGOOD_n Detection: LGOOD_n Sequence Number does not match what is expected. [USB 3.2: §7.3.5, p 150]
    • Missing LCRD_x Detection: LGOOD_n Sequence Number does not match what is expected. [USB 3.2: §7.3.5, p 150]
    • CREDIT_HP_TIMER Timeout: Remote Rx Header Buffer Credit has not been received by CREDIT_HP_TIMEOUT. [USB 3.2: §7.2.4.1.13, p 139]
    • PM_LC_TIMER Timeout: This indicates that an LGO_Ux, LAU, or LXU Link Command is missed. [USB 3.2: §7.2.4.2.1, p 142]
    • ACK Tx Header Sequence Number Error: Received LGOOD_n does not match ACK Tx Header Sequence Number. [USB 3.2: §7.3.6, p 151]
    • Header Sequence Number Advertisement PENDING_HP_TIMER Timeout: PENDING_HP_TIMER timeout before receipt of Header Sequence Number LGOOD_n Link Command. [USB 3.2: §7.3.7, p 152]
    • Header Sequence Number Advertisement HP Received Error: Header Packet received during Header Sequence Number Advertisement. [USB 3.2: §7.3.7, p 152]]
    • Header Sequence Number Advertisement LCRD_x Received Error: LCRD_x Link Command received during Header Sequence Number Advertisement. [USB 3.2: §7.3.7, p 152]
    • Header Sequence Number Advertisement LGO_Ux Received Error: LGO_Ux Link Command received during Header Sequence Number Advertisement. [USB 3.2: §7.3.7, p 152]
    • Rx Header Buffer Credit Advertisement CREDIT_HP_TIMER Timeout: CREDIT_HP_TIMER timeout before receipt of LCRD_x Link Command during Rx Header Buffer Credit Advertisement. [USB 3.2: §7.3.8, p 152]
    • Rx Header Buffer Credit Advertisement HP Received Error: Header Packet received during Rx Header Buffer Credit Advertisement. [USB 3.2: §7.3.8, p 152]
    • Rx Header Buffer Credit Advertisement LGO_Ux Received Error: LGO_Ux Link Command received during Rx Header Buffer Credit Advertisement. [USB 3.2: §7.3.8, p 152]

    For additional details of each error, please refer to the pages referenced of the USB3.2 specification, Revision 1.1.

    It should be noted that device transceiver errors are not an indication that the USB port does not comply with the USB Specification.

What is the typical cause of each type of error?

  • When low-level errors or link layer errors are reported, these typically indicate that there is a signal integrity issue and the error is occurring at the hardware level. These issues can arise from poor cable quality, bad connection at the port, or electrical issues in the USB Host controller. IO errors and timeout errors typically indicate an issue in the drivers, BIOS, or operating system and occur at the software level, preventing the data from being sent out between the USB port under test and the USB-C 20G Loopback Plug.

What maximum speed should I expect from my USB port?

  • USB3.2 Gen2x2 is normally quoted as 20Gb/Sec. Data rates will never reach these speeds on a real device because of 128b/132b encoding, protocol overhead and host and device latency. Additionally, there are also other factors which further decrease the USB port speed in practice which include:

    • Operating system and driver latency: Includes round trip time from application to the device driver and back.
    • Host controller performance: USB data throughput also depends on the performance of the USB Host controller. See table 1. Moreover, the throughput with the USB add-on cards will be less compared to the built-in USB host controllers due to extra latency caused by PCI/PCIe protocol overhead and driver latency.
    • Other devices connected: USB can only perform one read/write transfer at a time, which means any other device connected to USB will degrade performance of bulk transfers.
    • Additional software protocol overhead: For some USB device classes such as storage devices, there are additional protocol overhead and device specific delays (mass storage, read and write delay of flash chipsets) which impact the performance.
    • Error detection and recovering: Sometimes errors are frequent enough or the error recovering is time consuming enough to have an impact on the average performance.

    Table 1, 2, and 3 show the result of our test for actual throughput of USB port on different systems using USB-C 20G Loopback Plug. We limited our analysis to a single USB-C 20G Loopback Plug that is directly attached to the host.

    PC Information Host Controller Queue Size, Packet Size Average Speed (Mb/s) Max Speed (Mb/s)
    14th Gen Intel® Core™ i5-14600K, 3.50 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 16648 16937
    14th Gen Intel® Core™ i5-14500K, 2.60 GHz, 32 GB RAM USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 15608 16814
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 16337 16820
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 4, 1MB 15334 16937
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Asmedia USB 3.20 eXtensible Host Controller - 1.10 (Microsoft) 4, 1MB (Max supported by driver) 14391 14869

    *Table 1: USB3.2 Gen2x2 throughput comparison

    PC Information Host Controller Queue Size, Packet Size Average Speed (Mb/s) Max Speed (Mb/s)
    14th Gen Intel® Core™ i5-14600K, 3.50 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 8493 8516
    14th Gen Intel® Core™ i5-14500K, 2.60 GHz, 32 GB RAM USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 8093 8500
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 8427 8504
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 4, 1MB 8064 8344
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Asmedia USB 3.20 eXtensible Host Controller - 1.10 (Microsoft) 4, 1MB (Max supported by driver) 7861 8598

    *Table 2: USB3.2 Gen2x1 throughput comparison

    PC Information Host Controller Queue Size, Packet Size Average Speed (Mb/s) Max Speed (Mb/s)
    14th Gen Intel® Core™ i5-14600K, 3.50 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 7255 7470
    14th Gen Intel® Core™ i5-14500K, 2.60 GHz, 32 GB RAM USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 6960 7448
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 64, 2MB 7202 7442
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Intel® USB 3.20 eXtensible Host Controller - 1.20 (Microsoft) 4, 1MB 6931 7311
    12th Gen Intel® Core™ i5-12600K, 3.70 GHz, 32 GB RAM Asmedia USB 3.20 eXtensible Host Controller - 1.10 (Microsoft) 4, 1MB (Max supported by driver) 6496 7258

    *Table 3: USB3.2 Gen1x2 throughput comparison

I'm getting Benchmark read/write failed or blue screen errors in isochronous mode when device enumerated as Full Speed or High Speed.

  • Some USB host controllers / drivers seem to have significant problems with USB 2.0 isochronous transfers. Updating BIOS and host controller driver sometimes fix this issue.

When doing a benchmark test in USB-C 20G Test Software it says "Timeout reading benchmark data" / "Timeout writing benchmark data"?

  • Some USB host controllers have issues when too much data is queued up to be used in a benchmark test. By default, we set the queue size to 64, but this can be reduced to solve the issue by opening the test configuration menu clicking the gear icon button and setting the queue size to a smaller value until the test runs properly.

    We have found that this issue frequently occurs for USB host controllers that use an older version of the Microsoft device drivers. If this driver is being used by the USB Host controller it will appear in device manager with “- 1.20 (Microsoft)” appended to end of its name. If version “1.10 (Microsoft)” or older is used, then this issue may occur and we recommend reducing the queue size to 4.

Is there an Application Programming Interface available?

  • Yes, there is an API available.

Does USB-C 20G Loopback Plug incorporate ESD and overvoltage protection circuits?

  • USB-C 20G Loopback Plug is both positive and negative overvoltage protected. We have used TVS components to protect the plug from ESD/EFT events. However, it is not designed to be exposed to repeated high voltage spikes. The protection components degrade with ESD events and therefore prolong exposure to ESD events could eventually damage the plug. Thus, precautions should be taken to minimize the exposure to ESD/EFT strikes as the warranty does not cover the plugs damaged by ESD testing.

Can the USB-C 20G Loopback Plug be used for USB port auditing? (Detecting juice jacking)

  • Juice jacking is a term coined by researchers for when a USB charging port has been compromised in such a way to steal your data, or infect your phone or other device, or record video from the screen. When the USB-C 20G Loopback Plug is connected to a USB port, an icon is displayed at the top of the screen to indicate whether the USB port is purely a charger or if it connects to the data lines.