Diagnostics file contents


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/