STANNIX Community


Manual: usbhid-dump

usbhid-dump(8)					     Linux USB Utilities				      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 terminal) 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	 reโ€
       gain 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 prodโ€
	      uct.

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

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

       -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 descriptor chunk includes the whole report	 descriptor.
       Every  stream  chunk  includes  a whole report, usually, but if a report is bigger than endpoint'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 (caution: you will lose control over the terminal if
       you use USB keyboard):
	      usbhid-dump -es

AUTHOR
       Nikolai Kondrashov 

usbutils						February 2012					      usbhid-dump(8)