lkml.org 
[lkml]   [2012]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Multitouch regression in 3.3 on thinkpad X220 clickpad
From
On Fri, Apr 20, 2012 at 1:21 AM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> So Peter and I have been discussing a problem I observed on my brand new
> ThinkPad X220 and it's multitouch "clickpad". I've been digging a bit
> more today and bisected the regression to:
>
> commit 7968a5dd492ccc38345013e534ad4c8d6eb60ed1
> Input: synaptics - add support for Relative mode
>
> Without that commit, I can draw two "traces" when using two fingers in
> mtview (after removing the device from X), each follow one finger.
>
> With that commit applied, this doesn't work anymore: it appears to be
> unable to track more than one finger. IE. If i put a finger on the
> touchpad, I can draw, but a second finger is then ignored (or causes one
> or two spots in a random place to appear but that's about it).
>
> Now other multitouch operations such as two finger scrolling seem to
> work in X. I'm not familiar with the inner workings of the input layer
> or the synaptic touchpads. I'll dig a bit more this week-end if I have
> time, but it would save me plenty of that precious time if you guys
> could hint me at things to look at :-)

Sorry to cause you this trouble.
It's the first I've heard of issues with this patch, and unfortunately
I don't have any immediate diagnosis for you.
The patch isn't supposed to change behaviour of the existing default
mode which is called "absolute mode".

What I would suggest looking at is
synaptics_set_advanced_gesture_mode(). Is this being called, does it
run to completion?
You could also look at the the values passed to synaptics_mode_cmd() -
how do they compare from good and bad drivers?

Does this line change over good/bad drivers?
psmouse serio1: synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1,
caps: 0xd001a3/0x940300/0x120c00

Another approach may be to compare the communication with the device
between good and bad drivers. This can be done with
echo 1 > /sys/module/i8042/parameters/debug
The device specs are public and remarkably good:
http://www.synaptics.com/sites/default/files/511-000275-01_RevB.pdf

Daniel


\
 
 \ /
  Last update: 2012-04-20 16:29    [from the cache]
©2003-2011 Jasper Spaans