The diagnostic file, updd_diagnostice.zip, contains information that is useful to help investigate any reported issue, the contents of which is as follows:
Since UPDD release 6.0.675 the log data taken at the time the diagnostic program is run is now concatenated with the diagnostics data taken at startup stored in the bootlog updd.log file. Therefore, a separate updd.log file as shown above is not used.
File |
Contains... |
Report.txt |
OS version, time diag taken, list of USB devices as seen by the driver, installed driver instances, list of supported devices, monitor layouts, driver version , global settings, device settings |
updd.log |
Debug log taken at the user level - not used in UPDD release 675 and above. |
updd.raw.txt |
Captured touch data if sent (as long as you drew on the screen when request). Can of course be empty if the device is not working! |
updd_n_vid_pid.hid |
For USB HID devices this is the extracted HID Report Descriptor in 'uninterrupted' form |
bootlog folder |
Debug log taken at system boot (start up) and contains updd.log file. May also contain the system extension.log file, see below. |
dumps folder |
Contains any crash logs related to UPDD components (currently MacOS only) |
System extension load log
Since UPDD 6.0.698 we now utilise a System Extension in 10.15 and above.
This extension must be activated manually by 'Allowing' our system to load in the General tab of the Security & Privacy dialog.
The system extension.log, held in the bootlog folder, indicates the load status of the system extension:
Awaiting Approval |
Activated |
2021-06-16 20:05:55 +0000 - UPDD System Extension application has started
2021-06-16 20:05:55 +0000 - Activating DriverKit extension...
2021-06-16 20:05:55 +0000 - ...submitted activation request
2021-06-16 20:05:55 +0000 - Request needs user approval... |
2021-06-15 20:55:52 +0000 - UPDD System Extension application has started
2021-06-15 20:55:52 +0000 - Activating DriverKit extension...
2021-06-15 20:55:52 +0000 - ...submitted activation request
2021-06-15 20:55:52 +0000 - Request successfully completed with result: 0 |
HID Report Descriptor interpretation
The updd command line utility can be used to interpret the HID Report Descriptor using the command 'upddutils diag ah [file name].hid.
This is interpreted by our own HID parser and printed out - it's a bit crude but sufficient for our debug needs.
In this example we see three Report ids (8,16 and 68), report 16 (Hex 10) is the obvious touch report id and defines the HID packet structure.
We also show the structure of the multi-touch USB request the driver sends to the device as part of the device initialisation sequence (as held in UPDD macro notation).
Report items with -1 means that are not defined in the report. Where report items are predominantly -1 for a given report then this entry can be dismissed and the printout for the report ignored (as in the case of Report 8 and 68 below). In the case of the active touch report 16 the -1 entries normally relate to Pen devices hence they all show -1 for touch devices.
C:\Program Files (x86)\UPDD>upddutils diag ah c:\hid\updd_3_1fd2_8105.hid
** Interface 0
UPDD HID Parser Report
~~~~~~~~~~~~~~~~~~~~~~
Report ID: 8
Report Type Feature: Max Contacts
V5 Macro [HEX][USB type=CLASS_INTERFACE flags=1 bits=22 req=1 val=0308 idx=0 len=2][END]
Report ID: 8
Report Type Digitiser: Touch-Screen
Contact Start Position 16
Contact Report Length -1
Contacts Per Report 10
Contact Count Position -1
Packet Length 1
Stylus Start -1
Stylus Bits -1
X Start -1
X Bits -1
Y Start -1
Y Bits -1
Z Start -1
Z Bits -1
Max X -1
Max Y -1
Max Z -1
Tip switch pos -1
Barrel switch pos -1
Eraser switch pos -1
Invert switch pos -1
In range pos -1
Report ID: 16
Report Type Digitiser: Touch-Screen
Contact Start Position 16
Contact Report Length 6
Contacts Per Report 10
Contact Count Position 1
Packet Length 64
Stylus Start 0
Stylus Bits 8
X Start 16
X Bits 16
Y Start 32
Y Bits 16
Z Start -1
Z Bits -1
Max X 4095
Max Y 4095
Max Z -1
Tip switch pos 8
Barrel switch pos -1
Eraser switch pos -1
Invert switch pos -1
In range pos -1
Report ID: 68
Report Type Digitiser: Touch-Screen
Contact Start Position 16
Contact Report Length -1
Contacts Per Report 10
Contact Count Position -1
Packet Length 1
Stylus Start -1
Stylus Bits -1
X Start -1
X Bits -1
Y Start -1
Y Bits -1
Z Start -1
Z Bits -1
Max X -1
Max Y -1
Max Z -1
Tip switch pos -1
Barrel switch pos -1
Eraser switch pos -1
Invert switch pos -1
In range pos -1
C:\Program Files (x86)\UPDD>
Captured data
In the case of the above HID RD the device was in working order and touching the screen during diagnostics captured the data send out with report id 16 (Hex 10)
1 finger touch
10 01 00 00 32 00 9B 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 8E
2 finger touch
10 02 00 01 29 01 9B 04 01 01 BB 00 C9 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A0 00
10 = Count (Report ID: 16)
02 = Contact count (Contact Count Position 1)
00 01 29 01 9B 04 = 1st stylus (Contact Report Length 6)
01 01 BB 00 C9 04 = 2nd stylus
01 = stylus number
01 = status (01 touching / 00 pen up)
BB 00 C9 04 = X X Y Y
Enhanced HID Report Descriptor
If and when we need a much more detailed interpretation of the HID Report Descriptor we take just the HEX contents of the .HID file and drop them into the on-line HID parser at https://eleccelerator.com/usbdescreqparser/