This document is specifically aimed at issues relating to the driver and hardware. A separate troubleshooting section exist for queries relating to the gesture extension under MacOS.
UPDD V6 supports USB and Serial devices. USB support is based on USB vendor and product ids related to the hardware. Given there are 100's of USB touch devices UPDD has not been tested on all available but as a general rule if the device works in Windows 7,8 or 10 with the native HID driver then there is a good chance of working with UPDD V6 as configuration data is read from the USB Report Descriptor. For non HID legacy USB devices, whereby no configuration data is held in the device, the required settings are manually predefined for the device.
In cases where the touch is not working we have a built in diagnostics routine that gathers as much information as possible. If requested, please invoke this procedure and send us the resultant .zip file.
Any given build of UPDD can be configured for just one or many devices. The list of devices supported by the driver you have, along with the vendor and product id for USB device, can be seen by running the command 'UPDDutils pnpinfo' in a cmd window under Windows and a terminal window under Mac or Linux:
When the driver is loaded the utilities programs, that connect to the driver, should show their system tray / menu bar icons without an exclamation mark. In the case of the driver an exclamation mark can we shown if no devices are discovered or if the evaluation clicks/period has expired.
| In this MacOS example, the utility programs have successfully connected to the driver.
|| In this MacOS example, there is an issue with the driver as the utility programs are unable to communicate with it
When a USB is discovered by the system, either during a system start or because the USB pointer device is plugged in, the system is passed the USB vendor and product id and looks for a driver that is registered for the device.
If the UPDD registered vendor and product ids match the connected device the driver is associated with the device and connects as appropriate. Devices actually being controlled by the driver can be seen in the UPDD Status dialog:
For each device being handled by the driver, it connects to all possible USB interfaces and endpoints and reads the HID Report Descriptor to automatically configure the device, including the x and Y co-ordinate range such that the device should be calibrated after install.
Serial devices, once correctly configured, are set to work for a specific RS232 port. The driver will attempt to open the defined port.
All being well the driver should install, work and be calibrated. However, you are likely reading this document because this is not the case, please read on and see if you can identify the problem or gather the information we require to investigate further.
Driver installations can be notoriously sensitive to their environment. Of course in most cases it will run without error but there are some situations where it may fail and these are likely reported during installation. Check out the known installation issues for Mac and Windows.
Missing UPDD system tray or menu bar icons
In cases where the icons are configured to be shown but are not seen this is a good indication the application is failing to load correctly.
You can try running the application manually in a command/terminal Window to see if any error message is issued as this will likely give a good clue why it is failing to load.
In this example UPDD Gestures is loaded in in a Mac terminal Window, albeit without error:
Status dialog shows "no driver connection"
This is serious in that the utility is unable to connect to the driver using the API which means the driver has locked up or is not loaded.
Ensure the driver and related processes are running as expected.
The driver can lock up for a variety of reason but the main one we have observed is related to the USB interface that can lock up in some circumstances, such as when a touch devices stalls when a USB device request is issued.
We have also implemented a Watchdog timer service to try and identify and recover from known issues.
Status dialog shows "no devices found"
The driver will, where possible, automatically take control of USB devices configured in the package. However, if the driver does not find the device then you need to ensure the device is connected and seen by the system and that the usb vendor and product id of the device as seen by the driver or listed in the System Hardware list matches those supported by the driver build, as seen by the 'upddutils pnpinfo' command.
- If the device is not listed in the system hardware list you need to investigate why not. Please remember the touch data is delivered down a USB cable and it is easily overlooked that it is not actually plugged in because the monitor is connected and working. If it is plugged in try the obvious, different cable, different USB port, try a powered usb hub, try in a USB2 port if in a USB3.
- If the usb vid and pid are listed in the hardware list but does not match those supported by the driver you need to request a new driver that does support the device.
- If the vid/pid do match and touch is working, albeit not being controlled by the UPDD driver, then the native HID or a 3rd party driver is likely in control. Ensure any 3rd party drivers are uninstalled. If native HID is in control, try rebooting
- For Windows systems, if all the settings imply that UPDD should be in control then try manually associating UPDD with the device.
- Locate the device in the Device Manager, right click and select update
- This invokes the Hardware Wizard
- Select that you do not want to connect to Windows Update/Search automatically but install from your computer.
- Indicate you want to pick from the list of drivers
- Select the required UPDD driver from the list.
- Select Finish to close the wizard.
Status dialog lists the device as NOK in the status screen but it is plugged in.
For USB devices. a previously discovered device is no longer being seen - check it is in the hardware System Hardware list. For serial devices check the correct com port is associated and available.
Status dialog lists the device and the cursor is moving on the correct monitor but it is not calibrated - the cursor moves to a different place on the video.
Calibrate the device using the Configure option.
Status dialog lists the device but the cursor is moving on the wrong monitor.
The touch screen needs to be associated with the correct monitor/desktop. Use the Configure option to set the correct association.
UPDD disconnect message is periodically issued but device is connected
When a supported device is discovered by the driver a notification is issued that the device has been connected:
When it is disconnected a notification is issued to the effect:
However, it is possible to be notified of a disconnection even if the device is connected. In this case the driver is likely to have received a read error on the USB read request, which can be seen in the driver's debug log, typically:
2017/01/12-08:35:14: ERR: USB error: (read) Input/Output Error
When an error occurs on the USB read request the driver will reset the USB connection and reissue the read. Only when an error occurs 5 times in a row will a disconnect be issued and no further read requests will be issued. The device will next be handled when an 'add device' message is issued by the system. The error count is reset at the point touch data is received so this caters for the occasional read issue that is cleared by the reset.
Status dialog lists the device but touch is not working
When a touch is not working at all then .....
Use the command upddutils de to see if there is any activity.
Check the driver is loaded in the in the Windows Task Manager or Mac OS Activity Monitor. If not, see if there are any crash logs as described here.
Certain builds of Win 8.x, such as OEM system builder, may only work with approved touch hardware that has passed stringent Win 8.x HCK tests and have embedded hardware compatibility signatures. It is for this reason that some HID compliant touch hardware will not work in these versions of Win 8.x systems. These systems also reject the UPDD Virtual HID (software emulated HID device) implementation that allows legacy touch hardware to function in Win 8 systems.
Since UPDD version 6.0.118 the UPDD Virtual HID is the default interface for posting touch data into the operating system. Should touch not work in Windows 8.x or higher, and you suspect you may have a OEM system builder edition, then you can select a different interface to prove that it is not a configuration or hardware issue.
You can use the command 'upddutils set active_touch_interface tbupddsu' to select the single touch kernel interface. If touch now works then you may have encountered this restriction.
However, in Oct 2015 Microsoft released patch KB3095649 that removes the Touch Hardware Quality Assurance (THQA) certification verification check in the Win32k.sys driver in Windows 8.1. This means that it is likely that the UPDD Virtual HID will now work on systems that may have previously blocked the service.
Some pointer devices, especially multi-touch touch screens plugged into an operating system that does not naively support multi-touch touch screen, such as MacOS, switch mode of operation to present themselves as a single touch mouse type device so the the operating system will support the device in single touch mode. Occasionally they switch into some form of 'custom' configuration that will be unsupported in UPDD.
UPDD V6 is expecting to be able to read a standard HID Report Descriptor and configure the device accordingly.
If you believe it to be a Windows HID compatible device, see if it is working on a Windows system to prove it is not a hardware fault.
If there are not obvious configuration or hardware issues then check the following:
- Swap the USB cable - we really have seen this fix some touch issues.
- Switch USB ports - we have seen some devices be over/under sensitive (e.g. ghost touches) and all has been OK once plugged into a different port / hub. USB devices are powered by the USB port so any power variation could have a detrimental affect.
- Switch between USB port types, USB3 to USB2 or vise versa.
- Use an external powered hub
Debug logs and settings
To help identify why a touch device is not working with our driver we would like the following information to be emailed to us:
- The format of the HID Report Descriptor as described here.
- The driver's debug log as described here.
- The device and global settings as described here.
- The data capture log for the device as described here.