Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Aug 2012 15:24:35 +0300
From:      Vitaly Magerya <vmagerya@gmail.com>
To:        freebsd-x11@freebsd.org
Subject:   Problems with an Elantech (Synaptics) touchpad
Message-ID:  <CAL409Kw089dgNX41w%2B0-bfXxzWDNORy2jNDAqi089Jn7_9_JaA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi, folks. I have a problem with a touchpad on my laptop: it has
this "two fingers to scroll" function, which works badly (misdetects
fingers), and I can neither control nor disable it. The touchpad
in question reports itself as "ETPS/2 Elantech Touchpad" and
should be synaptics-compatible.

I tried enabling synaptics support in psm(4) by adding
"hw.psm.synaptics_support=1" to loader.conf (as described in the
wiki page at [1]), but nothing changes that way. In both cases
verbose dmesg reports this:

    $ dmesg | grep psm
    psm0: unable to allocate IRQ
    psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
    psm0: current command byte:0047
    psm0: <PS/2 Mouse> irq 12 on atkbdc0
    psm0: [GIANT-LOCKED]
    psm0: model IntelliMouse, device ID 3-00, 3 buttons
    psm0: config:00000000, flags:00000008, packet size:4
    psm0: syncmask:08, syncbits:00

And correspondingly no synaptics sysctls are added:

    $ sysctl hw.psm
    hw.psm.tap_timeout: 125000
    hw.psm.tap_threshold: 25
    hw.psm.tap_enabled: -1

I also tried using xf86-input-synaptics driver (1.6.2, from the
new Xorg 7.7). With this in xorg.conf:

    Section "ServerLayout"
        InputDevice "Touchpad0" "CorePointer"
        [...]
    EndSection
    Section "InputDevice"
        Identifier "Touchpad0"
        Driver "synaptics"
        Option "Device" "/dev/psm0"
        Option "Protocol" "psm"
        Option "ZAxisMapping" "4 5 6 7"
    EndSection

... Xorg does not recognize the touchpad at all. Here are relevant
Xorg.0.log parts:
[   341.541] (II) LoadModule: "synaptics"
[   341.543] (II) Loading /usr/local/lib/xorg/modules/input/synaptics_drv.so
[   341.555] (II) Module synaptics: vendor="X.Org Foundation"
[   341.556] 	compiled for 1.12.3, module version = 1.6.2
[   341.556] 	Module class: X.Org XInput Driver
[   341.556] 	ABI class: X.Org XInput driver, version 16.0
...
[   346.673] (II) Using input driver 'synaptics' for 'Touchpad0'
[   346.673] (**) Option "CorePointer"
[   346.673] (**) Touchpad0: always reports core events
[   346.674] (**) Option "Protocol" "psm"
[   346.674] (**) Option "Device" "/dev/psm0"
[   346.692] (--) synaptics: Touchpad0: invalid x-axis range.
defaulting to 1615 - 5685
[   346.692] (--) synaptics: Touchpad0: invalid y-axis range.
defaulting to 1729 - 4171
[   346.692] (--) synaptics: Touchpad0: invalid pressure range.
defaulting to 0 - 255
[   346.692] (--) synaptics: Touchpad0: invalid finger width range.
defaulting to 0 - 15
[   346.692] (EE) synaptics: Touchpad0: Touchpad0 Found no Synaptics,
found Mouse model 4 instead
[   346.692] (--) synaptics: Touchpad0: no supported touchpad found
[   346.692] (EE) synaptics: Touchpad0: Unable to query/initialize
Synaptics hardware.
[   346.729] (EE) PreInit returned 11 for "Touchpad0"
[   346.729] (II) UnloadModule: "synaptics"

To compare, the same synaptics driver on Linux works without
fail:
[    26.712] (II) config/udev: Adding input device ETPS/2 Elantech
Touchpad (/dev/input/event8)
[    26.713] (**) ETPS/2 Elantech Touchpad: Applying InputClass "evdev
touchpad catchall"
[    26.713] (**) ETPS/2 Elantech Touchpad: Applying InputClass
"touchpad catchall"
[    26.713] (II) LoadModule: "synaptics"
[    26.713] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    26.714] (II) Module synaptics: vendor="X.Org Foundation"
[    26.714] 	compiled for 1.11.3, module version = 1.6.2
[    26.714] 	Module class: X.Org XInput Driver
[    26.714] 	ABI class: X.Org XInput driver, version 16.0
[    26.714] (II) Using input driver 'synaptics' for 'ETPS/2 Elantech Touchpad'
[    26.714] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[    26.714] (**) ETPS/2 Elantech Touchpad: always reports core events
[    26.714] (**) Option "Device" "/dev/input/event8"
[    26.740] (II) synaptics: ETPS/2 Elantech Touchpad: ignoring touch
events for semi-multitouch device
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: x-axis range 0 - 819
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: y-axis range 0 - 405
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: pressure range 0 - 255
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: finger width range 0 - 15
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: buttons: left
right double triple
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: Vendor 0x2 Product 0xe
[    26.740] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[    26.740] (**) ETPS/2 Elantech Touchpad: always reports core events
[    26.748] (**) Option "config_info"
"udev:/sys/devices/platform/i8042/serio1/input/input8/event8"
[    26.748] (II) XINPUT: Adding extended input device "ETPS/2
Elantech Touchpad" (type: TOUCHPAD, id 12)
[    26.748] (**) synaptics: ETPS/2 Elantech Touchpad: (accel)
MinSpeed is now constant deceleration 2.5
[    26.748] (**) synaptics: ETPS/2 Elantech Touchpad: MaxSpeed is now 1.75
[    26.748] (**) synaptics: ETPS/2 Elantech Touchpad: AccelFactor is now 0.219
[    26.749] (**) ETPS/2 Elantech Touchpad: (accel) keeping
acceleration scheme 1
[    26.749] (**) ETPS/2 Elantech Touchpad: (accel) acceleration profile 1
[    26.749] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    26.749] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    26.749] (--) synaptics: ETPS/2 Elantech Touchpad: touchpad found
[    26.750] (II) config/udev: Adding input device ETPS/2 Elantech
Touchpad (/dev/input/mouse0)
[    26.750] (**) ETPS/2 Elantech Touchpad: Ignoring device from
InputClass "touchpad ignore duplicates"

So, why do neither psm(4) nor the synaptics driver recognize
this touchpad, and is there any way I can disable the "two fingers
to scroll" function?

Note that this function is present both in Xorg and in console
mode.

[1] http://wiki.freebsd.org/SynapticsTouchpad



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAL409Kw089dgNX41w%2B0-bfXxzWDNORy2jNDAqi089Jn7_9_JaA>