]> sigrok.org Git - sigrok-dumps.git/blob - usb/hid/mouse/logitech_rx250/README
USB HID: Low-speed dumps of a Logitech RX250 mouse.
[sigrok-dumps.git] / usb / hid / mouse / logitech_rx250 / README
1 -------------------------------------------------------------------------------
2 USB HID (full-speed signalling)
3 -------------------------------------------------------------------------------
4
5 This is a set of example captures of USB/HID communication of the
6 Logitech RX250 optical USB mouse.
7
8 Details:
9 http://www.logitech.com/en-za/support/mice/3141
10
11
12 HID dump
13 --------
14
15 For a HOWTO, see:
16 http://lists.en.qi-hardware.com/pipermail/discussion/2011-November/009206.html
17
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)
24           Usage Minimum (01h),
25           Usage Maximum (08h),
26           Logical Minimum (0),
27           Logical Maximum (1),
28           Report Count (8),
29           Report Size (1),
30           Input (Variable),
31           Report Count (0),
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),
39           Report Size (8),
40           Report Count (3),
41           Input (Variable, Relative),
42           Usage Page (Consumer),      ; Consumer (0Ch)
43           Usage (AC Pan),             ; AC pan (0238h, linear control)
44           Report Count (1),
45           Input (Variable, Relative),
46       End Collection,
47   End Collection
48
49
50 lsusb -v
51 --------
52
53   Bus 003 Device 092: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
54   Device Descriptor:
55     bLength                18
56     bDescriptorType         1
57     bcdUSB               2.00
58     bDeviceClass            0 (Defined at Interface level)
59     bDeviceSubClass         0 
60     bDeviceProtocol         0 
61     bMaxPacketSize0         8
62     idVendor           0x046d Logitech, Inc.
63     idProduct          0xc050 RX 250 Optical Mouse
64     bcdDevice           27.20
65     iManufacturer           1 Logitech
66     iProduct                2 USB-PS/2 Optical Mouse
67     iSerial                 0 
68     bNumConfigurations      1
69     Configuration Descriptor:
70       bLength                 9
71       bDescriptorType         2
72       wTotalLength           34
73       bNumInterfaces          1
74       bConfigurationValue     1
75       iConfiguration          0 
76       bmAttributes         0xa0
77         (Bus Powered)
78         Remote Wakeup
79       MaxPower               98mA
80       Interface Descriptor:
81         bLength                 9
82         bDescriptorType         4
83         bInterfaceNumber        0
84         bAlternateSetting       0
85         bNumEndpoints           1
86         bInterfaceClass         3 Human Interface Device
87         bInterfaceSubClass      1 Boot Interface Subclass
88         bInterfaceProtocol      2 Mouse
89         iInterface              0 
90           HID Device Descriptor:
91             bLength                 9
92             bDescriptorType        33
93             bcdHID               1.10
94             bCountryCode            0 Not supported
95             bNumDescriptors         1
96             bDescriptorType        34 Report
97             wDescriptorLength      59
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
102                               Mouse
103               Item(Main  ): Collection, data= [ 0x01 ] 1
104                               Application
105               Item(Local ): Usage, data= [ 0x01 ] 1
106                               Pointer
107               Item(Main  ): Collection, data= [ 0x00 ] 0
108                               Physical
109               Item(Global): Usage Page, data= [ 0x09 ] 9
110                               Buttons
111               Item(Local ): Usage Minimum, data= [ 0x01 ] 1
112                               Button 1 (Primary)
113               Item(Local ): Usage Maximum, data= [ 0x08 ] 8
114                               (null)
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
129                               Direction-X
130               Item(Local ): Usage, data= [ 0x31 ] 49
131                               Direction-Y
132               Item(Local ): Usage, data= [ 0x38 ] 56
133                               Wheel
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
142                               Consumer
143               Item(Local ): Usage, data= [ 0x38 0x02 ] 568
144                               AC Pan
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
151         Endpoint Descriptor:
152           bLength                 7
153           bDescriptorType         5
154           bEndpointAddress     0x81  EP 1 IN
155           bmAttributes            3
156             Transfer Type            Interrupt
157             Synch Type               None
158             Usage Type               Data
159           wMaxPacketSize     0x0005  1x 5 bytes
160           bInterval              10
161   Device Status:     0x0000
162     (Bus Powered)
163
164
165 Logic analyzer setup
166 --------------------
167
168 The logic analyzer used was a ChronoVu LA8 (at various samplerates):
169
170   Probe       RX250
171   -----------------
172   2 (white)   DP
173   5 (brown)   DM
174
175
176 Data
177 ----
178
179 The sigrok command line used was:
180
181   sigrok-cli -d 0:samplerate=<samplerate> --samples=8388608 \
182              -p 3='David Prowse',6='Demi Moore' -o <filename>
183
184 (samplerate and filename vary)
185