Bug 12577

Summary: DualPoint TouchPad at isa0060/serio1/input0 lost sync
Product: Drivers Reporter: Andy Isaacson (adi)
Component: Input DevicesAssignee: drivers_input-devices
Severity: normal CC: dmitry.torokhov, josemariafg, lfx, md, steve
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.29-rc2-00013-gf3b8436 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg.out

Description Andy Isaacson 2009-01-29 14:46:22 UTC
Latest working kernel version: d7a611 probably
Earliest failing kernel version: 0d46ed1c747edfe6476961d4d9f732ceb7a29074 probably
Distribution: Ubuntu 8.10
Hardware Environment: Dell E4300
Software Environment: Xorg + Gnome
Problem Description: Both the trackpoint and the touchpad work if used independently, but if used simultaneously the mouse pointer jumps and the kernel logs:

[ 4910.169668] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 5
[ 4910.170877] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 4910.177877] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 - driver resynched.
[ 4910.195946] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 5
[ 4910.197189] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 4910.204163] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 - driver resynched.

Steps to reproduce: build kernel, boot into Gnome, use touchpoint and accidentally brush trackpad with thumb.  Mouse jumps and psmouse loses sync.

The input probe reported:

[    3.772372] input: DualPoint Stick as /devices/platform/i8042/serio1/input/in
[    3.809917] input: AlpsPS/2 ALPS DualPoint TouchPad as /devices/platform/i8042/serio1/input/input5

If I revert 0d46ed1c747edfe6476961d4d9f732ceb7a29074 the mouse is detected as:
input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input1
and it doesn't lose sync when both inputs are used simultaneously, but I lose the other nifty features (scroll areas on touchpad).
Comment 1 Andrew Morton 2009-01-29 15:00:32 UTC
Geert, could you please take a look?

(please cc me on any patch)

Comment 2 Andy Isaacson 2009-02-20 16:21:26 UTC
Can't reproduce in 2.6.29-rc5-00168-gba95fd4; apparently it got fixed at some point post -rc4.  I'll bisect to figure out when it got fixed exactly.
Comment 3 Andy Isaacson 2009-02-20 18:18:52 UTC
OK, now I've reproduced in 2.6.29-rc5-00168-gba95fd4.  Looking at my logs, it appears sometimes the dualpoint probes as
[    3.744303] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input5

in which case it doesn't exhibit the "lost sync" problem; the trackpad and touchpoint work together, but fancy features like the scroll areas on the touchpad don't work.
Comment 4 Andy Isaacson 2009-02-23 13:08:08 UTC
Created attachment 20335 [details]

dmesg from 2.6.29-rc5-00168-gba95fd4 showing probe of DualPoint.
Comment 5 Andy Isaacson 2009-02-23 16:15:26 UTC
This appears to be fixed by the patch from http://lkml.org/lkml/2008/12/8/182 which applies cleanly to 2.6.29-rc6.  I've asked the author to resend for inclusion.
Comment 6 Andy Isaacson 2009-07-01 19:29:20 UTC
This problem is still present in 2.6.31-rc1.  Matthew's patch still applies and fixes the problem.
Comment 7 José María Fernández González 2009-10-05 23:44:23 UTC
I'm using a Toshiba Tecra M5 since 3 years, which brings an Alps DualPoint touchpad, and it also suffers from the same problem described in this bug. It was a nightmare to work on this laptop with X since the beginning, and I tested all the kernels (including 2.6.31), all the Xorg synaptic drivers and also all the tweaks I found. The tweaks mitigated the problem, but they did not solve it.

A couple of days ago I deactivated the tweaks and applied the patch referred in comment #5 on kernel 2.6.31, and since then the symptoms have disappeared! No hanging mouse, no jumps since then!

So, I think the patch at least works for my laptop.
Comment 8 Steven Newbury 2009-10-27 10:23:39 UTC
The patch alleviates the issue, but it still occurs when docking/undocking when the ps/2 device changes (the docking station has ps/2 ports) so there are then 3 ps/2 mouse devices, touchpad, glidepoint and external mouse.  The psmouse driver gets confused loses sync, then when it recovers the synaptics driver can trigger an oops and hard lockup when attempting double-click-drags etc.  Unloading/reloading psmouse fixes it.
Comment 9 Dmitry Torokhov 2009-12-16 21:40:19 UTC
The support for interleaved PS/2 packets for ALPS was added as commit 1d9f26262aef6d63ff65eba0fd5f1583f342b69b and will be part of 2.6.33-rc1.

As far as the driver oopsing docking/undocking - it is tracked as bug 12254; the full oops text from a recent kernel would be great. Or detailed instructions how to reproduce - I can't seem to trigger it on D630 with a port replicator. Thanks.