1 -------------------------------------------------------------------------------
2 USB HID (full-speed signalling)
3 -------------------------------------------------------------------------------
5 This is a set of example captures of USB/HID communication of the
6 Logitech RX250 optical USB mouse.
9 http://www.logitech.com/en-za/support/mice/3141
16 http://lists.en.qi-hardware.com/pipermail/discussion/2011-November/009206.html
18 Usage Page (Desktop), ; Generic desktop controls (01h)
19 Usage (Mouse), ; Mouse (02h, application collection)
20 Collection (Application),
21 Usage (Pointer), ; Pointer (01h, physical collection)
22 Collection (Physical),
23 Usage Page (Button), ; Button (09h)
32 Input (Constant, Variable),
33 Usage Page (Desktop), ; Generic desktop controls (01h)
34 Usage (X), ; X (30h, dynamic value)
35 Usage (Y), ; Y (31h, dynamic value)
36 Usage (Wheel), ; Wheel (38h, dynamic value)
37 Logical Minimum (-127),
38 Logical Maximum (127),
41 Input (Variable, Relative),
42 Usage Page (Consumer), ; Consumer (0Ch)
43 Usage (AC Pan), ; AC pan (0238h, linear control)
45 Input (Variable, Relative),
53 Bus 003 Device 092: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
58 bDeviceClass 0 (Defined at Interface level)
62 idVendor 0x046d Logitech, Inc.
63 idProduct 0xc050 RX 250 Optical Mouse
65 iManufacturer 1 Logitech
66 iProduct 2 USB-PS/2 Optical Mouse
69 Configuration Descriptor:
86 bInterfaceClass 3 Human Interface Device
87 bInterfaceSubClass 1 Boot Interface Subclass
88 bInterfaceProtocol 2 Mouse
90 HID Device Descriptor:
94 bCountryCode 0 Not supported
96 bDescriptorType 34 Report
98 Report Descriptor: (length is 59)
99 Item(Global): Usage Page, data= [ 0x01 ] 1
100 Generic Desktop Controls
101 Item(Local ): Usage, data= [ 0x02 ] 2
103 Item(Main ): Collection, data= [ 0x01 ] 1
105 Item(Local ): Usage, data= [ 0x01 ] 1
107 Item(Main ): Collection, data= [ 0x00 ] 0
109 Item(Global): Usage Page, data= [ 0x09 ] 9
111 Item(Local ): Usage Minimum, data= [ 0x01 ] 1
113 Item(Local ): Usage Maximum, data= [ 0x08 ] 8
115 Item(Global): Logical Minimum, data= [ 0x00 ] 0
116 Item(Global): Logical Maximum, data= [ 0x01 ] 1
117 Item(Global): Report Count, data= [ 0x08 ] 8
118 Item(Global): Report Size, data= [ 0x01 ] 1
119 Item(Main ): Input, data= [ 0x02 ] 2
120 Data Variable Absolute No_Wrap Linear
121 Preferred_State No_Null_Position Non_Volatile Bitfield
122 Item(Global): Report Count, data= [ 0x00 ] 0
123 Item(Main ): Input, data= [ 0x03 ] 3
124 Constant Variable Absolute No_Wrap Linear
125 Preferred_State No_Null_Position Non_Volatile Bitfield
126 Item(Global): Usage Page, data= [ 0x01 ] 1
127 Generic Desktop Controls
128 Item(Local ): Usage, data= [ 0x30 ] 48
130 Item(Local ): Usage, data= [ 0x31 ] 49
132 Item(Local ): Usage, data= [ 0x38 ] 56
134 Item(Global): Logical Minimum, data= [ 0x81 ] 129
135 Item(Global): Logical Maximum, data= [ 0x7f ] 127
136 Item(Global): Report Size, data= [ 0x08 ] 8
137 Item(Global): Report Count, data= [ 0x03 ] 3
138 Item(Main ): Input, data= [ 0x06 ] 6
139 Data Variable Relative No_Wrap Linear
140 Preferred_State No_Null_Position Non_Volatile Bitfield
141 Item(Global): Usage Page, data= [ 0x0c ] 12
143 Item(Local ): Usage, data= [ 0x38 0x02 ] 568
145 Item(Global): Report Count, data= [ 0x01 ] 1
146 Item(Main ): Input, data= [ 0x06 ] 6
147 Data Variable Relative No_Wrap Linear
148 Preferred_State No_Null_Position Non_Volatile Bitfield
149 Item(Main ): End Collection, data=none
150 Item(Main ): End Collection, data=none
154 bEndpointAddress 0x81 EP 1 IN
156 Transfer Type Interrupt
159 wMaxPacketSize 0x0005 1x 5 bytes
161 Device Status: 0x0000
168 The logic analyzer used was a ChronoVu LA8 (at various samplerates):
179 The sigrok command line used was:
181 sigrok-cli -d 0:samplerate=<samplerate> --samples=8388608 \
182 -p 3='David Prowse',6='Demi Moore' -o <filename>
184 (samplerate and filename vary)