Device Identification
This document describes how to identify a touchscreen device attached to a system.
Identification of a touch device may be required to determine what device is actually connected to a system or as part of a troubleshooting exercise to try and determine why touch is not working or may be needed to help configure a device to be supported by our driver.
When a USB device is connected to a system details of the device will appear in the hardware device list for the specific operation system. The most important information as far as the driver is concerned is the USB vendor and product id as it is these values that are used by the driver to register itself as the handling driver for the device so the values listed must match the values held by the driver for that device.
When a serial device is connected to a system nothing is shown other than the serial port it is connected to.
For USB devices select the operating system below for further instructions. For serial devices select the serial identification document.
Windows desktop
There are many ways to identify USB devices plugged into a Windows USB compliant system and here are some of the methods we use to view the USB vendor and product ids: Device Manager Depending on the operating system in use the device’s entry in the Device Manager may show the required information. Touch screens are likely to either reside in the Mice and other pointer devices (if a custom driver is loaded to support the device), Human Interface Devices or Universal Serial Bus devices sections.
You need to invoke the Device Manager appropriate to your version of Windows OS.
Once the Device Manager is loaded you need to click on the individual USB entries and look at the Details tab, Hardware ids associated to any touch devices as per this example below:
Utilities
There are a number of free utilities that will list off USB devices, such as USBDeview. The vendor and product ids are shown in the last 2 columns of the example below:
One tip when trying to identify a device is to take a view before the touch screen is plugged in then a view afterwards and note the new device added in the Device Manager or USB list.
You can also save the output to a text file using the File Menu, Edit - Select All, File - Save Selected items. This will save the output to a .txt file.
For UPDD to recognise the above device the same vendor and product id must be held against the supported devices for any given build of our software.
The 'upddutils pnpinfo' command can be used to list the supported devices along with their vendor and product ids as shown below:
MacOS
To view the USB vendor and product ids in Mac OS X, run the System Report, or USB Mac Probe utility as shown below:
System Report
For pre Mac OS X Lion you select the 'More Info' option first then the System Report.
Once the system report is shown expand the USB devices and locate the touch screen from the listed USB controllers.
In this example we have highlighted the hub on which a USB LT1423p monitor is connected. This monitor utilises both a touch and Wacom pen as listed in the information panel with the vendor and product id highlighted.
With the touch USB devices listed and expanded you can cut and paste the viewing area when sending the information to us or save the entire report to an .spx file using the save option:
USB Mac Prober
This utility can be used to show key elements of all the USB devices on a Mac system.
To capture USB configuration data on a Mac system download the USB Prober for either Snow Leopard or Lion (and above) and invoke the application.
With 10.13 and above you may see this dialog:
To overcome this warning, copy the utility to a folder, right click, select open and enter your password when requested.
Once invoked, select the Bus Probe tab:
and use the Save Output option to save the entire USB probe profile to a log file and send us the log file:
Driver device configuration
For UPDD to recognise a device (such as the ones in the System Report above) the same vendor and product id must be held against the supported devices for any given build of our software.
The 'upddutils pnpinfo' command can be used to list the supported devices along with their vendor and product ids as shown below:
Linux
To view the USB vendor and product ids in Linux you can use the CAT / LSUSB commands or a graphical viewer as described below. There may be other methods.
LSUSB command
If the optional USBUTILS package is installed on your system you can also obtain a list of USB devices using the LSUSB command.
The USB devices are listed in the following format:
Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 003 Device 002: ID 066b:2213 Linksys, Inc. WUSB12v1.1 802.11b Adapter Bus 003 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port Bus 002 Device 001: ID 0000:0000 Bus 002 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen Bus 001 Device 001: ID 0000:0000
In the above example, the highlighted entry is a USB touch screen controller.
Cat Command Open a terminal window and type cat /proc/bus/usb/devices. This is best performed with all other USB devices unplugged as sometimes it is unclear which device is which, especially if the description string has not been implemented in the device. Typically, the output will be in the format shown below. For clarity, the USB touch screen is shown in bold, but does not appear highlighted in the actual output. The VID = 0AFA and the PID = 03E8. The manufacturer/controller id = TSC-10 DMC. T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 D: Ver= 1.00 Cls=ff(vend.) Sub=00 Prot=ff MxPS= 8 #Cfgs= 1 P: Vendor=0afa ProdID=03e8 Rev= 1.10 S: Manufacturer=TSC-10 DMC C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 5 Ivl= 10ms T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=045e ProdID=0039 Rev= 3.00 S: Manufacturer=Microsoft S: Product=Microsoft 5-Button Mouse with IntelliEye(TM) C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=hid E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl= 10ms Note: On SuSE 10.1 systems (and possibly others) the USB file system isn’t enabled by default. This should be enabled by editing the file "/etc/fstab" and change the line that says:
usbfs /proc/bus/usbfs noauto 00 to usbfs /proc/bus/usbfs auto 00 and then reboot your system.
This is required to get the output of “cat /proc/bus/usb/devices”
Graphical viewer Use a graphical USB Viewer available on the web such as USBview.
When run, this will show the USB devices, as shown in the following example:
Serial identification
To supply a driver for a serial device we need to try and identify the device manufacturer, the touch controller ID or failing that to capture the serial data output when the serial touchscreen is touched.
If the touch screen is attached to a monitor, then it may be possible to identify the touch device from the manufacturer and model number of the monitor by referring to our supported touch monitor list on our download page.
If the monitor is not listed, other clues as to its identification could be any labels on the touch screen controller board (if accessible) or any old drivers that may have been supplied originally with the touch device.
Failing the obvious ways to identify the device, then another way to identify it is to capture some raw touch data and email to Touch-Base such that we can cross-reference the captured data with our controller configuration database to see if we can find a matching sequence.
Prior to attempting to capture some data, it is important to ensure you can identify the serial device in the system and prove that data is being seen at the port. Testing serial devices and capturing serial data is described here.
Once we have a reasonable idea of the serial device is use, we can send a test driver to try that has built in diagnostics tools to further help identify the device if it does not work.
Last updated