Revision 1.1 – 4th Jan 2012

 

 

 

 USB Protocol Capture

 

 

USBlyzer

SnoopyPro

Device Monitoring Studio

Mac USB Prober

Contact

 

If you have a USB device that you would like supported by UPDD then we need to know certain characteristics of the device to be able to add support.  These include the USB vendor and product id, touch data initialisation (if required) interface and endpoint utilisation and touch data packet format.

 

This document describes some methods of capturing the relevant USB information on various host systems.

 

The best operating system to capture the USB data is Windows due to the availability of various commercial USB protocol capture tools, such as USBlyzer, SnoopyPro, and Device Monitoring Studio from HDD Software. These tools can be used to select the USB device, show configuration information, record transfers and show transfer data.

 

For Mac users that cannot connect the device to a Windows system you can use the Mac USB Prober to capture some of the required data on a Mac.

 

We have not yet identified a suitable Linux tool.

 

UPDD considerations

Normally our initial approach to capturing USB data is to supply a UPDD driver configured to connect to the USB device by registering itself as the device driver for the device based on the vendor and product id. The driver supplied for this purpose will be configured to capture data on USB interface 0, endpoint 1. However, if the UPDD driver does not capture data but the device does work with the manufacturer’s driver or the HID driver supplied as part of the OS then these USB monitor tools can be used to see the USB traffic between the host system and the device when utilising a driver known to work.  The UPDD driver can then be further configured to support the device based on the captured USB information.

 

Windows

With the device working as expected the USB monitoring software is installed and the device selected for monitoring.  The device is then disconnected and reconnected and a single and dual touch performed (where appropriate).  This will then capture the USB traffic between the host and the reconnected device which will hopefully show the entire sequence needed to initialise the device.  We are then able to analyse the captured traffic and identify any key exchanges that are likely to initialise the device.

 

Any commercial USB analysis tool should be able to capture all this information.  We use and prefer logs from USBlyzer. The full sequence of captured information using USBlyzer is documented here. If a different tool is used please capture the same information as shown in the USBlyzer capture document.

 

Mac

We have not located a Mac tool that can capture touch data but we have found a utility that can show us the required USB Interface and Endpoint usage that should allow us to configure our UPDD driver to be able to capture the driver. Usage of the tool is documented here.

Contact

For further information or technical assistance please email the technical support team at technical@touch-base.com