Skip to content

Instantly share code, notes, and snippets.

@ogatatsu
Created September 20, 2019 13:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ogatatsu/95f702c64aad708827c2b26d2f562a37 to your computer and use it in GitHub Desktop.
Save ogatatsu/95f702c64aad708827c2b26d2f562a37 to your computer and use it in GitHub Desktop.
Frame 17: 93 bytes on wire (744 bits), 93 bytes captured (744 bits) on interface 0
USB URB
[Source: 3.15.0]
[Destination: host]
USBPcap pseudoheader length: 28
IRP ID: 0xffffd48c68507520
IRP USBD_STATUS: USBD_STATUS_SUCCESS (0x00000000)
URB Function: URB_FUNCTION_CONTROL_TRANSFER (0x0008)
IRP information: 0x01, Direction: PDO -> FDO
URB bus id: 3
Device address: 15
Endpoint: 0x80, Direction: IN
URB transfer type: URB_CONTROL (0x02)
Packet Data Length: 65
[Request in: 16]
[Time from request: 0.003332000 seconds]
Control transfer stage: Data (1)
[bInterfaceClass: HID (0x03)]
HID Report
Global item (Usage)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0000 .... = bTag: Usage (0x0)
Usage page: Generic desktop controls (0x01)
Local item (Usage)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0000 .... = bTag: Usage (0x0)
Usage: Keyboard (0x10006)
Main item (Collection)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1010 .... = bTag: Collection (0xa)
Collection type: Application (0x01)
Global item (Usage)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0000 .... = bTag: Usage (0x0)
Usage page: Keyboard/keypad (0x07)
Local item (Usage minimum)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0001 .... = bTag: Usage minimum (0x1)
Usage minimum: 0xe0
Local item (Usage maximum)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0010 .... = bTag: Usage maximum (0x2)
Usage: Undefined (0xe7)
Global item (Logical minimum)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0001 .... = bTag: Logical minimum (0x1)
Logical minimum: 0
Global item (Logical maximum)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0010 .... = bTag: Logical maximum (0x2)
Logical maximum: 1
Global item (Report size)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0111 .... = bTag: Report size (0x7)
Report size: 1
Global item (Report count)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
1001 .... = bTag: Report count (0x9)
Report count: 8
Main item (Input)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1000 .... = bTag: Input (0x8)
.... .... 0 = Data/constant: Data
.... ...1 . = Data type: Variable
.... ..0. . = Coordinates: Absolute
.... .0.. . = Min/max wraparound: No Wrap
.... 0... . = Physical relationship to data: Linear
...0 .... . = Preferred state: Preferred State
..0. .... . = Has null position: No Null position
.0.. .... . = [Reserved]: False
0... .... . = Bits or bytes: Buffered bytes (default, no second byte present)
Global item (Report count)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
1001 .... = bTag: Report count (0x9)
Report count: 1
Global item (Report size)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0111 .... = bTag: Report size (0x7)
Report size: 8
Main item (Input)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1000 .... = bTag: Input (0x8)
.... .... 1 = Data/constant: Constant
.... ...0 . = Data type: Array
.... ..0. . = Coordinates: Absolute
.... .0.. . = Min/max wraparound: No Wrap
.... 0... . = Physical relationship to data: Linear
...0 .... . = Preferred state: Preferred State
..0. .... . = Has null position: No Null position
.0.. .... . = [Reserved]: False
0... .... . = Bits or bytes: Buffered bytes (default, no second byte present)
Global item (Report count)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
1001 .... = bTag: Report count (0x9)
Report count: 5
Global item (Report size)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0111 .... = bTag: Report size (0x7)
Report size: 1
Global item (Usage)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0000 .... = bTag: Usage (0x0)
Usage page: LEDs (0x08)
Local item (Usage minimum)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0001 .... = bTag: Usage minimum (0x1)
Usage minimum: 0x01
Local item (Usage maximum)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0010 .... = bTag: Usage maximum (0x2)
Usage: Undefined (0x05)
Main item (Output)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1001 .... = bTag: Output (0x9)
.... .... 0 = Data/constant: Data
.... ...1 . = Data type: Variable
.... ..0. . = Coordinates: Absolute
.... .0.. . = Min/max wraparound: No Wrap
.... 0... . = Physical relationship to data: Linear
...0 .... . = Preferred state: Preferred State
..0. .... . = Has null position: No Null position
.0.. .... . = (Non)-volatile: Non Volatile
0... .... . = Bits or bytes: Buffered bytes (default, no second byte present)
Global item (Report count)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
1001 .... = bTag: Report count (0x9)
Report count: 1
Global item (Report size)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0111 .... = bTag: Report size (0x7)
Report size: 3
Main item (Output)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1001 .... = bTag: Output (0x9)
.... .... 1 = Data/constant: Constant
.... ...0 . = Data type: Array
.... ..0. . = Coordinates: Absolute
.... .0.. . = Min/max wraparound: No Wrap
.... 0... . = Physical relationship to data: Linear
...0 .... . = Preferred state: Preferred State
..0. .... . = Has null position: No Null position
.0.. .... . = (Non)-volatile: Non Volatile
0... .... . = Bits or bytes: Buffered bytes (default, no second byte present)
Global item (Report count)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
1001 .... = bTag: Report count (0x9)
Report count: 6
Global item (Report size)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0111 .... = bTag: Report size (0x7)
Report size: 8
Global item (Logical minimum)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0001 .... = bTag: Logical minimum (0x1)
Logical minimum: 0
Global item (Logical maximum)
Header
.... ..10 = bSize: 2 bytes (2)
.... 01.. = bType: Global (1)
0010 .... = bTag: Logical maximum (0x2)
Logical maximum: 255
Global item (Usage)
Header
.... ..01 = bSize: 1 byte (1)
.... 01.. = bType: Global (1)
0000 .... = bTag: Usage (0x0)
Usage page: Keyboard/keypad (0x07)
Local item (Usage minimum)
Header
.... ..01 = bSize: 1 byte (1)
.... 10.. = bType: Local (2)
0001 .... = bTag: Usage minimum (0x1)
Usage minimum: 0x00
Local item (Usage maximum)
Header
.... ..10 = bSize: 2 bytes (2)
.... 10.. = bType: Local (2)
0010 .... = bTag: Usage maximum (0x2)
Usage: Undefined (0xff)
Main item (Input)
Header
.... ..01 = bSize: 1 byte (1)
.... 00.. = bType: Main (0)
1000 .... = bTag: Input (0x8)
.... .... 0 = Data/constant: Data
.... ...0 . = Data type: Array
.... ..0. . = Coordinates: Absolute
.... .0.. . = Min/max wraparound: No Wrap
.... 0... . = Physical relationship to data: Linear
...0 .... . = Preferred state: Preferred State
..0. .... . = Has null position: No Null position
.0.. .... . = [Reserved]: False
0... .... . = Bits or bytes: Buffered bytes (default, no second byte present)
Main item (End collection)
Header
.... ..00 = bSize: 0 bytes (0)
.... 00.. = bType: Main (0)
1100 .... = bTag: End collection (0xc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment