Bug 46821

Summary: ThinkPad X220 Tablet touch screen no longer works properly with wacom module
Product: Drivers Reporter: Nathan Acks (linux.kernel)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED OBSOLETE    
Severity: normal CC: alan, creatorlarryli, dmitry.torokhov, efimov.v.a, pinglinux
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.5.3 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg output for kernel 3.5.3 (fail)

Description Nathan Acks 2012-09-01 23:17:02 UTC
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?pid=1154414 (Mine)
https://bbs.archlinux.org/viewtopic.php?id=147887 (another user)
Comment 1 Nathan Acks 2012-09-01 23:17:57 UTC
Arch Linux bug tracker report: https://bugs.archlinux.org/task/31384
Comment 2 Larry 2012-09-03 23:40:02 UTC
I confirm this bug. After I upgraded to the 3.5 kernel, wacom does not even show up in /proc/bus/input/devices.

uname -r 
3.5.3-1-ARCH
Comment 3 Dmitry Torokhov 2012-09-04 18:12:02 UTC
A full dmesg of failing case might be useful.
Comment 4 Nathan Acks 2012-09-04 19:34:25 UTC
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.
Comment 5 Ping 2012-09-04 20:16:39 UTC
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).
Comment 6 Nathan Acks 2012-09-07 05:06:33 UTC
@Ping: Recompiling the kernel with the June 12th patch you link to appears to resolve the issue.
Comment 7 Ping 2012-09-07 06:15:29 UTC
Thank you Nathan for your testing. Dmitry, please backport patch to 3.5.3.
Comment 8 Nathan Acks 2012-09-22 04:52:28 UTC
This issue is still present for me under kernel 3.5.4. However, the linked patch no longer resolves it.
Comment 9 Nathan Acks 2012-09-22 13:59:21 UTC
Scratch that... Touchscreen works on 3.5.4 with the linked patch, but I have to suspend/resume first. Weird.
Comment 10 Ping 2012-09-22 22:58:18 UTC
@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.
Comment 11 Ping 2012-09-23 00:20:37 UTC
Dmitry,please backport the patch to 3.5. Thank you.