kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #180815
[Bug 1437759] Re: [Lenovo Miix] Synaptic/ITE Tech touchpad (06cb:a001) cannot be configured by hid-rmi
Okay, so I managed to come up with a workaround(ish) thing for this
particular problem; you need to reload the hid-multitouch kernel module,
and then re-enable the device using xinput.
Example script
#!/bin/bash
# Touchpad / Touchscreen Fix Script
# 2016.05.24
# Mark C. Roduner, Jr.
# If Run as root; fix all users, otherwise fix the current user
SCRIPT=$0
#Space separated list of kernel modules to reload
MODS_RELOAD="hid-multitouch"
get_users() {
#echo ":1 mroduner"
w -sh | sed -r "s/([^ ]+)[^:]+(:[0-9.]+).*/\2 \1/" | sort | uniq
}
execute_fix() {
export DISPLAY="$1"
sudo -iu "$2" $SCRIPT
}
get_core_regex() {
xinput --list --long | grep "Virtual core" | sed -r 's/.*id\=([0-9]+).*/\\b\1\\b/' | sort | uniq | tr '\n' '|'
}
get_all_pointers() {
xinput --list --long | grep XIButtonClass | sed -r "s/.*: ([0-9]+).*/\1/" | sort | uniq | tr '\n' ' '
}
get_real_pointers() {
EXPR="`get_core_regex` +"
get_all_pointers | sed -r "s/$EXPR/ /g"
}
if [ `id -u` -ne 0 ]; then
echo "Enabling devices for ${USERNAME}${DISPLAY}... "
for PTR in `get_real_pointers`; do
xinput set-prop $PTR "Device Enabled" 1
done
exit 0
fi
echo -n Reloading Modules:
for MOD in $MODS_RELOAD; do
echo -n " $MOD"
rmmod "$MOD" && modprobe "$MOD"
done
echo -e "\nFixing Input Devices..."
CDISP="$DISPLAY"
get_users \
| while read USER; do
execute_fix $USER;
done
export DISPLAY="$CDISP"
echo -e "\nDone."
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1437759
Title:
[Lenovo Miix] Synaptic/ITE Tech touchpad (06cb:a001) cannot be
configured by hid-rmi
Status in linux package in Ubuntu:
Confirmed
Bug description:
Problem:
The touchpad in the dock of the Lenovo Miix 2 11 tablet does not work. It is handled by hid-rmi, which fails to configure the device:
kernel: [ 3007.388388] input: ITE Tech. Inc. ITE Device(8595) as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3/1-3.3:1.0/0003:06CB:A001.0008/input/input18
kernel: [ 3007.442088] hid-generic 0003:06CB:A001.0008: input,hiddev0,hidraw2: USB HID v1.10 Keyboard [ITE Tech. Inc. ITE Device(8595)] on usb-0000:00:14.0-3.3/input0
kernel: [ 3007.521067] hid-rmi 0003:06CB:A001.0009: failed to write hid report (-38)
kernel: [ 3007.521074] hid-rmi 0003:06CB:A001.0009: rmi_set_page: set page failed: -38.
kernel: [ 3007.521077] hid-rmi 0003:06CB:A001.0009: failed to set page select to 0.
kernel: [ 3007.523194] input: ITE Tech. Inc. ITE Device(8595) as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3/1-3.3:1.1/0003:06CB:A001.0009/input/input19
kernel: [ 3007.523546] hid-rmi 0003:06CB:A001.0009: input,hiddev0,hidraw3: USB HID v1.10 Pointer [ITE Tech. Inc. ITE Device(8595)] on usb-0000:00:14.0-3.3/input1
kernel: [ 3007.523552] hid-rmi 0003:06CB:A001.0009: Device failed to be properly configured
Ubuntu 15.04 Beta (but same problem with 14.10)
Kernel: Linux miix 3.19.0-10-generic #10-Ubuntu SMP Mon Mar 23 16:16:45 UTC 2015 i686 i686 i686 GNU/Linux
The Keyboard (which works) and the touchpad are connected as one USB device with two interfaces:
Bus 001 Device 015: ID 06cb:a001 Synaptics, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x06cb Synaptics, Inc.
idProduct 0xa001
bcdDevice 0.03
iManufacturer 1 ITE Tech. Inc.
iProduct 2 ITE Device(8595)
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus 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 163
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 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
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 133
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 4
Device Status: 0x0000
(Bus Powered)
Workaround:
The touchpad works with hid-generic, if it is forces to handle the device. Yet, multitouch and dragging does not work.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1437759/+subscriptions
References