1usbhid-dump(8)              System Manager's Manual             usbhid-dump(8)
2
3
4

NAME

6       usbhid-dump - dump USB HID device report descriptors and streams
7

SYNOPSIS

9       usbhid-dump [OPTION]...
10

DESCRIPTION

12       usbhid-dump uses libusb to dump report descriptors and streams from HID
13       (human interface device) interfaces of USB  devices.   By  default,  it
14       dumps HID interfaces of all connected USB devices, but could be limited
15       to a subset of them, or to a single interface, using options.
16
17       NOTE: usbhid-dump detaches kernel drivers from the interfaces it  dumps
18       and  uses  them  exclusively, so no other program receives the input in
19       the meantime.  The report descriptor dumping is instantaneous, but  the
20       stream dumping continues until terminated with SIGINT (^C from the ter‐
21       minal) or a timeout expires.
22
23       If you accidentally start dumping a stream from the  USB  keyboard  you
24       use  to  control the terminal, the system will stop receiving the input
25       and you won't be able to terminate usbhid-dump. Just  stop  your  input
26       and  wait  until the timeout expires. The stream dumping will stop, the
27       keyboard will be reattached to the kernel driver and  you  will  regain
28       control.
29
30       The  default  stream dumping timeout is 60 seconds and could be changed
31       with the -t option.
32

OPTIONS

34       -h, --help
35              Output a help message and exit.
36
37       -v, --version
38              Output version information and exit.
39
40       -s, -a, --address=bus[:dev]
41              Limit interfaces by bus number and device address.  Both  1-255,
42              decimal.  Zeroes match any bus or device.
43
44       -d, -m, --model=vid[:pid]
45              Limit  interfaces by device vendor and product IDs. Both 1-FFFF,
46              hexadecimal.  Zeroes match any vendor or product.
47
48       -i, --interface=NUMBER
49              Limit interfaces by number (0-254),  decimal.  255  matches  any
50              interface.
51
52       -e, --entity=STRING
53              The  entity to dump: either "descriptor", "stream" or "all". The
54              value can be abbreviated down to  one  letter.  The  default  is
55              "descriptor".
56
57       -t, --stream-timeout=NUMBER
58              Stream  interrupt transfer timeout, ms. Zero means infinity. The
59              default is 60000 (60 seconds).
60
61       -p, --stream-paused
62              Start with the stream dump output paused.
63
64       -f, --stream-feedback
65              Enable stream dumping feedback: print a dot to stderr for  every
66              transfer dumped.
67

SIGNALS

69       USR1/USR2
70              Pause/resume stream dump output.
71

OUTPUT FORMAT

73       usbhid-dump  outputs  dumps  in  chunks.  Each chunk is separated by an
74       empty line and starts with the following header line:
75
76       BUS:DEVICE:INTERFACE:ENTITY TIMESTAMP
77
78       Here, BUS, DEVICE and INTERFACE are bus, device and  interface  numbers
79       respectively.  ENTITY  is either "DESCRIPTOR" or "STREAM". TIMESTAMP is
80       timestamp in seconds since epoch.
81
82       After the header the actual dump data follows as hex bytes. A  descrip‐
83       tor  chunk  includes  the  whole  report descriptor. Every stream chunk
84       includes a whole report, usually, but if a report is bigger  than  end‐
85       point's wMaxPacketSize, it will span several chunks.
86

EXAMPLES

88       Dump report descriptor for a device with address 3 on bus number 2:
89              usbhid-dump -a 2:3
90
91
92       Dump  report  stream  for a device with vendor ID 0x5543 and product ID
93       0x0005:
94              usbhid-dump -m 5543:0005 -es
95
96
97       Dump report descriptor from interface 1 of  a  device  with  vendor  ID
98       0x5543:
99              usbhid-dump -m 5543 -i 1 -ed
100
101
102       Dump  report  streams  from all HID interfaces of all USB devices (cau‐
103       tion: you will lose control over the terminal if you use USB keyboard):
104              usbhid-dump -es
105
106

AUTHOR

108       Nikolai Kondrashov <spbnick@gmail.com>
109
110
111
112                                 February 2012                  usbhid-dump(8)
Impressum