Bug 103551

Summary: kernel: ETPS/2 Elantech Touchpad does not produce any events
Product: xorg Reporter: Vidar Haarr <vhaarr>
Component: Input/libinputAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: benjamin.tissoires, peter.hutterer
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg output none

Description Vidar Haarr 2017-11-02 21:26:46 UTC
Distribution is a heavily modified Ubuntu that I use for my friends & family, based on Ubuntu 17.10.

A friend of the family recently presented me with another laptop to "fix", and I promptly nuked Windows and friends from it and got it booting on Ubuntu, however the Elantech touchpad does not work as expected.

Laptop is a Acer ES1-512.

I've tried xserver-xorg-input-synaptics, evdev, and libinput, on both Xorg 1.19.5 and under the GNOME Wayland session provided by Ubuntu.

The touchpad does not even show up unless I boot with i8042.nopnp. I've tried a whole host of combinations of the various i8042 kernel parameters, but so far have been unsuccessful at getting any event output from any listener, like evemu-record, libinput debug-events, or `input-events 6`. They all print something akin to "Waiting for events", and then no matter where I touch or click on the touchpad, nothing happens.

I've also tried setting modprobe parameters for psmouse like `proto=exps` and `proto=imps`, and =exps seems to make the touchpad appear as a generic PS/2 Mouse, but still it produced no events.

$ journalctl -b --no-pager | grep -i elan
nov. 02 17:56:15 elaptop kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x4a5f08)
nov. 02 17:56:15 elaptop kernel: psmouse serio1: elantech: Synaptics capabilities query result 0x00, 0x15, 0x0f.
nov. 02 17:56:15 elaptop kernel: psmouse serio1: elantech: Elan sample query result 09, 38, 95
nov. 02 17:56:15 elaptop kernel: input: ETPS/2 Elantech Touchpas as /devices/platform/i8042/serio1/input/input6

$ cat /var/log/Xorg.0.log | grep -i touch
[    33.016] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/event6)
[    33.016] (**) ETPS/2 Elantech Touchpad: Applying InputClass "libinput touchpad catchall"
[    33.016] (**) ETPS/2 Elantech Touchpad: Applying InputClass "touchpad catchall"
[    33.016] (**) ETPS/2 Elantech Touchpad: Applying InputClass "Default clickpad buttons"
[    33.017] (II) Using input driver 'libinput' for 'ETPS/2 Elantech Touchpad'
[    33.017] (**) ETPS/2 Elantech Touchpad: always reports core events
[    33.019] (II) event6  - (II) ETPS/2 Elantech Touchpad: (II) is tagged by udev as: Touchpad
[    33.019] (II) event6  - (II) ETPS/2 Elantech Touchpad: (II) device is a touchpad
[    33.019] (II) event6  - (II) ETPS/2 Elantech Touchpad: (II) device removed
[    33.057] (II) XINPUT: Adding extended input device "ETPS/2 Elantech Touchpad" (type: TOUCHPAD, id 15)
[    33.060] (**) ETPS/2 Elantech Touchpad: (accel) selected scheme none/0
[    33.060] (**) ETPS/2 Elantech Touchpad: (accel) acceleration factor: 2.000
[    33.060] (**) ETPS/2 Elantech Touchpad: (accel) acceleration threshold: 4
[    33.063] (II) event6  - (II) ETPS/2 Elantech Touchpad: (II) is tagged by udev as: Touchpad
[    33.063] (II) event6  - (II) ETPS/2 Elantech Touchpad: (II) device is a touchpad
[    33.066] (II) config/udev: Adding input device ETPS/2 Elantech Touchpad (/dev/input/mouse0)
[    33.066] (**) ETPS/2 Elantech Touchpad: Ignoring device from InputClass "touchpad ignore duplicates"


$ apt-cache show libinput-bin | grep -i version
Version: 1.8.2-1ubuntu2

$ apt-cache show xserver-xorg-input-libinput | grep -i version
Version: 0.25.0-0ubuntu1

$ evemu-describe /dev/input/event6
# EVEMU 1.3
# Kernel: 4.14.0-041400rc7-generic
# DMI: dmi:bvnInsydeCorp.:bvrV1.09:bd10/24/2014:svnAcer:pnAspireES1-512:pvrV1.09:rvnAcer:rnAspireES1-512:rvrV1.09:cvnAcer:ct10:cvrV1.09:
# Input device name: "ETPS/2 Elantech Touchpad"
# Input device ID: bus 0x11 vendor 0x02 product 0x0e version 0000
# Size in mm: 101x73
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#     Event code 334 (BTN_TOOL_TRIPLETAP)
#     Event code 335 (BTN_TOOL_QUADTAP)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value        0
#       Min          0
#       Max       3240
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 1 (ABS_Y)
#       Value        0
#       Min          0
#       Max       2348
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 24 (ABS_PRESSURE)
#       Value        0
#       Min          0
#       Max        255
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 28 (ABS_TOOL_WIDTH)
#       Value        0
#       Min          0
#       Max         15
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 47 (ABS_MT_SLOT)
#       Value        0
#       Min          0
#       Max          4
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 48 (ABS_MT_TOUCH_MAJOR)
#       Value        0
#       Min          0
#       Max       2430
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value        0
#       Min          0
#       Max       3240
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min          0
#       Max       2348
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min          0
#       Max      65535
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 58 (ABS_MT_PRESSURE)
#       Value        0
#       Min          0
#       Max        255
#       Fuzz         0
#       Flat         0
#       Resolution   0
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
N: ETPS/2 Elantech Touchpad
I: 0011 0002 000e 0000
P: 05 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 01 00 00 00 00 00
B: 01 20 e4 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 11 00 80 61 06
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 3240 0 0 32
A: 01 0 2348 0 0 32
A: 18 0 255 0 0 0
A: 1c 0 15 0 0 0
A: 2f 0 4 0 0 0
A: 30 0 2430 0 0 0
A: 35 0 3240 0 0 32
A: 36 0 2348 0 0 32
A: 39 0 65535 0 0 0
A: 3a 0 255 0 0 0

$ udevadm info /sys/class/input/event6
P: /devices/platform/i8042/serio1/input/input6/event6
N: input/event6
E: DEVNAME=/dev/input/event6
E: DEVPATH=/devices/platform/i8042/serio1/input/input6/event6
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=73
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: ID_INPUT_WIDTH_MM=101
E: LIBINPUT_ATTR_PRESSURE_RANGE=10:8
E: LIBINPUT_ATTR_RESOLUTION_HINT=31x31
E: LIBINPUT_DEVICE_GROUP=11/2/e/0:isa0060/serio1
E: MAJOR=13
E: MINOR=70
E: SUBSYSTEM=input
E: USEC_INITIALIZED=14196959


$ cat /sys/class/dmi/id/modalias 
dmi:bvnInsydeCorp.:bvrV1.09:bd10/24/2014:svnAcer:pnAspireES1-512:pvrV1.09:rvnAcer:rnAspireES1-512:rvrV1.09:cvnAcer:ct10:cvrV1.09:
Comment 1 Vidar Haarr 2017-11-02 22:06:20 UTC
Created attachment 135215 [details]
dmesg output
Comment 2 Jacob 2017-11-03 15:13:33 UTC
I am experiencing the same issue. My outputs are virtually identical to Vidar.
Comment 3 Vidar Haarr 2017-11-03 15:27:22 UTC
I didn't mention it here because I figured Hutterer would close this bug; he advised me on IRC that this was most likely a kernel bug, so I've attached myself to https://bugzilla.kernel.org/show_bug.cgi?id=54951 for the reasons I outlined in my comment there.

Hopefully someone with knowledge of the kernel module codebase will read it :-)

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.