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. 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.
For Linux users you can run a command to list device data that can be used to set up the device.
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.
Where we do not initially need to view the full protocol but sufficient data that should allow us to configure our UPDD driver to be able to capture the data you can use a utility like USBview to identify the device and extract the required information.
To capture USB protocol interface you will need to use a USB monitoring tool to capture the USB traffic between the host and the device.
Most Windows USB monitoring 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.
We have not located a Mac tool that can capture touch data but we have found a utility that can show us sufficient data that should allow us to configure our UPDD driver to be able to capture the data. Usage of the tool is documented here.
We have not located specific Linux utility that can capture touch data but there is the command ‘LSUSB –V’ to list device properties for connected devices which shows sufficient data that allows us to configure the device in UPDD to capture touch data, typically:
Bus 001 Device 004: ID 6615:0c20 IRTOUCHSYSTEMS Co. Ltd.
bDeviceClass 0 (Defined at Interface level)
idVendor 0x6615 IRTOUCHSYSTEMS Co. Ltd.
iProduct 2 Optical TouchScreen
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
bEndpointAddress 0x81 EP 1 IN
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
Device Status: 0x0000
For further information or technical assistance please email the technical support team at firstname.lastname@example.org