Bug 37852

Summary: touchpad interferes with typing after suspend/resume
Product: Drivers Reporter: Martey Dodoo (kernel.org)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, camaradetux, dmitry.torokhov, figasebe, kelketek, tpo_deb
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.3.7 Subsystem:
Regression: No Bisected commit-id:

Description Martey Dodoo 2011-06-19 07:56:34 UTC
This is an upstream bug report for Debian bug #630023: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630023

After a successful suspend/resume cycle on my HP Pavilion dm1-3000, the Synaptics touchpad will cause keystrokes to either be lost or be repeated. Syslog repeatedly displays:

[   68.074180] psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 4
[   68.074496] psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[   68.075987] psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[   68.077213] psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[   68.078593] psmouse.c: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[   68.078600] psmouse.c: issuing reconnect request
Comment 1 Martey Dodoo 2011-07-09 09:42:40 UTC
If I run rmmod and modprobe on psmouse, the "lost sync" messages stop occurring.
Comment 2 Adrien Nader 2011-07-20 19:41:42 UTC
Hi,

I have the same issue on roughly the same laptop (hp dm1 3130/3135).

Removing the module and inserting it again seems to fix the issue. I've searched on the internet and the error message doesn't seem new although the issues might be different each time I've seen it mentioned.

Is there hope for a fix (which additional info could we provide) or should we just "modprobe -r psmouse && modprobe psmouse" automatically after each resume?

PS: The bug report mentions version 2.5 but this happens on 2.9.3[5-9]/3.0 (I'm not sure you could get much out of these laptops on 2.5 anyway).
Comment 3 Kelketek 2012-06-02 01:58:55 UTC
This is still happening as of 3.3.7.

I do get the same errors:
Jun  1 20:47:07 Zion kernel: [ 5022.401000] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4
Jun  1 20:47:07 Zion kernel: [ 5022.407430] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Jun  1 20:47:07 Zion kernel: [ 5022.409008] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Jun  1 20:47:07 Zion kernel: [ 5022.410306] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Jun  1 20:47:07 Zion kernel: [ 5022.411844] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Jun  1 20:47:07 Zion kernel: [ 5022.411851] psmouse serio1: issuing reconnect request

But I also get errors like these, intermittently:

Jun  1 20:47:24 Zion kernel: [ 5039.882227] psmouse serio1: TouchPad at isa0060/serio1/input0 - driver resynced.

Fedora compiles this module into the kernel, so users with this problem either have to recompile without that module or switch distros.
Comment 4 Nikolay 2012-09-30 13:22:30 UTC
I have same trouble. Notebook Samsung 350u2b.

Sometimes touchpan not workinkg.

That happens when one finger in the lower right corner, and the other finger on the center of the touchpad.


$ xinput list | grep Touchpad
⎜   ↳ ETPS/2 Elantech Touchpad                  id=12   [slave  pointer  (2)]

$dmesg
[ 4335.879836] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 4335.908340] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 5018.411486] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 5018.423943] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 5029.876019] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 5029.897982] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.

Solution, Just reload psmouse module.
$rmmod psmouse
$modprobe psmouse

Kernel:
$uname -a
Linux samsung 3.5.4-1-ARCH #1 SMP PREEMPT Sat Sep 15 08:12:04 CEST 2012 x86_64 GNU/Linux
Comment 5 Dmitry Torokhov 2012-10-01 16:25:46 UTC
Hm, the HP boxes - do they use active MUX (how many serio ports is reported in dmesg)? If 5 - please try booting with i8042.nomux and let me know if it helps with suspend/resume.

Thanks.
Comment 6 Nikolay 2012-10-02 07:33:04 UTC
Thanks for answering.
I booting system with kernel option "i8042.nomux".
Then send the  system to suspend mode and resume. Аfter some time the error occurred again.

$dmesg

[ 5886.135442] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 5886.147474] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 5973.254436] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 5973.271490] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 6008.335635] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 6008.356095] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 6172.043921] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 6172.079316] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 7084.386385] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 7084.411297] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.
[ 7299.066706] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6
[ 7299.086690] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced.




I create new bug ticket for Elantech Touchpad.
https://bugzilla.kernel.org/show_bug.cgi?id=48161
Comment 7 Dmitry Torokhov 2012-10-02 15:47:19 UTC
Nikolay, I asked about HP boxes, yours is Samsung...
Comment 8 Tomas Pospisek 2012-11-21 16:19:15 UTC
I'm seeing the same errors in my kernel log a lot.

The keyboard of my HP Pavillon dv7 is very unreliable, same goes for the mouse buttons which are unusable for playing shooter games, because fast clicking has about a 30% chance of getting through. I originally thought it might be caused by extremly shitty HW by HP's (actually Synaptics') part, but maybe it's a driver problem...

As to Dmitry's question:
Nov 20 00:20:08 hier kernel: [    3.520704] serio: i8042 KBD port at 0x60,0x64 irq 1
Nov 20 00:20:08 hier kernel: [    3.520709] serio: i8042 AUX port at 0x60,0x64 irq 12
Nov 20 00:20:08 hier kernel: [    3.531805] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Nov 20 00:20:08 hier kernel: [    9.491266] psmouse serio1: synaptics: Touchpad model: 1, fw: 7.5, id: 0x1e0b1, caps: 0xd00073/0x240000/0xa0400, board id: 1680, fw id: 726294
Nov 20 00:20:08 hier kernel: [    9.534917] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6
Nov 20 07:23:38 hier kernel: [  524.340267] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4
Nov 20 07:23:38 hier kernel: [  524.345438] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Nov 20 07:23:38 hier kernel: [  524.347082] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Nov 20 07:23:38 hier kernel: [  524.348377] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Nov 20 07:23:38 hier kernel: [  524.349976] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
Nov 20 07:23:38 hier kernel: [  524.349985] psmouse serio1: issuing reconnect request

Does this contain the information that you (Dmitry) are asking for?
*t
Comment 9 Tomas Pospisek 2013-06-04 10:56:40 UTC
With kernel 3.8 this problem has become hell. Under real time load I can't use the touchpad any more *at* *all*. With 3.8 the touchpad has actually become **unusable**.

See this bug report here: http://bugs.debian.org/711054

Is nobody out there who can give me any hint on how to proceed from here? I'd very much like to have a usable keyboard and mouse again.
Comment 10 Dmitry Torokhov 2013-06-04 16:27:02 UTC
Tomas, did the problem become worse with 3.7 -> 3.8 transition? There were no changes to synaptics driver in that timeframe:

[dtor@dtor-d630 master]$ git log --oneline v3.7..v3.8 -- drivers/input/mouse
a254616 Input: sentelic - only report position of first finger as ST coordinates
e2619cf Input: remove use of __devexit
5298cc4 Input: remove use of __devinit
1cb0aa8 Input: remove use of __devexit_p
fa8e245 Merge tag 'v3.7-rc4' into next to sync up Wacom bits
3b11292 Input: ALPS - print small buffers via %*ph

If the behavior regressed significantly in this time frame that would be because of issue somewhere else. Would you be able to try bisecting it?
Comment 11 Tomas Pospisek 2013-06-04 21:59:27 UTC
Hi Dimitry,

> Tomas, did the problem become worse with 3.7 -> 3.8 transition?
> There were no changes to synaptics driver in that timeframe:

Yes, it did become a lot worse between:

* self compiled 3.7.0 (make oldconfig based on Debian's kernel)
* and vmlinuz-3.8-2-amd64 from Debian

It feels like with 3.8 the touchpad driver has suddenly fallen to the bottom of the CPU time feeding chain. I.e. as soon as whatever else needs CPU time (maybe it's not CPU time per se but some other resource), the chain from the touchpad up to the X server that is moving the mouse around, will be starved for processing time (or something - interrupts?).

But even then, keyboard behaviour was horrible before with the Debian's 3.2.0-4-amd64 kernel, and "my" 3.7, I guess due to the "lost sync" problem. But now with 3.8 the touchpad behaviour is truly horrid.
Comment 12 Tomas Pospisek 2013-07-11 19:26:57 UTC
Whoa, installing Debian's kernel linux-image-3.10-rc7-amd64 from the experimental repository seems to have fixed the touchpad/miss out key strokes problem.

Could the other people reporting here check whether a kernel >= 3.10-rc7 fixes their problem? Then this bug report could be closed.

As noted in the respective Debian bug report:

"I bow down before all you kernel hackers and debian kernel maintainers: Thanks a lot!"

(I'd be curious who in particular fixed this bug, would love to shake his virtual hand and say thanks)

Thanks!