Diagnostics file contents


The diagnostic file gathers information that is useful to help investigate any reported issue, the contents of which is a follows:

‚Äč

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
 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 system boot (start up)
 dumps folder Contains any crash logs related to UPDD components (currently MacOS only)

 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/

 

Search