From: Uwe Hermann Date: Sun, 17 Jun 2012 23:11:25 +0000 (+0200) Subject: USB HID: Low-speed dumps of a Logitech RX250 mouse. X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commitdiff_plain;h=68412e74da7c8444dffcb39475bac4dc5d00cdf8;hp=fca1023c83ab7d90521dde6149fa8a62dccca37d USB HID: Low-speed dumps of a Logitech RX250 mouse. --- diff --git a/usb/hid/mouse/logitech_rx250/README b/usb/hid/mouse/logitech_rx250/README new file mode 100644 index 0000000..9b8f80b --- /dev/null +++ b/usb/hid/mouse/logitech_rx250/README @@ -0,0 +1,185 @@ +------------------------------------------------------------------------------- +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= --samples=8388608 \ + -p 3='David Prowse',6='Demi Moore' -o + +(samplerate and filename vary) + diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_100mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_100mhz.sr new file mode 100644 index 0000000..04470e0 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_100mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_12_5mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_12_5mhz.sr new file mode 100644 index 0000000..39c797e Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_12_5mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_1_515151mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_1_515151mhz.sr new file mode 100644 index 0000000..3ca466c Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_1_515151mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_25mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_25mhz.sr new file mode 100644 index 0000000..eacd610 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_25mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_3_125mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_3_125mhz.sr new file mode 100644 index 0000000..8993b9a Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_3_125mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_500khz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_500khz.sr new file mode 100644 index 0000000..c1328b6 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_500khz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_50mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_50mhz.sr new file mode 100644 index 0000000..7858cf9 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_50mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_5mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_5mhz.sr new file mode 100644 index 0000000..bcd6d6c Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_idle_5mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightclick_50mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightclick_50mhz.sr new file mode 100644 index 0000000..d8f76b1 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightclick_50mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightpressed_50mhz.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightpressed_50mhz.sr new file mode 100644 index 0000000..8cef744 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftandrightpressed_50mhz.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_leftclick.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftclick.sr new file mode 100644 index 0000000..affda49 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_leftclick.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_rightclick.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_rightclick.sr new file mode 100644 index 0000000..51a40c3 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_rightclick.sr differ diff --git a/usb/hid/mouse/logitech_rx250/logitech_rx250_wiggle.sr b/usb/hid/mouse/logitech_rx250/logitech_rx250_wiggle.sr new file mode 100644 index 0000000..eb25464 Binary files /dev/null and b/usb/hid/mouse/logitech_rx250/logitech_rx250_wiggle.sr differ