|
|||||||
Occasionally we are asked to supply a driver where the identity of the touch screen is unknown. This document suggests ways of identifying an unknown controller in use. Most touch screens that we deal with are connected to monitors. However, it is unlikely the monitor manufacturer is also the manufacturer of the touch screen. This will almost certainly have been supplied from a third party touch screen manufacturer. It is possible that we don’t support a given touch screen and we can add support if we are supplied relevant technical information as described in our Controller Support document. Here are the various ways you might be able to identify the touch screen in use: |
|||||||
· faSometimes the monitor/system make will help identify the touch screen in use. · Monitor product literature or specification may identify the manufacturer or give clues, such as 8 wire touch screen, of which there are only a few in production. · Touch manufacturer’s labels may be attached to the base or back of the monitor. · Supplied drivers may identify the manufacturer or touch screen. · Contacting the technical department of the monitor manufacturer for advice. Depending on the hardware port in use by the touch device we may be able to identify the device from information gleaned from the device: |
|||||||
If using a PS/2 port you will need to identify from the suggestions above. |
|||||||
Serial |
If using a serial port the best option is to identify from the suggestions above. Failing that, there is a data scope program on our web site which can be used to identify the touch data packet seen at the serial port. We can sometimes identify the controller solely based on this data, which can be saved to a log and emailed to us. |
||||||
If using a USB controller, which by definition is a Plug and Play device, there are ways of identifying the controller from the PnP information passed from the device to the system. Given this information we can identify the touch controller in use from our database of touch controller settings. The required information is the Vendor id (VID), Product id (PID) and, if available, the manufacturer’s id, which can be viewed in Linux, Mac OS X and Windows as described below. Once you have identified the Vendor and production id use the device search service to help identify the device Alternatively there are a number of vendor and product id listings on the web, such as: http://www.linux-usb.org/usb.ids or http://www.pcidatabase.com/ or https://github.com/opensource-apple/IOUSBFamily/blob/master/USBProberV2/USBVendors.txt. We cannot vouch for the completeness or accuracy of these lists. |
|||||||
To view the USB vendor and product ids in Linux you can use a graphical viewer or the CAT / LSUSB commands as described below. There may be other methods.
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.
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”
Use a graphical USB Viewer available on the web (Google ‘usb view download’), such as the one at http://www.kroah.com/linux/usb/
When run, this will show the USB devices, as shown in the following example:
The distribution may have a specialised tool for viewing hardware information, such as the YaST tool under OpenSuSe:
To view the USB vendor and product ids in Mac OS X, run the System Profiler/Report, as shown below:
Under non Lion systems this will directly show the System Profiler. However, under Lion you will see an ‘About This Mac’ dialog and you will need to select the System Report to see the same hardware information:
Once the system profiler/report is shown expand the USB devices and locate the touch screen from the listed USB controllers, as shown:
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:
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 supported the device) or Human Interface Devices sections.
Start>Control panel>system>hardware>device manage>[section]>[device] right click on device entry, properties tab:
The following screen shots, taken on XP and Win 7, show a touch device handled by our UPDD driver:
The following screen shot, taken on Win 7, shows the same touch device handled by the Windows HID driver:
A controller’s firmware release can be shown by selecting the Firmware Revision entry:
Use a graphical USB Viewer. We have used two such viewers:
1) USB Deview from Nirsoft - http://www.nirsoft.net/utils/usb_devices_view.html
2) USB View available on the web (Google ‘usb view download’), such as the one at http://www.ftdichip.com/Support/Utilities.htm from Future Technology Devices (similar to USB viewer from Microsoft shown below)
When run, this will show the USB devices, as shown in the following example:
In this example UPDD is loaded and handling the device. If the USB HID driver is handling the device it will show
[Portn] : USB Human Interface Device
Relevant USB information is stored in the registry. With the device plugged in and using Regedit program supplied with Windows dump registry tree HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB as follows:
In the above example, two Elo Touch 2500U Intellitouch controllers are plugged in to the system and are being handled by UPDD. If HID driver is supporting the device then the DeviceDesc will show “USB Human Interface Device"
To view the USB vendor and product ids in Linux you can use dmesg command as described below. There may be other methods.
For further information or technical assistance please email the technical support team at technical@touch-base.com