Distribution: Arch Linux
Kernel version: 3.5.3
Under kernel 3.4.9 the touch screen on my ThinkPad X220 Tablet worked flawlessly and without configuration; however, after updating to 3.5.3 the touch screen is no longer responsive, and does not appear to be properly detected.
Output of lsusb shows my touch screen just fine:
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 008: ID 04e8:681c Samsung Electronics Co., Ltd Galaxy Portal/Spica/S
Bus 001 Device 003: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 004: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 002 Device 005: ID 056a:0094 Wacom Co., Ltd
Bus 001 Device 005: ID 195d:1009 Itron Technology iONE
Bus 001 Device 006: ID 045e:00b4 Microsoft Corp. Digital Media Keyboard 1.0A
Bus 001 Device 007: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
*Most* of the time the wacom kernel module loads correctly, though I've noticed that it isn't present in the output of lsmod | grep wacom about 1 boot out of 4.
wacom 41218 0
usbcore 147434 7 uas,wacom,uvcvideo,usb_storage,ehci_hcd,usbhid,cdc_acm
When the wacom kernel module is loaded, I see something like the following lines in dmesg | grep "[w|W]acom":
[ 20.382806] input: Wacom ISDv4 E6 Pen as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input9
[ 20.388085] input: Wacom ISDv4 E6 Finger as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1/input/input10
[ 20.389276] usbcore: registered new interface driver wacom
However, by the time my machine finishes booting the path /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input9 doesn't exist!
Booting into an Ubuntu live CD (kernel version 3.2) results in a properly working touch screen, as does downgrading to kernel version 3.4.9. The only difference I can find between the working and non-working configurations is the presence of /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input9 (or the equivalent, corresponding to the output of dmesg).
Filing here, as there don't seem to be any Arch Linux related patches that would cause this.
Forum posts dealing with this issue:
https://bbs.archlinux.org/viewtopic.php?id=147887 (another user)
Arch Linux bug tracker report: https://bugs.archlinux.org/task/31384
I confirm this bug. After I upgraded to the 3.5 kernel, wacom does not even show up in /proc/bus/input/devices.
A full dmesg of failing case might be useful.
Created attachment 79281 [details]
dmesg output for kernel 3.5.3 (fail)
Current output of dmesg under kernel 3.5.3. Note that neither /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input10 nor /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1/input/input11 are actually present.
I do not have ThinkPad X220. From what I can tell, commit ea2e60244573a9204c8cee9b4fb181106784c617 ( http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=ea2e60244573a9204c8cee9b4fb181106784c617) needs to be applied first. Please apply it to 3.5.3 and test it again. The two patches (committed on June 29) that fixed ThinkPad X220 issue were based on the patch (committed on June 12).
@Ping: Recompiling the kernel with the June 12th patch you link to appears to resolve the issue.
Thank you Nathan for your testing. Dmitry, please backport patch to 3.5.3.
This issue is still present for me under kernel 3.5.4. However, the linked patch no longer resolves it.
Scratch that... Touchscreen works on 3.5.4 with the linked patch, but I have to suspend/resume first. Weird.
@Nathan: That proves the linked patch is the solution. Without that patch, tablet was initialized to a wrong mode. That's why a suspend/resume or restart of the system is needed before reloading the driver. We need to reset the tablet's firmware by suspend/resume or restart.
Dmitry,please backport the patch to 3.5. Thank you.