usbhid-dump(8)



usbhid-dump(8)              System Manager's Manual             usbhid-dump(8)

NAME
       usbhid-dump - dump USB HID device report descriptors and streams

SYNOPSIS
       usbhid-dump [OPTION]...

DESCRIPTION
       usbhid-dump uses libusb to dump report descriptors and streams from HID
       (human interface device) interfaces of USB  devices.   By  default,  it
       dumps HID interfaces of all connected USB devices, but could be limited
       to a subset of them, or to a single interface, using options.

       NOTE: usbhid-dump detaches kernel drivers from the interfaces it  dumps
       and  uses  them  exclusively, so no other program receives the input in
       the meantime.  The report descriptor dumping is instantaneous, but  the
       stream dumping continues until terminated with SIGINT (^C from the ter-
       minal) or a timeout expires.

       If you accidentally start dumping a stream from the  USB  keyboard  you
       use  to  control the terminal, the system will stop receiving the input
       and you won't be able to terminate usbhid-dump. Just  stop  your  input
       and  wait  until the timeout expires. The stream dumping will stop, the
       keyboard will be reattached to the kernel driver and  you  will  regain
       control.

       The  default  stream dumping timeout is 60 seconds and could be changed
       with the -t option.

OPTIONS
       -h, --help
              Output a help message and exit.

       -v, --version
              Output version information and exit.

       -s, -a, --address=bus[:dev]
              Limit interfaces by bus number and device address.  Both  1-255,
              decimal.  Zeroes match any bus or device.

       -d, -m, --model=vid[:pid]
              Limit  interfaces by device vendor and product IDs. Both 1-FFFF,
              hexadecimal.  Zeroes match any vendor or product.

       -i, --interface=NUMBER
              Limit interfaces by number (0-254), decimal. 255 matches any in-
              terface.

       -e, --entity=STRING
              The  entity to dump: either "descriptor", "stream" or "all". The
              value can be abbreviated down to one letter. The default is "de-
              scriptor".

       -t, --stream-timeout=NUMBER
              Stream  interrupt transfer timeout, ms. Zero means infinity. The
              default is 60000 (60 seconds).

       -p, --stream-paused
              Start with the stream dump output paused.

       -f, --stream-feedback
              Enable stream dumping feedback: print a dot to stderr for  every
              transfer dumped.

SIGNALS
       USR1/USR2
              Pause/resume stream dump output.

OUTPUT FORMAT
       usbhid-dump  outputs  dumps  in  chunks.  Each chunk is separated by an
       empty line and starts with the following header line:

       BUS:DEVICE:INTERFACE:ENTITY TIMESTAMP

       Here, BUS, DEVICE and INTERFACE are bus, device and  interface  numbers
       respectively.  ENTITY  is either "DESCRIPTOR" or "STREAM". TIMESTAMP is
       timestamp in seconds since epoch.

       After the header the actual dump data follows as hex bytes. A  descrip-
       tor  chunk includes the whole report descriptor. Every stream chunk in-
       cludes a whole report, usually, but if a report  is  bigger  than  end-
       point's wMaxPacketSize, it will span several chunks.

EXAMPLES
       Dump report descriptor for a device with address 3 on bus number 2:
              usbhid-dump -a 2:3

       Dump  report  stream  for a device with vendor ID 0x5543 and product ID
       0x0005:
              usbhid-dump -m 5543:0005 -es

       Dump report descriptor from interface 1 of  a  device  with  vendor  ID
       0x5543:
              usbhid-dump -m 5543 -i 1 -ed

       Dump  report  streams  from all HID interfaces of all USB devices (cau-
       tion: you will lose control over the terminal if you use USB keyboard):
              usbhid-dump -es

AUTHOR
       Nikolai Kondrashov <spbnick@gmail.com>

                                 February 2012                  usbhid-dump(8)

Man(1) output converted with man2html
list of all man pages