Bug 36302 - touchpad losing sync: 2 instances of synaptics module loaded and wrongly detected as multitouch
Summary: touchpad losing sync: 2 instances of synaptics module loaded and wrongly dete...
Status: RESOLVED NOTOURBUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: 7.6 (2010.12)
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-16 08:15 UTC by Andres Cimmarusti
Modified: 2011-04-17 21:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Andres Cimmarusti 2011-04-16 08:15:33 UTC
This is an upstream bug report for Debian bug 622707:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622707

This issue has also been found in Arch Linux:
https://wiki.archlinux.org/index.php/Touchpad_Synaptics#The_touchpad_isn.27t_working.2C_Xorg.0.log_shows_.22Query_no_Synaptics:_6003C8.22

Their solution, however, is not ideal, and after trying I still experienced losing sync.

The only thing that has worked well with my touchpad has been to uninstall synaptics module entirely and rely on "evdev" and passing the kernel module psmouse the option: proto=imps.
The fact that this works well on my laptop, I think rules out any hardware issue.

It is also worth noting that synaptics detects my touchpad as being multitouch (this laptop is 6 years old...there is no way this is multitouch). There is clearly a problem there.

Also, this started happening after the upgrade in Debian, to xserver-xorg-input-synaptics v1.4.0-1. This wasn't a problem in Debian Lenny with older release 1.2.2.

The evdev driver works quite fine by itself with the touchpad, except it enables tapping by default and It seems it can't be disabled(?). At least the man pages shows no option I can pass in xorg.conf

Kernel log shows:

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


Xorg.log shows:

[    19.961] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event8)
[    19.962] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[    19.962] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[    19.962] (**) Option "Device" "/dev/input/event8"
[    19.962] (--) SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5472
[    19.962] (--) SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4448
[    19.962] (--) SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[    19.962] (--) SynPS/2 Synaptics TouchPad: finger width range 0 - 15
[    19.962] (--) SynPS/2 Synaptics TouchPad: buttons: left right double triple
[    19.962] (--) SynPS/2 Synaptics TouchPad: touchpad found
[    19.962] (**) SynPS/2 Synaptics TouchPad: always reports core events
[    19.962] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD)
[    19.962] (**) SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5
[    19.962] (**) SynPS/2 Synaptics TouchPad: MaxSpeed is now 1.75
[    19.962] (**) SynPS/2 Synaptics TouchPad: AccelFactor is now 0.040
[    19.962] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[    19.962] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1
[    19.962] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[    19.962] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[    19.962] (--) SynPS/2 Synaptics TouchPad: touchpad found
[    19.962] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[    19.962] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[    19.963] (**) Option "Device" "/dev/input/mouse0"
[    19.963] (--) SynPS/2 Synaptics TouchPad: invalid x-axis range.  defaulting to 1615 - 5685
[    19.963] (--) SynPS/2 Synaptics TouchPad: invalid y-axis range.  defaulting to 1729 - 4171
[    19.963] (--) SynPS/2 Synaptics TouchPad: invalid pressure range.  defaulting to 0 - 256
[    19.963] (--) SynPS/2 Synaptics TouchPad: invalid finger width range.  defaulting to 0 - 16
[    19.983] (EE) Query no Synaptics: 6003C8
[    19.983] (--) SynPS/2 Synaptics TouchPad: no supported touchpad found
[    19.983] (EE) SynPS/2 Synaptics TouchPad Unable to query/initialize Synaptics hardware.
[    19.983] (EE) PreInit returned NULL for "SynPS/2 Synaptics TouchPad"
[   534.875] (II) config/udev: removing device SynPS/2 Synaptics TouchPad
[   534.895] (II) UnloadModule: "synaptics"
[   536.674] (II) config/udev: Adding input device ImPS/2 Synaptics TouchPad (/dev/input/mouse0)
[   536.674] (II) No input driver/identifier specified (ignoring)
[   536.677] (II) config/udev: Adding input device ImPS/2 Synaptics TouchPad (/dev/input/event8)
[   536.677] (**) ImPS/2 Synaptics TouchPad: Applying InputClass "evdev pointer catchall"
[   536.677] (**) ImPS/2 Synaptics TouchPad: always reports core events
[   536.677] (**) ImPS/2 Synaptics TouchPad: Device: "/dev/input/event8"
[   536.677] (--) ImPS/2 Synaptics TouchPad: Found 3 mouse buttons
[   536.677] (--) ImPS/2 Synaptics TouchPad: Found scroll wheel(s)
[   536.677] (--) ImPS/2 Synaptics TouchPad: Found relative axes
[   536.677] (--) ImPS/2 Synaptics TouchPad: Found x and y relative axes
[   536.677] (II) ImPS/2 Synaptics TouchPad: Configuring as mouse
[   536.677] (II) ImPS/2 Synaptics TouchPad: Adding scrollwheel support
[   536.677] (**) ImPS/2 Synaptics TouchPad: YAxisMapping: buttons 4 and 5
[   536.677] (**) ImPS/2 Synaptics TouchPad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   536.677] (II) XINPUT: Adding extended input device "ImPS/2 Synaptics TouchPad" (type: MOUSE)
[   536.677] (**) ImPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[   536.677] (**) ImPS/2 Synaptics TouchPad: (accel) acceleration profile 0
[   536.677] (**) ImPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[   536.677] (**) ImPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[   536.677] (II) ImPS/2 Synaptics TouchPad: initialized for relative axes.
Comment 1 Peter Hutterer 2011-04-17 21:14:03 UTC
kernel issue. From the drivers POV, the touchpad disappears and a different device comes back. That device doesn't look like a touchpad though and hence the driver doesn't activate on it.

If you look at the second half of the log, you'll see that evdev finds x/y relative and a few buttons. Touchpads, if not initialized by the kernel, usually look like PS/2 mice. Tapping and other features are implemented in hardware/firmware and look like a button click once the event reaches user space.

Please report this to the kernel, it needs to re-initialize the touchpad.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.