Bug 33652 - fails to re-initialize some touchpads, causing lagging and sync problems
Summary: fails to re-initialize some touchpads, causing lagging and sync problems
Status: REJECTED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 high
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-19 04:06 UTC by Andres Cimmarusti
Modified: 2012-02-22 22:18 UTC (History)
1 user (show)

See Also:
Kernel Version: >= 2.6.32
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmidecode (9.49 KB, text/plain)
2011-04-20 19:07 UTC, Andres Cimmarusti
Details

Description Andres Cimmarusti 2011-04-19 04:06:39 UTC
This is an upstream bug report for bug # 622707 in Debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622707

Since a kernel 2.6.32.x point release I have been experiencing lagging and out of sync touchpad. The problem is present in all kernel releases since then. I'm currently running 2.6.38 (from Debian, which is like 2.6.38.2 at the time of writing this bug report)

It was originally submitted against xorg-synaptics driver, but the developer/maintainer of this module believes it's a kernel issue:

https://bugs.freedesktop.org/show_bug.cgi?id=36302

Kernel log throws the following errors:

Apr 10 23:55:17 debturion kernel: [  204.009286] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 4
Apr 10 23:55:17 debturion kernel: [  204.010682] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 10 23:55:17 debturion kernel: [  204.020567] psmouse.c: TouchPad at
isa0060/serio4/input0 - driver resynched.
Apr 10 23:56:14 debturion kernel: [  261.085403] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 4
Apr 10 23:56:14 debturion kernel: [  261.087078] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 10 23:56:14 debturion kernel: [  261.088873] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 10 23:56:14 debturion kernel: [  261.090482] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 10 23:56:14 debturion kernel: [  261.091965] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 10 23:56:14 debturion kernel: [  261.091968] psmouse.c: issuing reconnect
request
Apr 11 00:04:16 debturion kernel: [  743.689695] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 4
Apr 11 00:04:16 debturion kernel: [  743.691560] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 11 00:04:16 debturion kernel: [  743.692887] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 11 00:04:16 debturion kernel: [  743.695127] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 11 00:04:16 debturion kernel: [  743.697146] psmouse.c: TouchPad at
isa0060/serio4/input0 lost sync at byte 1
Apr 11 00:04:16 debturion kernel: [  743.697153] psmouse.c: issuing reconnect
request
Apr 11 00:04:18 debturion kernel: [  745.529577] Synaptics Touchpad, model: 1,
fw: 6.2, id: 0x1a0b1, caps: 0xa04713/0x200000/0x0
Apr 11 00:04:18 debturion kernel: [  745.600788] input: SynPS/2 Synaptics
TouchPad as /devices/platform/i8042/serio4/input/input10

For a detailed Xorg.log refer to the links listed.
Comment 1 Andres Cimmarusti 2011-04-19 17:48:20 UTC
If you look at the Xorg.0.log in the Debian bug report page, you will see that touchpad is also wrongly identified as multitouch capable. This cannot be, as this is 6-year-old laptop with no such capability.

It's also worth mentioning that removing the xorg-synaptics driver entirely and passing the kernel the option:

options psmouse proto=imps

in /etc/modprobe.d/touchpad.conf

Causes the touchpad to work very well with the evdev Xorg module, but it is not recognized as a touchpad!, it is regarded as a (Im)PS/2 device!

If it don't pass this option to the kernel, then the touchpad doesn't work at all. pointer is static.

This gives credit to the X input developer who claimed the touchpad is not being initialized properly by the kernel and is seen as a PS/2 mouse.
Comment 2 Dmitry Torokhov 2011-04-19 21:26:33 UTC
(In reply to comment #1)
> If you look at the Xorg.0.log in the Debian bug report page, you will see
> that
> touchpad is also wrongly identified as multitouch capable. This cannot be, as
> this is 6-year-old laptop with no such capability.

The device is not multi-touch (nor it claims to be). However even 10 years ols Synaptics touchpads can detect number of fingers to the surface (but not their coordinates), so correctly it reports double- and triple-tap capabilities.

What laptop is this? Does booting with i8042.nomux helps? Another option to try woudl be psmouse.rate=40.

Thanks.
Comment 3 Andres Cimmarusti 2011-04-20 13:40:52 UTC
(In reply to comment #2)
> The device is not multi-touch (nor it claims to be). However even 10 years
> ols
> Synaptics touchpads can detect number of fingers to the surface (but not
> their
> coordinates), so correctly it reports double- and triple-tap capabilities.

I see. I didn't know this.

> What laptop is this? Does booting with i8042.nomux helps? Another option to
> try
> woudl be psmouse.rate=40.

This is an HP Pavilion dv5035nr (dv5000 family) laptop.
Since yesterday evening I've booted with option i8042.nomux set. So far I've had zero problems with lagging and sync. Module synaptics doesn't get unloaded either. However, Xorg.0.log still reports the "Query no synaptics" error (see below). I will keep testing. So far I haven't needed to pass that psmouse option. I'll try it if I experience lagging.

Thanks for your help

[    20.352] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event8)
[    20.352] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[    20.352] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[    20.352] (II) LoadModule: "synaptics"
[    20.352] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    20.382] (II) Module synaptics: vendor="X.Org Foundation"
[    20.382] 	compiled for 1.9.4, module version = 1.4.0
[    20.382] 	Module class: X.Org XInput Driver
[    20.382] 	ABI class: X.Org XInput driver, version 11.0
[    20.382] (**) Option "Device" "/dev/input/event8"
[    20.383] (--) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
[    20.383] (--) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
[    20.383] (--) SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[    20.383] (--) SynPS/2 Synaptics TouchPad: finger width range 0 - 15
[    20.383] (--) SynPS/2 Synaptics TouchPad: buttons: left right double triple
[    20.383] (--) SynPS/2 Synaptics TouchPad: touchpad found
[    20.383] (**) SynPS/2 Synaptics TouchPad: always reports core events
[    20.383] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD)
[    20.383] (**) SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5
[    20.383] (**) SynPS/2 Synaptics TouchPad: MaxSpeed is now 1.75
[    20.383] (**) SynPS/2 Synaptics TouchPad: AccelFactor is now 0.040
[    20.383] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[    20.383] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1
[    20.383] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[    20.383] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[    20.383] (--) SynPS/2 Synaptics TouchPad: touchpad found
[    20.384] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[    20.384] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[    20.384] (**) Option "Device" "/dev/input/mouse0"
[    20.384] (--) SynPS/2 Synaptics TouchPad: invalid x-axis range.  defaulting to 1615 - 5685
[    20.384] (--) SynPS/2 Synaptics TouchPad: invalid y-axis range.  defaulting to 1729 - 4171
[    20.384] (--) SynPS/2 Synaptics TouchPad: invalid pressure range.  defaulting to 0 - 256
[    20.384] (--) SynPS/2 Synaptics TouchPad: invalid finger width range.  defaulting to 0 - 16
[    20.404] (EE) Query no Synaptics: 6003C8
[    20.404] (--) SynPS/2 Synaptics TouchPad: no supported touchpad found
[    20.404] (EE) SynPS/2 Synaptics TouchPad Unable to query/initialize Synaptics hardware.
[    20.404] (EE) PreInit returned NULL for "SynPS/2 Synaptics TouchPad"
Comment 4 Dmitry Torokhov 2011-04-20 17:33:34 UTC
(In reply to comment #3)
> This is an HP Pavilion dv5035nr (dv5000 family) laptop.
> Since yesterday evening I've booted with option i8042.nomux set. So far I've
> had zero problems with lagging and sync.

Great. Could you please post (or e-mail me) output of 'dmidecode' on your box?

> Module synaptics doesn't get unloaded
> either. However, Xorg.0.log still reports the "Query no synaptics" error (see
> below). I will keep testing.

This is not really an error. Please reed explanation here: http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
Comment 5 Andres Cimmarusti 2011-04-20 19:07:18 UTC
Created attachment 54842 [details]
dmidecode

dmidecode output requested
Comment 6 Andres Cimmarusti 2011-04-20 19:10:35 UTC
(In reply to comment #4)
> Great. Could you please post (or e-mail me) output of 'dmidecode' on your
> box?

I've attached the output to this thread. So far today, I've had no issues with the touchpad.
 
> This is not really an error. Please reed explanation here:
> http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html

I see. Thank you for pointing this out to me

In fact, thanks for everything. I suppose this bug is resolved (?)... I would prefer users didn't have manually set kernel options to fix problems, but I don't know how complicated this would be.
Comment 7 Andres Cimmarusti 2011-04-21 14:29:10 UTC
I regret to report that while setting the option "i8042.nomux" solves the sync and lag of the touchpad, it comes with a unfortunate side effect.

This is has happened to me twice (I've checked the logs and found nothing of worth), suddenly keyboard and touchpad stop working entirely...only auxiliary buttons that control speaker volume and power seem to work.

I'll keep checking to see if I find something useful to post. Should I try: i8042.reset ?
Comment 8 Andres Cimmarusti 2011-05-13 20:06:18 UTC
Just a little update:

I've tried every possible i8042 option that I know of and the locking up remains. I've learned a few more things since my last post:

I started using Linux on this laptop since I started with Linux in 2008 with Ubuntu 8.04 based on the 2.6.24 kernel.

Ever since kernels higher than this one I've had an issue of keyboard repeat: keys behave as if they would still be pressed when released!
Usually I just accepted this problem (which happened on occasions). The solution was simply to press another key to "un-jam" the one repeating itself. You can imagine this being very annoying when the delete or backspace key gets jammed...

This is an old problem in the kernel and X : 
http://ajaxxx.livejournal.com/62378.html
https://bugs.launchpad.net/linux/+bug/124406?comments=all

Unfortunately for me, by passing the kernel the nomux option, now I can't un-jam the key that keeps repeating!...in fact, I loose full control of the keyboard and touchpad when this happens...only the power button works (alternatively I can use an USB mouse to try to remedy the situation).

Restarting X (logging out and in) doesn't solve the problem. The kernel seems responsible.

I don't know what to do to solve this problem...the first link seems to have some ideas, but I don't know if work has gone into solving this rather obscure issue.

I'll probably go back to using evdev to handle my touchpad for the time being

Andres
Comment 9 Andres Cimmarusti 2011-08-06 15:59:21 UTC
I've found some new interesting leads to the problem.

Well, first of all I should say, this issue with the touchpad started happening suddenly while on the 2.6.32 kernel (or newer).

I decided to test this problem by installing an older Debian distro (Debian 5.0.8, aka Lenny aka Oldstable). I had used it before moving to Debian testing and I had never had this problem before.

I also flashed my bios to the latest version provided by HP (F54). The changelog said it dealt with some problems about keyboard and touchpad locking up.

After installing Lenny everything was working well, but as soon as I activated the bcm4318 wireless module (using the native driver + nonfree firmware: http://linuxwireless.org/en/users/Drivers/b43) I started seeing the touchpad lose sync. I thought this was strange. It is possible that whatever patch in the kernel caused the sync problems with the touchpad made it's way to Debian Lenny and its long term supported 2.6.26 kernel, but that seems a bit unlikely... So I strongly suspect hardware failure... the question is, what is failing? is it the wireless card? or the motherboard?

To add to this mix, I googled my specific wireless module bcm4318 and touchpad sync and I got a lot of oldish posts:

http://www.mail-archive.com/opensuse@opensuse.org/msg59329.html
http://ubuntuforums.org/showthread.php?t=514009
http://ubuntuforums.org/showthread.php?t=438408
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.17/+bug/63919
https://lists.linux-foundation.org/pipermail/bugme-new/2007-July/016502.html

All of them with roughly the same problem. Some of them have claimed it's been fixed for them (see launchpad ubuntu bug) following kernel release 2.6.22!

The reason why I've pursued this issue, despite having no issues using the evdev driver is that it seems to be related to another issue I have been having on this laptop: namely, I'm seeing sluggish performance, cpufan on all the time (even though top shows very little cpu usage!). Especially when online! when using the wireless card! laptop becomes incredibly unresponsive for example doing google video and voice!

I retried the i8042.nomux and psmouse.rate=40 options after flashing bios and after installing Debian 5, but the problem remains.

All these problems go away as soon as shut off the wireless. I've just tested only the wired connection and all is well. At this point I'm quite stomped. I have purchased a spare wireless card (fortunately it was cheap) to replace mine and see if this helps. I'm hoping it does. Do you have any wisdom on the matter? would passing kernel options like noapic or nolapic help at all? one post suggested this could be a interrupt problem...but I don't really know anything about those things.

Thanks
Comment 10 Andres Cimmarusti 2012-02-22 22:18:58 UTC
Hi,

I'm quite sure the problem was related to hardware failure. I had to get rid of that laptop. 

I'm closing this bug report as invalid

I apologize for the wasted time

Best Regards

Andres

Note You need to log in before you can comment on or make changes to this bug.