From: Uwe Hermann Date: Sun, 17 Jun 2012 12:18:20 +0000 (+0200) Subject: Add a UBS/HID dump from a Logitech MK220. X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commitdiff_plain;h=2ce5b783b3b3deeb92993657ecbf1e38147a199e Add a UBS/HID dump from a Logitech MK220. Thanks Xiangfu Liu for the files and info. --- diff --git a/usb/hid/logitech_wireless_combo_mk220/README b/usb/hid/logitech_wireless_combo_mk220/README new file mode 100644 index 0000000..b3faf9b --- /dev/null +++ b/usb/hid/logitech_wireless_combo_mk220/README @@ -0,0 +1,250 @@ +------------------------------------------------------------------------------- +USB HID (Full-speed) +------------------------------------------------------------------------------- + +This is a set of example captures of USB/HID communication on the +keyboard/mouse combo device Logitech MK220 (the keyboard is named "K220", +the mouse is named "M150"). + +Details: +http://www.logitech.com/en-za/keyboards/keyboard-mice-combos/8411 + + +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), + Report ID (2), + Usage (Pointer), ; Pointer (01h, physical collection) + Collection (Physical), + Usage Page (Button), ; Button (09h) + Usage Minimum (01h), + Usage Maximum (10h), + Logical Minimum (0), + Logical Maximum (1), + Report Count (16), + Report Size (1), + Input (Variable), + Usage Page (Desktop), ; Generic desktop controls (01h) + Logical Minimum (-2047), + Logical Maximum (2047), + Report Size (12), + Report Count (2), + Usage (X), ; X (30h, dynamic value) + Usage (Y), ; Y (31h, dynamic value) + Input (Variable, Relative), + Logical Minimum (-127), + Logical Maximum (127), + Report Size (8), + Report Count (1), + Usage (Wheel), ; Wheel (38h, dynamic value) + 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, + Usage Page (Consumer), ; Consumer (0Ch) + Usage (Consumer Control), ; Consumer control (01h, application collection) + Collection (Application), + Report ID (3), + Report Size (16), + Report Count (2), + Logical Minimum (1), + Logical Maximum (652), + Usage Minimum (Consumer Control), ; Consumer control (01h, application collection) + Usage Maximum (AC Send), ; AC send (028Ch, selector) + Input, + End Collection, + Usage Page (Desktop), ; Generic desktop controls (01h) + Usage (Sys Control), ; System control (80h, application collection) + Collection (Application), + Report ID (4), + Report Size (2), + Report Count (1), + Logical Minimum (1), + Logical Maximum (3), + Usage (Sys Sleep), ; System sleep (82h, one-shot control) + Usage (Sys Power Down), ; System power down (81h, one-shot control) + Usage (Sys Wake Up), ; System wake up (83h, one-shot control) + Input (No Preferred, Null State), + Report Size (6), + Input (Constant, Variable), + End Collection, + Usage Page (FF00h), ; FF00h, vendor-defined + Usage (01h), + Collection (Application), + Report ID (16), + Report Size (8), + Report Count (6), + Logical Minimum (0), + Logical Maximum (255), + Usage (01h), + Input, + Usage (01h), + Output, + End Collection, + Usage Page (FF00h), ; FF00h, vendor-defined + Usage (02h), + Collection (Application), + Report ID (17), + Report Size (8), + Report Count (19), + Logical Minimum (0), + Logical Maximum (255), + Usage (02h), + Input, + Usage (02h), + Output, + End Collection, + Usage Page (Desktop), ; Generic desktop controls (01h) + Usage (Keyboard), ; Keyboard (06h, application collection) + Collection (Application), + Usage Page (Keyboard), ; Keyboard/keypad (07h) + Usage Minimum (KB Leftcontrol), ; Keyboard left control (E0h, dynamic value) + Usage Maximum (KB Right GUI), ; Keyboard right GUI (E7h, dynamic value) + Logical Minimum (0), + Logical Maximum (1), + Report Size (1), + Report Count (8), + Input (Variable), + Input (Constant, Variable), + Report Count (5), + Usage Page (LED), ; LEDs (08h) + Usage Minimum (01h), + Usage Maximum (05h), + Output (Variable), + Report Count (1), + Report Size (3), + Output (Constant), + Report Count (6), + Report Size (8), + Logical Minimum (0), + Logical Maximum (164), + Usage Page (Keyboard), ; Keyboard/keypad (07h) + Usage Minimum (None), ; No event (00h, selector) + Usage Maximum (KB ExSel), ; Keyboard ExSel (A4h, selector) + Input, + End Collection + + +lsusb -v -d 046d:c52e +--------------------- + + Bus 002 Device 019: ID 046d:c52e Logitech, Inc. + 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 0xc52e + bcdDevice 23.00 + iManufacturer 1 Logitech + iProduct 2 USB Receiver + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 59 + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 4 RQR23.00_B0005 + 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 1 Keyboard + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 59 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 8 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + 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.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 177 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0014 1x 20 bytes + bInterval 2 + Device Status: 0x0000 + (Bus Powered) + + +Logic analyzer setup +-------------------- + +The logic analyzer used was an ARMFLY Mini-Logic (at 24MHz): + + Probe MK220 + ----------------- + 0 DM + 1 DP + + +mk220.sr +-------- + +The sigrok command line used was: + + sigrok-cli -d 0:samplerate=24mhz --time 1s -o mk220.sr --probes 1,2 + +(the mouse was moved while running this command) + diff --git a/usb/hid/logitech_wireless_combo_mk220/mk220.sr b/usb/hid/logitech_wireless_combo_mk220/mk220.sr new file mode 100644 index 0000000..c3f1378 Binary files /dev/null and b/usb/hid/logitech_wireless_combo_mk220/mk220.sr differ