Installing Kubuntu 15.04 on a Thinkpad Helix 2nd generation
Contents
Todo
FIXME
|
ThinkPad Ultrabook Pro Keyboard kernel problems
|
- [Owlman] document and investigate keyboard
- [Owlman] investigate ACPI events for hotkeys
- [Owlman] Move working hardware to ThinkPad Helix hardware specifications and create device pages where necessary
- [Owlman] Add information for Xorg drivers
- [Maliit/Kubuntu (post vivid)] virtual keyboard for Qt/KDE
- [Kubuntu (post vivid)] Xorg/libinput integration
- package xserver-xorg-input-libinput
- package systemsettings module for libinput ?
Hardware Status
Tablet/Slate
Processor
- Intel Core M-5Y71 Processor (4M Cache, 1.2GHz), Turbo Boost 2.0 (2.9GHz), Intel vPro™ Technology
Graphics
- Intel HD Graphics 5300 in processor, supports external digital monitor via micro HDMI; supports dual independent display; max. resolution: 1920x1080@60Hz (micro HDMI)
[ 1.718456] ACPI: Video Device [VID] (multi-head: yes rom: no post: no) [ 1.718804] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input6
- 11.6" FHD (1920x1080) display
- micro HDMI port
Input Devices
- Multitouch screen (Atmel ATML1000 touch device on i2c bus(?) supported by hid-multitouch kernel module (working)
- Wacom digitizer and pen (supported by i2c_hid kernel module - working? (not sure how to test))
sys/bus/hid/devices/0018:056A:0114.0002 -> ../../../devices/pci0000:00/INT3433:00/i2c-8/i2c-WCOM0009:00/0018:056A:0114.0002
- Cameras
- Front: 2.0-megapixel, 1080p resolution, fixed focus
- Rear: 5.0-megapixel, 1080p resolution, auto focus
[ 2.168557] usb 1-1: New USB device found, idVendor=04f2, idProduct=b45b [ 2.168559] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2 [ 2.168561] usb 1-1: Product: Integrated Rear Camera [ 2.168563] usb 1-1: Manufacturer: Chicony Electronics Co.,Ltd. [ 2.168564] usb 1-1: SerialNumber: 0x0001
Other
- Storage M.2 SSD: 128GB or 256GB (OPAL)
- Audio support (not working)
- Intel Smart Sound HD Audio, Realtek® ALC286-VC codec
- stereo speakers, 0.7 watt x 2
- digital microphones
- combo audio/microphone jack
- Intel Smart Sound HD Audio, Realtek® ALC286-VC codec
- Wireless LAN Intel Dual Band Wireless-AC 7265 (working with iwlwifi driver) with Bluetooth® 4.0
- Sierra EM7345
- Wireless WAN (working? - listed in network interfaces but not tested yet (syslog reports no sim inserted))
- GPS (status unknown)
- Broadcom NFC smart card reader (status unknown)
- Fingerprint reader (status unknown)
- Sensors (status unknown)
- Accelerometer
- simple device orientation sensor?
- hid sensor collection
- Ports
- USB 3.0 (working)
- Micro SD (status unknown)
- Micro HDMI (working)
- Dock Connector (for keyboard - see below)
- Power and Battery
- Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 (ACPI: Lid Switch [LID])
- Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1 (ACPI: Sleep Button [SLPB])
- Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2 (ACPI: Power Button [PWRB])
- thermal LNXTHERM:00: registered as thermal_zone0 (ACPI: Thermal Zone [THM0] (50 C))
- ACPI: Battery Slot [BAT0] (battery present)
ThinkPad Ultrabook Pro Keyboard (Part Number:4X30G93893)
- Lenovo keyboard
FIXME
|
(works in grub, not in linux)
|
- TrackPoint® pointing device (partially working: buttons scroll, not click. configuration issue in Xorg?)
- Multitouch clickpad with 3+2 buttons (appears to be working fine: some actions need to be configured in system-settings)
- Actions:
- left click (one finger tap)
- right click (two finger tap)
- middle click (three finger tap: needs configuration)
- scroll (two finger drag)
- Actions:
- sound: Realtek USB 2.0 speakers (not working)
- Ports:
- USB 3.0 Port (works fine)
- Mini DisplayPort (not working)
- Power and battery
- Integrated 4-cell battery (26Wh) (working)
- Power port
Debugging
System Configuration
Testing with Kubuntu 15.04 (vivid) beta, using a custom kernel for testing. Kernel is compiled against the v4.0 tag from git://kernel.ubuntu.com/virgin/linux.git with the ubuntu packaging patches from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/. I have also enabled the following debug options:
- debian.master/config/config.common.ubuntu
# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DEBUG=y # CONFIG_DEBUG_DRIVER is not set +CONFIG_DEBUG_DRIVER=y
- drivers/hid/hid-core.c:
+/* enable debugging: see Documentation/input/input.txt Section 3.1.1 */ +#define DEBUG +
syslog errors
- usb failed to peer. Probably not an issue as 1-3-port3 is the Realtek Semiconductor Corp USB 2.0 audio [0bda:4000] and 1-3-port4 is the Lenovo ITE Tech. Inc. Device(8595) keyboard [17ef:6067]. I'm guessing that neither of these need a USB 3.0 interface...
Apr 21 06:25:22 espace kernel: [122756.076147] device: '1-3-port3': device_add Apr 21 06:25:22 espace kernel: [122756.076279] PM: Adding info for No Bus:1-3-port3 Apr 21 06:25:22 espace kernel: [122756.076285] usb: failed to peer 1-3-port3 and 2-3-port2 by location (1-3-port3:none) (2-3-port2:1-3-port2) Apr 21 06:25:22 espace kernel: [122756.076287] usb 1-3-port3: failed to peer to 2-3-port2 (-16) Apr 21 06:25:22 espace kernel: [122756.076293] device: '1-3-port4': device_add Apr 21 06:25:22 espace kernel: [122756.076407] PM: Adding info for No Bus:1-3-port4 Apr 21 06:25:22 espace kernel: [122756.076411] usb: failed to peer 1-3-port4 and 2-3-port2 by location (1-3-port4:none) (2-3-port2:1-3-port2) Apr 21 06:25:22 espace kernel: [122756.076413] usb 1-3-port4: failed to peer to 2-3-port2 (-16)
- keyboard errors
[122757.604814] hid (null): usage index exceeded [122757.605158] hid-generic 0003:17EF:6067.0016: usage index exceeded [122757.605161] hid-generic 0003:17EF:6067.0016: item 0 2 2 2 parsing failed [122757.605174] hid-generic: probe of 0003:17EF:6067.0016 failed with error -22
- syslog entries related to ThinkPad Keyboard Pro unit docking event
Apr 21 06:25:24 espace kernel: [122757.407217] device: 'ep_00': device_add Apr 21 06:25:24 espace kernel: [122757.407244] PM: Adding info for No Bus:ep_00 Apr 21 06:25:24 espace kernel: [122757.490654] usb 1-3.4: new full-speed USB device number 22 using xhci_hcd Apr 21 06:25:24 espace kernel: [122757.600012] usb 1-3.4: New USB device found, idVendor=17ef, idProduct=6067 Apr 21 06:25:24 espace kernel: [122757.600018] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Apr 21 06:25:24 espace kernel: [122757.600021] usb 1-3.4: Product: ITE Device(8595) Apr 21 06:25:24 espace kernel: [122757.600023] usb 1-3.4: Manufacturer: ITE Tech. Inc. Apr 21 06:25:24 espace kernel: [122757.600030] device: '1-3.4': device_add Apr 21 06:25:24 espace kernel: [122757.600072] bus: 'usb': add device 1-3.4 Apr 21 06:25:24 espace kernel: [122757.600089] PM: Adding info for usb:1-3.4 Apr 21 06:25:24 espace kernel: [122757.600266] bus: 'usb': driver_probe_device: matched device 1-3.4 with driver usb Apr 21 06:25:24 espace kernel: [122757.600270] bus: 'usb': really_probe: probing driver usb with device 1-3.4 Apr 21 06:25:24 espace kernel: [122757.600276] usb 1-3.4: no default pinctrl state Apr 21 06:25:24 espace kernel: [122757.601325] device: '1-3.4:1.0': device_add Apr 21 06:25:24 espace kernel: [122757.601340] bus: 'usb': add device 1-3.4:1.0 Apr 21 06:25:24 espace kernel: [122757.601352] PM: Adding info for usb:1-3.4:1.0 Apr 21 06:25:24 espace kernel: [122757.601386] bus: 'usb': driver_probe_device: matched device 1-3.4:1.0 with driver usbhid Apr 21 06:25:24 espace kernel: [122757.601389] bus: 'usb': really_probe: probing driver usbhid with device 1-3.4:1.0 Apr 21 06:25:24 espace kernel: [122757.601393] usbhid 1-3.4:1.0: no default pinctrl state Apr 21 06:25:24 espace kernel: [122757.604814] hid (null): usage index exceeded Apr 21 06:25:24 espace kernel: [122757.604892] device: '0003:17EF:6067.0016': device_add Apr 21 06:25:24 espace kernel: [122757.604904] bus: 'hid': add device 0003:17EF:6067.0016 Apr 21 06:25:24 espace kernel: [122757.604920] PM: Adding info for hid:0003:17EF:6067.0016 Apr 21 06:25:24 espace kernel: [122757.604954] bus: 'hid': driver_probe_device: matched device 0003:17EF:6067.0016 with driver hid-generic Apr 21 06:25:24 espace kernel: [122757.604956] bus: 'hid': really_probe: probing driver hid-generic with device 0003:17EF:6067.0016 Apr 21 06:25:24 espace kernel: [122757.604961] hid-generic 0003:17EF:6067.0016: no default pinctrl state Apr 21 06:25:24 espace kernel: [122757.605158] hid-generic 0003:17EF:6067.0016: usage index exceeded Apr 21 06:25:24 espace kernel: [122757.605161] hid-generic 0003:17EF:6067.0016: item 0 2 2 2 parsing failed Apr 21 06:25:24 espace kernel: [122757.605174] hid-generic: probe of 0003:17EF:6067.0016 failed with error -22 Apr 21 06:25:24 espace kernel: [122757.605181] driver: 'usbhid': driver_bound: bound to device '1-3.4:1.0' Apr 21 06:25:24 espace kernel: [122757.605187] bus: 'usb': really_probe: bound device 1-3.4:1.0 to driver usbhid Apr 21 06:25:24 espace kernel: [122757.605193] device: 'ep_81': device_add Apr 21 06:25:24 espace kernel: [122757.605215] PM: Adding info for No Bus:ep_81 Apr 21 06:25:24 espace kernel: [122757.605217] device: '1-3.4:1.1': device_add Apr 21 06:25:24 espace kernel: [122757.605228] bus: 'usb': add device 1-3.4:1.1 Apr 21 06:25:24 espace kernel: [122757.605238] PM: Adding info for usb:1-3.4:1.1 Apr 21 06:25:24 espace kernel: [122757.607677] bus: 'usb': driver_probe_device: matched device 1-3.4:1.1 with driver usbhid Apr 21 06:25:24 espace kernel: [122757.607682] bus: 'usb': really_probe: probing driver usbhid with device 1-3.4:1.1 Apr 21 06:25:24 espace kernel: [122757.607688] usbhid 1-3.4:1.1: no default pinctrl state Apr 21 06:25:24 espace kernel: [122757.610323] device: '0003:17EF:6067.0017': device_add Apr 21 06:25:24 espace kernel: [122757.610338] bus: 'hid': add device 0003:17EF:6067.0017 Apr 21 06:25:24 espace kernel: [122757.610364] PM: Adding info for hid:0003:17EF:6067.0017 Apr 21 06:25:24 espace kernel: [122757.610398] bus: 'hid': driver_probe_device: matched device 0003:17EF:6067.0017 with driver hid-generic Apr 21 06:25:24 espace kernel: [122757.610402] bus: 'hid': really_probe: probing driver hid-generic with device 0003:17EF:6067.0017 Apr 21 06:25:24 espace kernel: [122757.610407] hid-generic 0003:17EF:6067.0017: no default pinctrl state Apr 21 06:25:24 espace kernel: [122757.610602] device: 'input26': device_add Apr 21 06:25:24 espace kernel: [122757.610654] PM: Adding info for No Bus:input26 Apr 21 06:25:24 espace kernel: [122757.610688] input: ITE Tech. Inc. ITE Device(8595) as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4:1.1/0003:17EF:6067.0017/input/input26 Apr 21 06:25:24 espace mtp-probe: checking bus 1, device 21: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3" Apr 21 06:25:24 espace mtp-probe: checking bus 1, device 22: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4" Apr 21 06:25:24 espace mtp-probe: bus: 1, device: 21 was not an MTP device Apr 21 06:25:24 espace mtp-probe: bus: 1, device: 22 was not an MTP device Apr 21 06:25:24 espace kernel: [122757.666287] device: 'event15': device_add Apr 21 06:25:24 espace kernel: [122757.666315] PM: Adding info for No Bus:event15 Apr 21 06:25:24 espace kernel: [122757.666469] device: 'hiddev1': device_add Apr 21 06:25:24 espace kernel: [122757.666498] PM: Adding info for No Bus:hiddev1 Apr 21 06:25:24 espace kernel: [122757.666561] device: 'hidraw1': device_add Apr 21 06:25:24 espace kernel: [122757.666582] PM: Adding info for No Bus:hidraw1 Apr 21 06:25:24 espace kernel: [122757.666634] hid-generic 0003:17EF:6067.0017: input,hiddev0,hidraw1: USB HID v1.10 Device [ITE Tech. Inc. ITE Device(8595)] on usb-0000:00:14.0-3.4/input1 Apr 21 06:25:24 espace kernel: [122757.666638] driver: 'hid-generic': driver_bound: bound to device '0003:17EF:6067.0017' Apr 21 06:25:24 espace kernel: [122757.666643] bus: 'hid': really_probe: bound device 0003:17EF:6067.0017 to driver hid-generic Apr 21 06:25:24 espace kernel: [122757.666648] driver: 'usbhid': driver_bound: bound to device '1-3.4:1.1' Apr 21 06:25:24 espace kernel: [122757.666651] bus: 'usb': really_probe: bound device 1-3.4:1.1 to driver usbhid Apr 21 06:25:24 espace kernel: [122757.666655] device: 'ep_82': device_add Apr 21 06:25:24 espace kernel: [122757.666674] PM: Adding info for No Bus:ep_82 Apr 21 06:25:24 espace kernel: [122757.666677] device: 'ep_03': device_add Apr 21 06:25:24 espace kernel: [122757.666694] PM: Adding info for No Bus:ep_03 Apr 21 06:25:24 espace kernel: [122757.666697] driver: 'usb': driver_bound: bound to device '1-3.4' Apr 21 06:25:24 espace kernel: [122757.666700] bus: 'usb': really_probe: bound device 1-3.4 to driver usb Apr 21 06:25:24 espace kernel: [122757.666712] device: 'ep_00': device_add Apr 21 06:25:24 espace kernel: [122757.666736] PM: Adding info for No Bus:ep_00 Apr 21 06:25:24 espace kernel: [122758.098648] device: 'ep_07': device_add Apr 21 06:25:24 espace kernel: [122758.098697] PM: Adding info for No Bus:ep_07 Apr 21 06:25:24 espace pulseaudio[1478]: [pulseaudio] alsa-util.c: Unable to load mixer: Invalid argument Apr 21 06:25:24 espace kernel: [122758.109019] device: 'ep_07': device_unregister Apr 21 06:25:24 espace kernel: [122758.109059] PM: Removing info for No Bus:ep_07
Device information for keyboard HID
$ sudo lsusb -d 17ef: Bus 001 Device 008: ID 17ef:6067 Lenovo $ sudo lsusb -vs 1:8 Bus 001 Device 008: ID 17ef:6067 Lenovo Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x17ef Lenovo idProduct 0x6067 bcdDevice 0.00 iManufacturer 1 ITE Tech. Inc. iProduct 2 ITE Device(8595) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 66 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 100mA 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.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 188 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 0x0040 1x 64 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 1 ITE Tech. Inc. HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 160 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 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Device Status: 0x0001 Self Powered
- dumps of hid descriptor
$ sudo usbhid-dump -a1:8 001:008:001:DESCRIPTOR 1430238875.097778 06 A0 FF 09 01 A1 01 85 02 09 01 A1 00 05 09 19 01 29 05 15 00 25 01 75 01 95 05 81 02 95 03 81 01 75 08 95 03 81 03 05 0C 0A 38 02 95 01 81 06 C0 C0 05 0C 09 01 A1 01 85 03 15 00 25 01 75 01 95 10 0A 2E 02 09 E2 09 EA 09 E9 09 01 09 70 09 6F 09 01 09 01 09 01 09 01 09 01 09 01 09 01 09 01 0A 2D 02 81 02 75 01 95 08 81 03 C0 05 01 09 0C A1 01 85 08 15 00 25 01 09 C6 75 01 95 01 81 06 75 07 81 03 C0 06 A0 FF 09 01 A1 01 85 09 09 01 75 08 95 02 91 82 09 02 75 08 95 02 81 82 C0 001:008:000:DESCRIPTOR 1430238875.100417 06 85 FF 09 95 A1 01 85 5A 09 01 15 00 26 FF 00 75 08 95 10 B1 00 C0 05 01 09 06 A1 01 85 01 75 01 95 08 05 07 19 E0 29 E7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08 15 00 26 FF 00 05 07 19 00 2A FF 00 81 00 C0 05 0C 09 01 A1 01 85 03 19 00 2A 3C 02 15 00 26 3C 02 75 10 95 01 81 00 C0 05 01 09 0C A1 01 85 02 15 00 25 01 09 C6 95 01 75 01 81 06 75 07 81 03 C0 05 88 09 01 A1 01 85 04 19 00 2A FF FF 15 00 26 FF FF 75 08 95 02 81 02 C0 05 01 09 80 A1 01 85 05 19 81 29 83 15 00 25 01 95 08 75 01 81 02 C0
- receiving keyboard events from interface 0! Keypress events for a,s,d,f :)
$ sudo usbhid-dump -a1:8 -i0 -e all 001:008:000:DESCRIPTOR 1430239015.142435 06 85 FF 09 95 A1 01 85 5A 09 01 15 00 26 FF 00 75 08 95 10 B1 00 C0 05 01 09 06 A1 01 85 01 75 01 95 08 05 07 19 E0 29 E7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08 15 00 26 FF 00 05 07 19 00 2A FF 00 81 00 C0 05 0C 09 01 A1 01 85 03 19 00 2A 3C 02 15 00 26 3C 02 75 10 95 01 81 00 C0 05 01 09 0C A1 01 85 02 15 00 25 01 09 C6 95 01 75 01 81 06 75 07 81 03 C0 05 88 09 01 A1 01 85 04 19 00 2A FF FF 15 00 26 FF FF 75 08 95 02 81 02 C0 05 01 09 80 A1 01 85 05 19 81 29 83 15 00 25 01 95 08 75 01 81 02 C0 Starting dumping interrupt transfer stream with 1 minute timeout. 001:008:000:STREAM 1430239018.043838 01 00 00 04 00 00 00 00 00 001:008:000:STREAM 1430239018.095839 01 00 00 00 00 00 00 00 00 001:008:000:STREAM 1430239019.163851 01 00 00 16 00 00 00 00 00 001:008:000:STREAM 1430239019.211845 01 00 00 00 00 00 00 00 00 001:008:000:STREAM 1430239021.495878 01 00 00 07 00 00 00 00 00 001:008:000:STREAM 1430239021.551867 01 00 00 00 00 00 00 00 00 001:008:000:STREAM 1430239022.091878 01 00 00 09 00 00 00 00 00 001:008:000:STREAM 1430239022.143873 01 00 00 00 00 00 00 00 00
- I haven't been able to generate events on interface 1
$ sudo usbhid-dump -a1:8 -i1 -e all 001:008:001:DESCRIPTOR 1430239252.765753 06 A0 FF 09 01 A1 01 85 02 09 01 A1 00 05 09 19 01 29 05 15 00 25 01 75 01 95 05 81 02 95 03 81 01 75 08 95 03 81 03 05 0C 0A 38 02 95 01 81 06 C0 C0 05 0C 09 01 A1 01 85 03 15 00 25 01 75 01 95 10 0A 2E 02 09 E2 09 EA 09 E9 09 01 09 70 09 6F 09 01 09 01 09 01 09 01 09 01 09 01 09 01 09 01 0A 2D 02 81 02 75 01 95 08 81 03 C0 05 01 09 0C A1 01 85 08 15 00 25 01 09 C6 75 01 95 01 81 06 75 07 81 03 C0 06 A0 FF 09 01 A1 01 85 09 09 01 75 08 95 02 91 82 09 02 75 08 95 02 81 82 C0 Starting dumping interrupt transfer stream with 1 minute timeout.
- dump of HID descriptors
$ sudo usbhid-dump -a1:8 | grep -v : | xxd -r -p | hidrd-convert -o spec Usage Page (FFA0h), ; FFA0h, vendor-defined Usage (01h), Collection (Application), Report ID (2), Usage (01h), Collection (Physical), Usage Page (Button), ; Button (09h) Usage Minimum (01h), Usage Maximum (05h), Logical Minimum (0), Logical Maximum (1), Report Size (1), Report Count (5), Input (Variable), Report Count (3), Input (Constant), Report Size (8), Report Count (3), Input (Constant, Variable), 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), Logical Minimum (0), Logical Maximum (1), Report Size (1), Report Count (16), Usage (AC Zoom Out), ; AC zoom out (022Eh, selector) Usage (Mute), ; Mute (E2h, on/off control) Usage (Volume Dec), ; Volume decrement (EAh, re-trigger control) Usage (Volume Inc), ; Volume increment (E9h, re-trigger control) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (70h), Usage (6Fh), Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (AC Zoom In), ; AC zoom in (022Dh, selector) Input (Variable), Report Size (1), Report Count (8), Input (Constant, Variable), End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (0Ch), Collection (Application), Report ID (8), Logical Minimum (0), Logical Maximum (1), Usage (C6h), Report Size (1), Report Count (1), Input (Variable, Relative), Report Size (7), Input (Constant, Variable), End Collection, Usage Page (FFA0h), ; FFA0h, vendor-defined Usage (01h), Collection (Application), Report ID (9), Usage (01h), Report Size (8), Report Count (2), Output (Variable, Volatile), Usage (02h), Report Size (8), Report Count (2), Input (Variable, Bit7), End Collection, Usage Page (FF85h), ; FF85h, vendor-defined Usage (95h), Collection (Application), Report ID (90), Usage (01h), Logical Minimum (0), Logical Maximum (255), Report Size (8), Report Count (16), Feature, End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (Keyboard), ; Keyboard (06h, application collection) Collection (Application), Report ID (1), Report Size (1), Report Count (8), 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), Input (Variable), Report Count (1), Report Size (8), Input (Constant, Variable), Report Count (5), Report Size (1), Usage Page (LED), ; LEDs (08h) Usage Minimum (01h), Usage Maximum (05h), Output (Variable), Report Count (1), Report Size (3), Output (Constant, Variable), Report Count (6), Report Size (8), Logical Minimum (0), Logical Maximum (255), Usage Page (Keyboard), ; Keyboard/keypad (07h) Usage Minimum (None), ; No event (00h, selector) Usage Maximum (FFh), Input, End Collection, Usage Page (Consumer), ; Consumer (0Ch) Usage (Consumer Control), ; Consumer control (01h, application collection) Collection (Application), Report ID (3), Usage Minimum (00h), Usage Maximum (AC Format), ; AC format (023Ch, selector) Logical Minimum (0), Logical Maximum (572), Report Size (16), Report Count (1), Input, End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (0Ch), Collection (Application), Report ID (2), Logical Minimum (0), Logical Maximum (1), Usage (C6h), Report Count (1), Report Size (1), Input (Variable, Relative), Report Size (7), Input (Constant, Variable), End Collection, Usage Page (88h), ; 88h, reserved Usage (01h), Collection (Application), Report ID (4), Usage Minimum (00h), Usage Maximum (FFFFh), Logical Minimum (0), Logical Maximum (-1), Report Size (8), Report Count (2), Input (Variable), End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (Sys Control), ; System control (80h, application collection) Collection (Application), Report ID (5), Usage Minimum (Sys Power Down), ; System power down (81h, one-shot control) Usage Maximum (Sys Wake Up), ; System wake up (83h, one-shot control) Logical Minimum (0), Logical Maximum (1), Report Count (8), Report Size (1), Input (Variable), End Collection
- interface 0 only
$ sudo usbhid-dump -a1:8 -i0| grep -v : | xxd -r -p | hidrd-convert -o spec Usage Page (FF85h), ; FF85h, vendor-defined Usage (95h), Collection (Application), Report ID (90), Usage (01h), Logical Minimum (0), Logical Maximum (255), Report Size (8), Report Count (16), Feature, End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (Keyboard), ; Keyboard (06h, application collection) Collection (Application), Report ID (1), Report Size (1), Report Count (8), 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), Input (Variable), Report Count (1), Report Size (8), Input (Constant, Variable), Report Count (5), Report Size (1), Usage Page (LED), ; LEDs (08h) Usage Minimum (01h), Usage Maximum (05h), Output (Variable), Report Count (1), Report Size (3), Output (Constant, Variable), Report Count (6), Report Size (8), Logical Minimum (0), Logical Maximum (255), Usage Page (Keyboard), ; Keyboard/keypad (07h) Usage Minimum (None), ; No event (00h, selector) Usage Maximum (FFh), Input, End Collection, Usage Page (Consumer), ; Consumer (0Ch) Usage (Consumer Control), ; Consumer control (01h, application collection) Collection (Application), Report ID (3), Usage Minimum (00h), Usage Maximum (AC Format), ; AC format (023Ch, selector) Logical Minimum (0), Logical Maximum (572), Report Size (16), Report Count (1), Input, End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (0Ch), Collection (Application), Report ID (2), Logical Minimum (0), Logical Maximum (1), Usage (C6h), Report Count (1), Report Size (1), Input (Variable, Relative), Report Size (7), Input (Constant, Variable), End Collection, Usage Page (88h), ; 88h, reserved Usage (01h), Collection (Application), Report ID (4), Usage Minimum (00h), Usage Maximum (FFFFh), Logical Minimum (0), Logical Maximum (-1), Report Size (8), Report Count (2), Input (Variable), End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (Sys Control), ; System control (80h, application collection) Collection (Application), Report ID (5), Usage Minimum (Sys Power Down), ; System power down (81h, one-shot control) Usage Maximum (Sys Wake Up), ; System wake up (83h, one-shot control) Logical Minimum (0), Logical Maximum (1), Report Count (8), Report Size (1), Input (Variable), End Collection
- interface 1 only
$ sudo usbhid-dump -a1:8 -i1| grep -v : | xxd -r -p | hidrd-convert -o spec Usage Page (FFA0h), ; FFA0h, vendor-defined Usage (01h), Collection (Application), Report ID (2), Usage (01h), Collection (Physical), Usage Page (Button), ; Button (09h) Usage Minimum (01h), Usage Maximum (05h), Logical Minimum (0), Logical Maximum (1), Report Size (1), Report Count (5), Input (Variable), Report Count (3), Input (Constant), Report Size (8), Report Count (3), Input (Constant, Variable), 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), Logical Minimum (0), Logical Maximum (1), Report Size (1), Report Count (16), Usage (AC Zoom Out), ; AC zoom out (022Eh, selector) Usage (Mute), ; Mute (E2h, on/off control) Usage (Volume Dec), ; Volume decrement (EAh, re-trigger control) Usage (Volume Inc), ; Volume increment (E9h, re-trigger control) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (70h), Usage (6Fh), Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (Consumer Control), ; Consumer control (01h, application collection) Usage (AC Zoom In), ; AC zoom in (022Dh, selector) Input (Variable), Report Size (1), Report Count (8), Input (Constant, Variable), End Collection, Usage Page (Desktop), ; Generic desktop controls (01h) Usage (0Ch), Collection (Application), Report ID (8), Logical Minimum (0), Logical Maximum (1), Usage (C6h), Report Size (1), Report Count (1), Input (Variable, Relative), Report Size (7), Input (Constant, Variable), End Collection, Usage Page (FFA0h), ; FFA0h, vendor-defined Usage (01h), Collection (Application), Report ID (9), Usage (01h), Report Size (8), Report Count (2), Output (Variable, Volatile), Usage (02h), Report Size (8), Report Count (2), Input (Variable, Bit7), End Collection</endwiki> === debugfs/hid info === <nowiki>$ sudo ls -l /sys/kernel/debug/hid total 0 drwxr-xr-x 2 root root 0 Apr 26 08:58 0003:17EF:6067.000D drwxr-xr-x 2 root root 0 Apr 26 09:06 0003:17EF:6067.000F drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:03EB:8A29.0001 drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:056A:0114.0002 drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:2047:0855.0003 $ sudo cat /sys/kernel/debug/hid/0003:17EF:6067.000F/rdesc 06 85 ff 09 95 a1 01 85 5a 09 01 15 00 26 ff 00 75 08 95 10 b1 00 c0 05 01 09 06 a1 01 85 01 75 01 95 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 2a ff 00 81 00 c0 05 0c 09 01 a1 01 85 03 19 00 2a 3c 02 15 00 26 3c 02 75 10 95 01 81 00 c0 05 01 09 0c a1 01 85 02 15 00 25 01 09 c6 95 01 75 01 81 06 75 07 81 03 c0 05 88 09 01 a1 01 85 04 19 00 2a ff ff 15 00 26 ff ff 75 08 95 02 81 02 c0 05 01 09 80 a1 01 85 05 19 81 29 83 15 00 25 01 95 08 75 01 81 02 c0 $ sudo cat /sys/kernel/debug/hid/0003:17EF:6067.000D/rdesc 06 a0 ff 09 01 a1 01 85 02 09 01 a1 00 05 09 19 01 29 05 15 00 25 01 75 01 95 05 81 02 95 03 81 01 75 08 95 03 81 03 05 0c 0a 38 02 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 15 00 25 01 75 01 95 10 0a 2e 02 09 e2 09 ea 09 e9 09 01 09 70 09 6f 09 01 09 01 09 01 09 01 09 01 09 01 09 01 09 01 0a 2d 02 81 02 75 01 95 08 81 03 c0 05 01 09 0c a1 01 85 08 15 00 25 01 09 c6 75 01 95 01 81 06 75 07 81 03 c0 06 a0 ff 09 01 a1 01 85 09 09 01 75 08 95 02 91 82 09 02 75 08 95 02 81 82 c0 INPUT(2)[INPUT] Field(0) Physical(ffa0.0001) Application(ffa0.0001) Usage(5) Button.0001 Button.0002 Button.0003 Button.0004 Button.0005 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(5) Report Offset(0) Flags( Variable Absolute ) Field(1) Physical(ffa0.0001) Application(ffa0.0001) Usage(1) Consumer.HorizontalWheel Logical Minimum(0) Logical Maximum(1) Report Size(8) Report Count(1) Report Offset(32) Flags( Variable Relative ) INPUT(3)[INPUT] Field(0) Application(Consumer.0001) Usage(16) Consumer.022e Consumer.00e2 Consumer.00ea Consumer.00e9 Consumer.0001 Consumer.0070 Consumer.006f Consumer.0001 Consumer.0001 Consumer.0001 Consumer.0001 Consumer.0001 Consumer.0001 Consumer.0001 Consumer.0001 Consumer.022d Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(16) Report Offset(0) Flags( Variable Absolute ) INPUT(8)[INPUT] Field(0) Application(GenericDesktop.000c) Usage(1) GenericDesktop.00c6 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(1) Report Offset(0) Flags( Variable Relative ) INPUT(9)[INPUT] Field(0) Application(ffa0.0001) Usage(2) ffa0.0002 ffa0.0002 Logical Minimum(0) Logical Maximum(1) Report Size(8) Report Count(2) Report Offset(0) Flags( Variable Absolute Volatile ) OUTPUT(9)[OUTPUT] Field(0) Application(ffa0.0001) Usage(2) ffa0.0001 ffa0.0001 Logical Minimum(0) Logical Maximum(1) Report Size(8) Report Count(2) Report Offset(0) Flags( Variable Absolute Volatile ) Button.0001 ---> Key.Btn0 Button.0002 ---> Key.Btn1 Button.0003 ---> Key.Btn2 Button.0004 ---> Key.Btn3 Button.0005 ---> Key.Btn4 Consumer.HorizontalWheel ---> Relative.HWheel Consumer.022e ---> Key.? Consumer.00e2 ---> Key.Mute Consumer.00ea ---> Key.VolumeDown Consumer.00e9 ---> Key.VolumeUp Consumer.0001 ---> Key.Unknown Consumer.0070 ---> Key.BrightnessDown Consumer.006f ---> Key.BrightnessUp Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.0001 ---> Key.Unknown Consumer.022d ---> Key.? GenericDesktop.00c6 ---> Key.Btn5 ffa0.0002 ---> Absolute.Misc ffa0.0002 ---> Absolute.? ffa0.0001 ---> Sync.Report ffa0.0001 ---> Sync.Report
Bus and Device Listing
Tablet pci@0000:__00:__00.0 Host bridge [0600]: Intel Corporation Broadwell-U Host Bridge -OPI [8086:1604] " | |_02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:161e] " | |_03.0 Audio controller [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] " | |_04.0 Signal processing controller [1180]: Intel Corporation Broadwell-U Camarillo Device [8086:1603] " | |_14.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB xHCI Controller [8086:9cb1] " | | |_USB bus 01 " | | | |_Port 1: Dev 1: USB 2.0 root hub " | | | |_Port 1: Dev 2: Chicony Electronics Integrated rear camera [04f2:b45b] " | | | |_Port 2: Tablet USB port (USB 2.0 mode) Ultrabook Pro Keyboard| | |_Port 3: VIA_Labs__Inc._USB2.0_Hub [2109:2811] " | | | | |_Port 1: USB port (USB 2.0 mode) " | | | | |_Port 2: " | | | | |_Port 3: Realtek Semiconductor Corp USB 2.0 audio [0bda:4000] " | | | | |_Port 4: Lenovo ITE Tech. Inc. Device(8595) [17ef:6067] " | | | | |_1.0 [hid 0003:17EF:6067.000F] " | | | | |_1.1 Keyboard [hid 0003:17EF:6067.000D] Tablet | | | |_Port 4: Sierra Wireless, Inc. EM7345 4G LTE modem [1199:a001] " | | | |_Port 5: " | | | |_Port 6: " | | | |_Port 7: Intel Corp Bluetooth [8087:0a2a] " | | | |_Port 8: 04f2:b45c Chicony Electronics Co., Ltd camera " | | |_USB bus 02 " | | |_Port 1: Dev 1: USB 3.0 root hub " | | |_Port 2: Tablet USB port (USB 3.0 mode) Ultrabook Pro Keyboard| |_Port 3: Dev 6: VIA Labs USB 3.0 hub [2109:8110] " | | |_Port 1: USB port (USB 3.0 mode) Tablet | |_16.0 Communication controller: [0780] Intel Corporation Wildcat Point-LP MEI Controller #1 [8086:9cba] " | |_1c.0 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 [8086:9c90] " | | |_ maps to pci@0000:02:00.0? " | |_1c.1 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 [8086:9c94] " | | |_ maps to pci@0000:06:00.0? " | |_1f.0 ISA bridge [0601]: Intel Corporation Wildcat Point-LP LPC Controller [8086:9cc7] " | |_1f.2 SATA controller [0106]: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] [8086:9c83] " | |_1f.3 SMBus [0c05]: Intel Corporation Wildcat Point-LP SMBus Controller [8086:9ca2] " | |_1f.6 Signal processing controller [1180]: Intel Corporation Wildcat Point-LP Thermal Management Controller [8086:9ca4] " |_02:__00.0 " |_06:__00.0 Network controller [0280]: Intel Corporation Wireless 7265 [8086:095a]