Return to site

Usb If Xhci Host Controller

broken image


eXtensible Host Controller Interface (xHCI) is a computer interface specification that defines a register-level description of a host controller for Universal Serial Bus (USB), which is capable of interfacing with USB 1.x, 2.0, and 3.x compatible devices. The specification is also referred to as the USB 3.0 host controller specification.

  • This is a problem with the USB 3.0 Controller. Windows 8 has its own new USB stack and XHCI Controller software but this does not seem to work with the new Intel Controller. You need to force Windows 8 to use the Intel 3.0 Host Controller USB Drivers rather than the Microsoft generic drivers.
  • The eXtensible Host Controller Interface can be shortened as xHCI specifying a register-level description of a host controller for USB (Universal Serial Bus). Throughout the USB development, compared with the OHCI and UHCI used in previous time which can only support USB 1.0, and the XHCI mainly designed for USB 2.0, xHCI has many unprecedented.

USB xHCI Compliant Host Controller - Driver Download. Vendor:. Product: USB xHCI Compliant Host Controller. Hardware Class: Unknown. Search For More Drivers.: Go! Windows 10 32-Bit Driver.

xHCI improves on the pre-existing Open Host Controller Interface (OHCI) and the Universal Host Controller Interface (UHCI) architectures most prominently in handling a wider range of speeds within a single standard, in managing resources more efficiently for the benefit of mobile hosts with limited power resources (such as tablets and cell phones), and in simplifying support for mixing of low-speed and high-speed devices.

Architectural goals[edit]

The xHCI is a radical break from the previous generations of USB host controller interface architectures (i.e. the Open Host Controller Interface (OHCI), the Universal Host Controller Interface (UHCI), and the Enhanced Host Controller Interface (EHCI)) on many counts.Following are the key goals of the xHCI architecture:

  • Efficient operation – idle power and performance better than legacy USB host controller architectures.
  • A device level programming model that is fully consistent with the existing USB software model
  • Decouple the host controller interface presented to software from the underlying USB protocols
  • Minimize host memory accesses, fully eliminating them when USB devices are idle
  • Eliminate register writes and minimize register reads for normal data transfers
  • Eliminate the 'Companion Controller' model
  • Enable hardware 'fail-over' modes in system resource constrained situations so devices are still accessible, but perhaps at less optimal power/performance point
  • Provide the ability for different markets to differentiate hardware capabilities, e.g. target host controller power, performance and cost trade-offs for specific markets
  • Define an extensible architecture that provides an easy path for new USB specifications and technologies, such as higher bandwidth interfaces, optical transmission medium, etc., without requiring the definition of yet another USB host controller interface

Architectural details[edit]

Support for all speeds[edit]

The OHCI and UHCI controllers support only USB 1 speed devices (1.5 Mbit/s and 12 Mbit/s), and the EHCI only supports USB 2 devices (480 Mbit/s).

The xHCI architecture was designed to support all USB speeds, including SuperSpeed (5 Gbit/s) and future speeds, under a single driver stack.

Power efficiency[edit]

When USB was originally developed in 1995, it was targeted at desktop platforms to stem the proliferation of connectors that were appearing on PCs, e.g. PS/2, serial port, parallel port, Game Port, etc., and host power consumption was not an important consideration at the time. Since then, mobile platforms have become the platform of choice, and their batteries have made power consumption a key consideration. The architectures of the legacy USB host controllers (OHCI, UHCI, and EHCI) were very similar in that the 'schedule' for the transactions to be performed on the USB were built by software in host memory, and the host controller hardware would continuously read the schedules to determine what transactions needed to be driven on the USB, and when, even if no data was moved. Additionally, in the case of reads from the device, the device was polled each schedule interval, even if there was no data to read.

  • The xHCI eliminates host memory based USB transaction schedules, enabling zero host memory activity when there is no USB data movement.
  • The xHCI reduces the need for periodic device polling by allowing a USB 3.0 or later device to notify the host controller when it has data available to read, and moves the management of polling USB 2.0 and 1.1 devices that use interrupt transactions from the CPU-driven USB driver to the USB host controller. EHCI, OHCI, and UHCI host controllers would automatically handle polling for the CPU if there are no changes that need to be made and if no device has any interrupts to send but they all rely on the CPU to set the schedule up for the controllers.[1][2][3] If any USB device using interrupt transactions does have data to send, then an xHCI host controller will send an interrupt to notify the CPU that there is a USB interrupt transaction that needs handling. Since the CPU no longer has to manage the polling of the USB bus, it can spend more time in low power states.
  • The xHCI does not require that implementations provide support for all advanced USB 2 and 3 power management features, including USB 2 LPM, USB 3 U1 and U2 states, HERD, LTM, Function Wake, etc.; but these features are required to realize all of the advantages of xHCI.

Virtualization support[edit]

Legacy USB host-controller architectures exhibit some serious shortcomings when applied to virtualized environments. Legacy USB host-controller interfaces define a relatively simple hardware, where USB 2 devices are managed through the EHCI stack, and the port logic of the EHCI allows a low-speed or full-speed USB device to be routed to a port of a 'companion' UHCI or OHCI controller, where the low-speed or full-speed USB devices are managed through the respective UHCI or OHCI stack. For example, a USB 2 PCIe host controller card that presents 4 USB 'Standard A' connectors typically presents one 4-port EHCI and two 2-port OHCI controllers to system software. When a high-speed USB device is attached to any of the 4 connectors, the device is managed through one of the 4 root hub ports of the EHCI controller. If a low-speed or full-speed USB device is attached to connectors 1 or 2, it will be routed to the root hub ports of one of the OHCI controllers for management, and low-speed and full-speed USB devices attached to connectors 3 or 4 will be routed to the root hub ports of the other OHCI controller. The EHCI dependence on separate host controllers for high-speed USB devices and the group of low-speed and full-speed USB devices results in complex interactions and dependencies between the EHCI and OHCI/UHCI drivers.

  • The xHCI architecture eliminates the need for companion controllers and their separate driver stacks.
  • The incorporation of the schedule, bandwidth management, and USB device address assignment functions, that were previously performed by the driver in to the xHCI hardware enable a simpler, leaner, lower latency software stack for the xHCI.

Stream support[edit]

Support for Streams was added to the USB 3.0 SuperSpeed specification, primarily to enable high performance storage operations over USB. Classically there has been a 1:1 relationship between a USB endpoint and a buffer in system memory, and the host controller solely responsible for directing all data transfers. Streams changed this paradigm by providing a 1-to-many 'endpoint to buffer' association, and allowing the device to direct the host controller as to which buffer to move. The USB data transfers associated with a USB Stream endpoint are scheduled by the xHCI the same as any other bulk endpoint is, however the data buffer associated with a transfer is determined by the device.

  • The xHCI USB Stream support allows up to 64K buffers to be associated with a single endpoint.
  • The xHCI Streams protocol support allows a USB device to select which buffer that the xHCI will transfer when the endpoint is scheduled.

Scalability[edit]

The xHCI architecture was designed to be highly scalable, capable of supporting 1 to 255 USB devices and 1 to 255 root hub ports. Since each USB device is allowed to define up to 31 endpoints, an xHCI that supported 255 devices would have to support 7,906 separate total endpoints. Classically, each memory buffer associated with an endpoint is described by a queue of physical memory blocks, where the queue requires a head pointer, tail pointer, length and other registers to define its state. There are many ways to define queue state, however if one were to assume 32 bytes of register space for each queue, then almost a 256KB of register space would be required to support 7,906 queues. Typically only a small number of USB devices are attached to a system at one time, and on the average a USB device supports 3-4 endpoints, of which only a subset of the endpoints are active at the same time.The xHCI maintains queue state in system memory as Endpoint Context data structures. The contexts are designed so that they can be cached by the xHCI, and 'paged' in and out as a function of endpoint activity. Thus a vendor can scale their internal xHCI Endpoint Context cache space and resources to match the practical usage models expected for their products, rather than the architectural limits that they support. Ideally the internal cache space is selected so that under normal usage conditions, there is no context paging by the xHCI.Also USB endpoint activity tends to be bursty. That is, at any point in time a large number of endpoints may be ready to move data, however only a subset are actively moving data. For instance, the interrupt IN endpoint of a mouse may not transfer data for hours if the user is away from their desk. xHCI vendor specific algorithms could detect this condition and make that endpoint a candidate for paging out if other endpoints become busy.

  • The xHCI architecture allows large maximum values for the number of USB devices, ports, interrupt vectors, etc. supported, however an implementation only needs to define the number necessary to meet its marketing requirements. For instance, a vendor could choose to limit the number of USB devices that it supported for a tablet xHCI implementation to 16 devices.
  • A vendor can further take advantage of xHCI architectural features to scale its internal resources to match its target usage models. For instance, if through usability testing a vendor determines that 95% of tablet users will never connect more than 4 USB devices, and each USB device typically defines 4 endpoints (or less), then internal caching for 16 Endpoint Contexts will ensure that under normal conditions there will be no system memory activity due to Endpoint Context paging.

History[edit]

The Open Host Controller Interface (OHCI) specification was defined by a consortium of companies (Compaq, Microsoft, and National Semiconductor) as open specification to support USB 1.0 devices. The Universal Host Controller Interface (UHCI) refers to a specification that Intel originally defined as a proprietary interface to support USB 1.0 devices. The UHCI specification was eventually made public, but only after the rest of industry had adopted the OHCI specification.

The EHCI specification was defined by Intel to support USB 2.0 devices. The EHCI architecture was modeled after the UHCI and OHCI controllers, which required software to build the USB transaction schedules in memory, and to manage bandwidth and address allocation. To eliminate a redundant industry effort of defining an open version of a USB 2.0 host controller interface, Intel made the EHCI specification available to the industry with no licensing fees.

The EHCI licensing model was continued for Intel's xHCI specification, however with a greatly expanded industry contribution. Over 100 companies have contributed to the xHCI specification. The USB Implementers Forum (USB-IF) has also funded a set of xHCI Compliance Tests to maximize the compatibility of the various xHCI implementations.

xHCI 1.0 controllers have been shipping since December 2009. Linux kernels since 2009 contain xHCI drivers,[4] but for older kernels there are drivers available online. Windows drivers for XP, Vista, and Windows 7 are available from the respective xHCI vendors. xHCI drivers for embedded system are available from MCCI, Jungo, and other software vendors. xHCI IP blocks are also available from several vendors for customization in SOC environments. xHCI 1.1 controllers and devices began shipping in 2015.

Version history[edit]

The xHCI specification uses 'errata' files to define updates and clarifications to a specific release. The changes in the errata files are accumulated in each release. Refer to the associated errata files for the details of specific changes.Most changes defined in the xHCI errata files are clarifications, grammatical or spelling corrections, additional cross-references, etc., which do not affect a driver implementation. Changes that are determined to be architectural utilize a Capability flag to determine whether a particular feature is supported by an xHCI implementation, and an Enable flag to turn on the feature.

Prereleases[edit]

The xHCI specification evolved through several versions before its official release in 2010:

  • xHCI 0.9: Released in August 2008.
  • USB 0.95: Released in December 2008.
  • USB 0.96: Released in August 2009.
  • USB 0.96a: 1.0 Release Candidate, Released in April 2010. First shipping devices based on this version.

xHCI 1.0[edit]

  • xHCI 1.0: First public release, May 21, 2010.
    Specified USB data rates of 1.5 Mbit/s (Low-speed), 12 Mbit/s (Full-speed), 480 Mbit/s (High-speed) and 5 Gbit/s (SuperSpeed).
  • xHCI 1.0, errata files 1-4: Released on January 17, 2011.
    Incorporated initial review feedback from larger 1.0 public audience, Save-Restore clarifications, and Hardware LPM support.
  • xHCI 1.0, errata files 1-6: Released on March 18, 2011.
    Clarifications.
  • xHCI 1.0, errata files 1-7: Released on June 13, 2011.
    Clarifications.

xHCI 1.1[edit]

  • xHCI 1.1: Released on December 21, 2013. Specified USB 3.1 data rate of 10 Gbit/s (SuperSpeed+). This incorporates xHCI 1.0 errata files 1-21. Allows controller to require a larger number of scratchpad buffers (up to 1023) in HCSPARAMS2 capability register.

xHCI 1.2[edit]

  • xHCI 1.2: Dated May 2019. Specified USB 3.2 data rates of 10 Gbit/s (SuperSpeedPlus Gen1x2) and 20 Gbit/s (SuperSpeedPlus Gen2x2).[5]

References[edit]

  1. ^'UHCI11D.DOC'(PDF). Ftp.netbsd.org. Retrieved 2017-01-09.
  2. ^'Archived copy'(PDF). Archived from the original(PDF) on 2015-08-10. Retrieved 2014-07-02.CS1 maint: archived copy as title (link)
  3. ^[1][dead link]
  4. ^'USB 3.0 in Linux kernel'. hvera.wordpress.com. Retrieved 2017-02-02.
  5. ^https://www.intel.com/content/www/us/en/products/docs/io/universal-serial-bus/extensible-host-controler-interface-usb-xhci.html

External links[edit]

Wikimedia Commons has media related to USB.
The Wikibook Serial Programming:USB Technical Manual has a page on the topic of: USB connectors
  • Open Host Controller Interface (OHCI)[permanent dead link]
  • Intel Universal Host Controller Interface (UHCI)[permanent dead link]Archived there
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Extensible_Host_Controller_Interface&oldid=973065807'

General Test Tools

USB Power Delivery /USB Type-C Test Tools

USB4TM Test Tools

xHCI-based Test Tools

EHCI-based Test Tools

Electrical Test Tools and Fixtures

Products Used for Testing

Please review the USB-IF Compliance Updates webpage frequently for the latest information regarding the USB-IF Compliance Program. The updates may contain information on test requirements and/or test procedures. Subscribe to the USB-IF Compliance Update Mailing List by emailing admin@usb.org.

General Test Tools

USB Vendor Info File Generator

USB Vendor Info File Generator Version 3.1.0.2 (Updated October 9, 2020 ) can be downloaded here.

USB Power Delivery/USB Type-C Test Tools

QuadDraw and QuadraView

QuadDraw is the official software for the QuadraMAX hardware, and QuadraView is the official software for viewing the results generated by a QuadraMAX.

  • The Non-PPS Test Manual : QuadraMAX Manual
  • The PPS Test Manual: QuadraMAX PPS Test Manual

NOTE: The QuadDraw tool is supported on Windows 7 and above only.
NOTE: QuadDraw requires .NET 4.5

USB4TM Test Tools

USB4CV Tool

This tool is used to test the Logical Layer, Protocol Layer, and Tunneling functionality of a USB4 Router. This tool takes control over the USB4 Connection Manager and renders all products connected to it unusable. USB4CV should not be installed on an oscilloscope or any system that uses USB as its only form of input from the user.


The USB4CV tool Ver. 0.9.1.2 (Updated October 22, 2020) is available below.

NOTE 1: In order to use USB4CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The USB4CV tool is supported on Windows 10 and above.

If you have questions please email techadmin@usb.org.

For vendors seeking version numbers to be used at upcoming workshops please visit the compliance updates page found here.

USB4 Electrical Test Tool (ETT)

This tool kit contains the Window-based ETT utility used to initiate test modes on a USB4 Router.


The USB4 ETT tool Ver. 0.9.7 is available below in a zip file. This includes both GUI and CLI version. See included documentation for instructions on how to run the tool.

If you have any questions, please contact techadmin@usb.org.

Wilder Controller

Visit www.wilder-tech.com for information about Wilder products.

Host

USB4 Test Fixtures and Microcontroller

Contact Sales@wilder-tech.com for sales information.

Contact Support-USB@wilder-tech.com with any Wilder hardware or software support questions.

xHCI-based Test Tools

USB3CV Tool

USB3CV is used to test USB 2.0 devices and USB 3.2 devices. This tool is used to test a USB product's control messaging, descriptors and basic protocol when connected to an xHCI controller. This tool takes control over the USB host controller and renders all products connected to it unusable. USB3CV should not be installed on an oscilloscope or any system that uses USB as its only form of input from the user.

The USB3CV tool Ver. 2.1.16.0 (Updated July 27, 2020) is available below.

NOTE 1: In order to use USB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The USB3CV tool is supported on Windows 7 and above.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Company List here: https://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.


For vendors seeking version numbers to be used at upcoming workshops please visit the compliance updates page found here.

XHCICV Tool

This tool is used to test an xHCI controller for compliance to the xHCI Specification. This tool takes control over the USB host controller and renders all products connected to it unusable. Testing requires use of compliance devices, a device that supports LPM-L1, and samples of all speeds of devices supported by the xHCI controller being tested.

The XHCICV tool Ver. 2.2.4.0 (Updated October 30, 2020) is available below.

NOTE 1: In order to use XHCICV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The XHCICV tool is supported on Windows 7 and above.

If you have questions please email techadmin@usb.org.

HUB3CV Tool

This tool is used to test a USB Hubs control messaging, descriptors and basic protocol when connected to an xHCI controller. For the definition of a USB hub please refer to the USB base specifications. This tool takes control over the USB host controller and renders all products connected to the host controller unusable. USB3CV should not be installed an oscilloscope or any system that uses USB as its only form of input from the user.

The HUB3CV tool Ver. 1.3.15.0 (July 27, 2020) is available below.

NOTE 1: In order to use HUB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2 : The HUB3CV tool is supported on Windows 7 and above only.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Valid USB Vendor ID Numbers here: http://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.

DualHostUSB3CV Tool

Usb Xhci Driver Windows 10

Some system architectures use 2 xHCI hosts for a single connector. One host provides the 3.2 port, the other host provides the 2.0 port. DualHostUSB3CV is designed to test this architecture and contains a subset of tests from USB3CV and DualHostUSB3CV that need to be aware of both 2.0 and 3.2 speeds.


The DualHostUSB3CV tool Ver. 0.7.3.0 (November 5, 2020) is available below.

NOTE 1: In order to use DualHostUSB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2 : The DualHostUSB3CV tool is supported on Windows 7 and above only.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Valid USB Vendor ID Numbers here: http://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.

USB xHSETT

This tool kit contains the Window-based HSETT utility used to initiate test modes through an xHCI controller. xHSETT also enables electrical testing for Enhanced SuperSpeed products. Detailed test procedures for high-speed host, hub and device electrical testing, tailored to common test equipment, can be downloaded here.

The USBxHSETT tool Ver. 1.3.6.7 is available below

HSETT Documentation version 0.41 for EHCI and xHCI

NOTE 1: In order to use USBHSET, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The USBHSET tool works on Windows 7 and above only. Email admin@usb.org if you would like an old version of the tool that supports XP.

If you have any questions, please contact usbcompliance@usb.org.

EHCI-based Test Tools

USB20CV

USB20CV is the compliance test tool which evaluates High, Full and Low-speed USB devices for conformance to the USB Device Framework (Chapter 9), Hub device class (Chapter 11), HID class, and OTG specifications. Also included are mass storage class and USB video class specification tests. All USB peripherals and hubs are required to pass the Device Framework tests in order to gain certification. The other tests are mandatory for certification when supported. This tool takes control over the USB host controller and renders all products connected to it unusable. USB2CV should not be installed an oscilloscope or any system that uses USB as its only form of input from the user.

The USB20CV tool Ver. 1.5.13.0 is available below

NOTES

  • If you have installed a previous version of the USB 2.0 Command Verifier, you must uninstall it before installing the new version
  • The USB20CV tool is supported on Windows 7 and above only.
  • Please download the Company List and save as usb.if in the same directory as USB20CV.
  • Please do not install this tool on a machine that already has previous versions of USB20CV installed. This tool requires an Enhanced Host Controller Interface, EHCI. If testing Full or Low-speed devices, an intervening Hi-Speed USB Hub is required. USB20CV uses a special purpose driver for the Hi-Speed USB Host Controller. USB20CV automatically replaces the standard Microsoft EHCI host driver with its own test stack driver. When USB20CV exits, the original standard Microsoft EHCI host driver is restored. Stack switching has been extensively tested with Microsoft EHCI drivers only. Stack switching has not been tested with USB 2.0 host controller drivers provided by other vendors. Please read the Release Notes for details

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Company List here: https://www.usb.org/developers

USBHSETT

This tool kit contains the Window-based HSETT utility used to initiate test modes on an EHCI host controller. Detailed test procedures for high-speed host, hub and device electrical testing, tailored to common test equipment, can be downloaded here. A USB Electrical Analysis Tool is available separately for download (see USBET above). The procedures for legacy testing can be found in the USB-IF Compliance Program area. This software provided courtesy of Intel Corporation.

The USBHSET tool Ver. 1.3.5.6 is available below.

HSET Documentation version 0.41 for EHCI and xHCI


NOTE: The USBHSET tool works on Windows 7 and above only. Email admin@usb.org if you would like an old version of the tool that supports XP.

Electrical Test Tools and Fixtures

Usb xhci compliant host controller download

USB4 Test Fixtures and Microcontroller

Contact Sales@wilder-tech.com for sales information.

Contact Support-USB@wilder-tech.com with any Wilder hardware or software support questions.

xHCI-based Test Tools

USB3CV Tool

USB3CV is used to test USB 2.0 devices and USB 3.2 devices. This tool is used to test a USB product's control messaging, descriptors and basic protocol when connected to an xHCI controller. This tool takes control over the USB host controller and renders all products connected to it unusable. USB3CV should not be installed on an oscilloscope or any system that uses USB as its only form of input from the user.

The USB3CV tool Ver. 2.1.16.0 (Updated July 27, 2020) is available below.

NOTE 1: In order to use USB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The USB3CV tool is supported on Windows 7 and above.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Company List here: https://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.


For vendors seeking version numbers to be used at upcoming workshops please visit the compliance updates page found here.

XHCICV Tool

This tool is used to test an xHCI controller for compliance to the xHCI Specification. This tool takes control over the USB host controller and renders all products connected to it unusable. Testing requires use of compliance devices, a device that supports LPM-L1, and samples of all speeds of devices supported by the xHCI controller being tested.

The XHCICV tool Ver. 2.2.4.0 (Updated October 30, 2020) is available below.

NOTE 1: In order to use XHCICV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The XHCICV tool is supported on Windows 7 and above.

If you have questions please email techadmin@usb.org.

HUB3CV Tool

This tool is used to test a USB Hubs control messaging, descriptors and basic protocol when connected to an xHCI controller. For the definition of a USB hub please refer to the USB base specifications. This tool takes control over the USB host controller and renders all products connected to the host controller unusable. USB3CV should not be installed an oscilloscope or any system that uses USB as its only form of input from the user.

The HUB3CV tool Ver. 1.3.15.0 (July 27, 2020) is available below.

NOTE 1: In order to use HUB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2 : The HUB3CV tool is supported on Windows 7 and above only.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Valid USB Vendor ID Numbers here: http://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.

DualHostUSB3CV Tool

Usb Xhci Driver Windows 10

Some system architectures use 2 xHCI hosts for a single connector. One host provides the 3.2 port, the other host provides the 2.0 port. DualHostUSB3CV is designed to test this architecture and contains a subset of tests from USB3CV and DualHostUSB3CV that need to be aware of both 2.0 and 3.2 speeds.


The DualHostUSB3CV tool Ver. 0.7.3.0 (November 5, 2020) is available below.

NOTE 1: In order to use DualHostUSB3CV, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2 : The DualHostUSB3CV tool is supported on Windows 7 and above only.

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Valid USB Vendor ID Numbers here: http://www.usb.org/developers

If you have any questions, please contact usbcompliance@usb.org.

USB xHSETT

This tool kit contains the Window-based HSETT utility used to initiate test modes through an xHCI controller. xHSETT also enables electrical testing for Enhanced SuperSpeed products. Detailed test procedures for high-speed host, hub and device electrical testing, tailored to common test equipment, can be downloaded here.

The USBxHSETT tool Ver. 1.3.6.7 is available below

HSETT Documentation version 0.41 for EHCI and xHCI

NOTE 1: In order to use USBHSET, User Account Control (UAC) must be turned off. After turning off UAC, the system must be rebooted.
NOTE 2: The USBHSET tool works on Windows 7 and above only. Email admin@usb.org if you would like an old version of the tool that supports XP.

If you have any questions, please contact usbcompliance@usb.org.

EHCI-based Test Tools

USB20CV

USB20CV is the compliance test tool which evaluates High, Full and Low-speed USB devices for conformance to the USB Device Framework (Chapter 9), Hub device class (Chapter 11), HID class, and OTG specifications. Also included are mass storage class and USB video class specification tests. All USB peripherals and hubs are required to pass the Device Framework tests in order to gain certification. The other tests are mandatory for certification when supported. This tool takes control over the USB host controller and renders all products connected to it unusable. USB2CV should not be installed an oscilloscope or any system that uses USB as its only form of input from the user.

The USB20CV tool Ver. 1.5.13.0 is available below

NOTES

  • If you have installed a previous version of the USB 2.0 Command Verifier, you must uninstall it before installing the new version
  • The USB20CV tool is supported on Windows 7 and above only.
  • Please download the Company List and save as usb.if in the same directory as USB20CV.
  • Please do not install this tool on a machine that already has previous versions of USB20CV installed. This tool requires an Enhanced Host Controller Interface, EHCI. If testing Full or Low-speed devices, an intervening Hi-Speed USB Hub is required. USB20CV uses a special purpose driver for the Hi-Speed USB Host Controller. USB20CV automatically replaces the standard Microsoft EHCI host driver with its own test stack driver. When USB20CV exits, the original standard Microsoft EHCI host driver is restored. Stack switching has been extensively tested with Microsoft EHCI drivers only. Stack switching has not been tested with USB 2.0 host controller drivers provided by other vendors. Please read the Release Notes for details

Follow these instructions to download a JSON version of the USB-IF Company List:

  1. Click on this link: https://cms.usb.org/usb/api/usbif.json. Please wait until it loads completely.
  2. Copy the full contents of the JSON USB-IF Company List.
  3. Paste the full contents into a text file named usbif.json.

View .pdf version of Company List here: https://www.usb.org/developers

USBHSETT

This tool kit contains the Window-based HSETT utility used to initiate test modes on an EHCI host controller. Detailed test procedures for high-speed host, hub and device electrical testing, tailored to common test equipment, can be downloaded here. A USB Electrical Analysis Tool is available separately for download (see USBET above). The procedures for legacy testing can be found in the USB-IF Compliance Program area. This software provided courtesy of Intel Corporation.

The USBHSET tool Ver. 1.3.5.6 is available below.

HSET Documentation version 0.41 for EHCI and xHCI


NOTE: The USBHSET tool works on Windows 7 and above only. Email admin@usb.org if you would like an old version of the tool that supports XP.

Electrical Test Tools and Fixtures

SigTest Tool

SigTest is the official tool for SuperSpeed USB transmitter voltage, LFPS, and Signal Quality electrical compliance testing as well as for calibrating SuperSpeed receiver test solutions. SigTest is designed to be used with the SuperSpeed electrical test fixture available in the USB-IF eStore.

  • SigTest version 4.0.23.2 (January 3, 2018) is available at https://www.intel.com/content/www/us/en/design/technology/high-speed-io/tools.html and should be used for USB 3.1 Gen 2 products.
  • The SigTest tool Ver. 3.2.11.3 (April 6, 2017) is available at https://www.intel.com/content/www/us/en/design/technology/high-speed-io/tools.html and should be used for USB 3.1 Gen 1 and older. SigTest 3.2.11.3 has been updated to remove the pass/fail criteria for Rj on the 5G transmitter electrical test.

USB Electrical Analysis Tool 20

USBET20 is a stand-alone electrical signal analysis tool for USB Compliance testing. USBET20 is the official compliance electrical analysis tool that performs pass/fail assessments on signal quality and inrush current data captured from an oscilloscope.

Usb-if Xhci Host Controller Error

The USBET20 tool Ver. 1.32.02 (8MB, November 2019) is available below.
• USBET20 32-bit Windows

USBET20 accepts .tsv and .csv data files generated by USB-IF approved digital oscilloscopes and produces the familiar .html results files of the analysis. Proteus sonsivri download.

NOTE 1: The only official analysis tool for certifying signal quality and inrush current is USBET20 published by the USB-IF. Some of the approved oscilloscope test solutions use proprietary software to assess signal quality and inrush current events. Please be sure to run captured signal quality and inrush current test data through USBET20 for an official assessment of the measurement.
NOTE 2: The USBHSET tool works on Windows 7 and above only.

USB HS Host SQ Test Fixture

Fixtures can be purchased directly from Allion at https://www.allion.com/fixture-usb-type-a-b/.

Via Usb Host Controller Driver

Fixtures can be purchased directly from Eurofins at http://testusb.com/shop.htm

Usb Xhci Host Controller Driver

USB2.0 Type-C™ Electrical Test Fixtures

USB USB 2.0 Type-C™ Electrical Test Fixtures
Fixtures for testing the USB2.0 electrical compliance parameters for USB Type-C™ devices, hosts and hubs are available and exists of two fixtures:

1. USB2.0 Type-C™ plug test fixture (FS-HUCP)
2. USB2.0 Type-C™ receptacle test fixture (FS-HUCR)

Usb-if Xhci Host Controller Windows 10

Technical and purchase details can be found at http://testusb.com/TypeC20.html





broken image