--- /dev/null
+-------------------------------------------------------------------------------
+USB HID (full-speed signalling)
+-------------------------------------------------------------------------------
+
+This is a set of example captures of USB/HID communication of the
+Logitech RX250 optical USB mouse.
+
+Details:
+http://www.logitech.com/en-za/support/mice/3141
+
+
+HID dump
+--------
+
+For a HOWTO, see:
+http://lists.en.qi-hardware.com/pipermail/discussion/2011-November/009206.html
+
+ Usage Page (Desktop), ; Generic desktop controls (01h)
+ Usage (Mouse), ; Mouse (02h, application collection)
+ Collection (Application),
+ Usage (Pointer), ; Pointer (01h, physical collection)
+ Collection (Physical),
+ Usage Page (Button), ; Button (09h)
+ Usage Minimum (01h),
+ Usage Maximum (08h),
+ Logical Minimum (0),
+ Logical Maximum (1),
+ Report Count (8),
+ Report Size (1),
+ Input (Variable),
+ Report Count (0),
+ Input (Constant, Variable),
+ Usage Page (Desktop), ; Generic desktop controls (01h)
+ Usage (X), ; X (30h, dynamic value)
+ Usage (Y), ; Y (31h, dynamic value)
+ Usage (Wheel), ; Wheel (38h, dynamic value)
+ Logical Minimum (-127),
+ Logical Maximum (127),
+ Report Size (8),
+ Report Count (3),
+ Input (Variable, Relative),
+ Usage Page (Consumer), ; Consumer (0Ch)
+ Usage (AC Pan), ; AC pan (0238h, linear control)
+ Report Count (1),
+ Input (Variable, Relative),
+ End Collection,
+ End Collection
+
+
+lsusb -v
+--------
+
+ Bus 003 Device 092: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
+ Device Descriptor:
+ bLength 18
+ bDescriptorType 1
+ bcdUSB 2.00
+ bDeviceClass 0 (Defined at Interface level)
+ bDeviceSubClass 0
+ bDeviceProtocol 0
+ bMaxPacketSize0 8
+ idVendor 0x046d Logitech, Inc.
+ idProduct 0xc050 RX 250 Optical Mouse
+ bcdDevice 27.20
+ iManufacturer 1 Logitech
+ iProduct 2 USB-PS/2 Optical Mouse
+ iSerial 0
+ bNumConfigurations 1
+ Configuration Descriptor:
+ bLength 9
+ bDescriptorType 2
+ wTotalLength 34
+ bNumInterfaces 1
+ bConfigurationValue 1
+ iConfiguration 0
+ bmAttributes 0xa0
+ (Bus Powered)
+ Remote Wakeup
+ MaxPower 98mA
+ Interface Descriptor:
+ bLength 9
+ bDescriptorType 4
+ bInterfaceNumber 0
+ bAlternateSetting 0
+ bNumEndpoints 1
+ bInterfaceClass 3 Human Interface Device
+ bInterfaceSubClass 1 Boot Interface Subclass
+ bInterfaceProtocol 2 Mouse
+ iInterface 0
+ HID Device Descriptor:
+ bLength 9
+ bDescriptorType 33
+ bcdHID 1.10
+ bCountryCode 0 Not supported
+ bNumDescriptors 1
+ bDescriptorType 34 Report
+ wDescriptorLength 59
+ Report Descriptor: (length is 59)
+ Item(Global): Usage Page, data= [ 0x01 ] 1
+ Generic Desktop Controls
+ Item(Local ): Usage, data= [ 0x02 ] 2
+ Mouse
+ Item(Main ): Collection, data= [ 0x01 ] 1
+ Application
+ Item(Local ): Usage, data= [ 0x01 ] 1
+ Pointer
+ Item(Main ): Collection, data= [ 0x00 ] 0
+ Physical
+ Item(Global): Usage Page, data= [ 0x09 ] 9
+ Buttons
+ Item(Local ): Usage Minimum, data= [ 0x01 ] 1
+ Button 1 (Primary)
+ Item(Local ): Usage Maximum, data= [ 0x08 ] 8
+ (null)
+ Item(Global): Logical Minimum, data= [ 0x00 ] 0
+ Item(Global): Logical Maximum, data= [ 0x01 ] 1
+ Item(Global): Report Count, data= [ 0x08 ] 8
+ Item(Global): Report Size, data= [ 0x01 ] 1
+ Item(Main ): Input, data= [ 0x02 ] 2
+ Data Variable Absolute No_Wrap Linear
+ Preferred_State No_Null_Position Non_Volatile Bitfield
+ Item(Global): Report Count, data= [ 0x00 ] 0
+ Item(Main ): Input, data= [ 0x03 ] 3
+ Constant Variable Absolute No_Wrap Linear
+ Preferred_State No_Null_Position Non_Volatile Bitfield
+ Item(Global): Usage Page, data= [ 0x01 ] 1
+ Generic Desktop Controls
+ Item(Local ): Usage, data= [ 0x30 ] 48
+ Direction-X
+ Item(Local ): Usage, data= [ 0x31 ] 49
+ Direction-Y
+ Item(Local ): Usage, data= [ 0x38 ] 56
+ Wheel
+ Item(Global): Logical Minimum, data= [ 0x81 ] 129
+ Item(Global): Logical Maximum, data= [ 0x7f ] 127
+ Item(Global): Report Size, data= [ 0x08 ] 8
+ Item(Global): Report Count, data= [ 0x03 ] 3
+ Item(Main ): Input, data= [ 0x06 ] 6
+ Data Variable Relative No_Wrap Linear
+ Preferred_State No_Null_Position Non_Volatile Bitfield
+ Item(Global): Usage Page, data= [ 0x0c ] 12
+ Consumer
+ Item(Local ): Usage, data= [ 0x38 0x02 ] 568
+ AC Pan
+ Item(Global): Report Count, data= [ 0x01 ] 1
+ Item(Main ): Input, data= [ 0x06 ] 6
+ Data Variable Relative No_Wrap Linear
+ Preferred_State No_Null_Position Non_Volatile Bitfield
+ Item(Main ): End Collection, data=none
+ Item(Main ): End Collection, data=none
+ Endpoint Descriptor:
+ bLength 7
+ bDescriptorType 5
+ bEndpointAddress 0x81 EP 1 IN
+ bmAttributes 3
+ Transfer Type Interrupt
+ Synch Type None
+ Usage Type Data
+ wMaxPacketSize 0x0005 1x 5 bytes
+ bInterval 10
+ Device Status: 0x0000
+ (Bus Powered)
+
+
+Logic analyzer setup
+--------------------
+
+The logic analyzer used was a ChronoVu LA8 (at various samplerates):
+
+ Probe RX250
+ -----------------
+ 2 (white) DP
+ 5 (brown) DM
+
+
+Data
+----
+
+The sigrok command line used was:
+
+ sigrok-cli -d 0:samplerate=<samplerate> --samples=8388608 \
+ -p 3='David Prowse',6='Demi Moore' -o <filename>
+
+(samplerate and filename vary)
+