Jan Axelson's Lakeview Research

LVR.COM is moving to JANAXELSON.COM

JANAXELSON.COM is live now. (Try it!).
Please update your bookmarks and links.
After June 1, 2014, this site will be available ONLY at janaxelson.com and links to content at lvr.com will no longer work.

Home > USB Central > USB Development Tools

USB Development Tools

Tools and techniques for debugging and other development tasks.

USB-IF tools | Protocol analyzers | Viewing attached devices
Other tools | Obtaining a Vendor ID

Also see

USB Chips | Device Code | Device Hardware | Host Software

USB-IF tools

The USB Implementer's Forum offers free diagnostic tools including the compliance test tool USB Command Verifier (USBCV). USBCV is for use only under Windows 2000 and XP with a USB 2.0 host and hubs. There's no need to run the tests under Windows 98 or Windows Me or USB 1.x.

If for some reason you want to run USB-IF's previous testing tool, USBCheck, with USB 1.x and Windows 98, IVOVI has it. IVOVI also has the preliminary point-of-sale driver that Microsoft provided at one time but has abandoned.

Protocol analyzers

A protocol analyzer decodes, filters, and displays USB data. Some analyzers can also generate data on the bus. Some are software only, while others use hardware that connects to a USB or Ethernet port or a general-purpose logic analyzer.

Software-only analyzers

A software-only analyzer resides on a PC and displays USB traffic sent and received by that PC. A software-only analyzer can display host driver information but can't display low-level bus information.

USB Sniffer is a free tool for monitoring USB traffic. It's based on an earlier project called USB Snoopy.

USBPcap is an open-source USB analyzer for Windows.

AGG Software has the Advanced USB Port Monitor.

busTRACE bus and device analysis tool from busTRACE Technologies.

HHD Software has the USB Monitor.

Perisoft's BusHound is an analyzer for USB and other buses. Free version available.

SourceQuest's SourceUSB shows all traffic, including enumeration.

USBTrace from SysNucleus.

USB Analyzer from Eltima.

USBlyzer from usblyzer.com.

Hardware/Software analyzers

A hardware/software analyzer uses a hardware module to monitor traffic on a bus segment. The analyzer can display traffic on the segment, including NAKS, CRC errors, bit-stuff errors, and data0/1 toggles.

Steve Calfee. Kitty USB Analyzer.

Crescent Heart Software. USB-XLC and USB-2XP. For use with a logic analyzer.

FTS4USB. From Frontline.

Ellisys. USB Explorer series, including USB 3.0 and Wireless USB.

FuturePlus Systems. FS4100 and FS4120. For use with a logic analyzer.

Hitex. USB Agent.

LeCroy/CATC. Voyager, USBTracer/Trainer, Advisor, USBMobile. Includes USB 3.0.

MQP Electronics. USB2Snooper.

NitAl Consulting Services, Inc. Packet-Master.

Prodigy Technovations. USB 2.0 Protocol Decode Software for use with Tektronix Windows-based oscilloscopes.

Rabbit House (Japan). USB Streamscope.

Total Phase. Beagle USB 480 and USB 12 Protocol Analyzers.

Traffic generators

A traffic generator emulates a host and generates USB traffic.

Protocol analyzer companies with traffic generators are Ellisys, LeCroy/CATC, MQP Electronics, and NitAl Consulting Services.

PMTC has the TrafficLab traffic generator.

RPM Systems' Root 2 Test Host.

Viewing attached devices

USBView in the WDK shows the tree of all USB hubs and connected devices and each device's descriptors, with additional support for video devices. From Microsoft. No source code. UVCView is a diagnostic tool for USB video-class and other hardware and is based on USBView.

A C# version of the DDK's USBView utility. Also demonstrates how to get the serial number and other attributes from a USB flash disk. Source code only. From Emmet Gray.

USBDeview. View all installed/connected USB devices on your system. Freeware from Nir Sofer.

SIV (System Information Viewer). From Ray Hinchliffe.

Other tools

HCList is a utility that finds all of the host controllers in a system and displays a description, the host-controller type (OHCI, UHCI, EHCI), the hardware ID, and compatible ID for each. With Visual C++ source code. From tomb.

MCCI has a free Universal Serial Bus Resource Compiler that translates a plain-text description of a USB device into C data initialization structures to be placed in ROM.

MCCI's USB 3.0 Connection Exerciser simulates cable removal and attachment

Obtaining a Vendor ID

Every USB device product must have a unique Vendor ID (VID) and Product ID (PID) pair that helps to identify the device to the host computer. Each value is 32 bits.

USB Vendor IDs and their owners. Unofficial and incomplete. From Vojtech Pavlik.

There are several ways to obtain a VID and PID to use in a device.

Devices that display the USB logo

If your device will undergo compliance testing and display the USB-IF logo, your company must own the Vendor ID. (An exception is companies that are second-sourcing a product developed by another company.) You can obtain a Vendor ID by joining USB-IF or by paying a licensing fee.

Devices that don't require the USB logo

If your device will not display the USB-IF logo, you have other options.

You can buy a Vendor ID from USB-IF for a 1-time administrative fee.

Some chip manufacturers, including FTDI Chip and Microchip Technology, will assign a range of PIDs that customers can use in products with the company's VID, typically at no charge.

Chips that perform all of their USB communications in hardware can use a VID and PID embedded in the hardware. An example is FTDI's USB device controllers.

For lab use only

If your device won't be distributed to unknown host systems, the only requirement is that the VID/PID pair doesn't match any VID/PID pair in the host's INF files (or equivalent database in non-Windows hosts).

You can use Lakeview Research's VID (0925h) with PIDs from 9000h to 9100h at no charge under these conditions:

1. You use the devices only in your own lab or office.

2. You don't sell, give away, post online, or otherwise distribute source code or executable code containing Lakeview Research's Vendor ID.

3. You don't complain to me if another device uses the same VID/PID pair that your device uses.

Partner Links

***