Bug 105024

Summary: Elan1200 touchpad not well managed
Product: Wayland Reporter: PapsOu <vivien.frasca>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: major    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description PapsOu 2018-02-09 12:09:34 UTC
The touchpad of an Asus FX503VD laptop does not behave correctly. The cursor jumps and triggers click events randomly.

I've tryed module elan-hid from https://github.com/mishurov/linux_elan1200_touchpad but without success.

Computer : ASUS FX503VD
Touchpad : (libinput-list-devices)

Device:           ELAN1200:00 04F3:303E Touchpad
Kernel:           /dev/input/event11
Group:            10
Seat:             seat0, default
Size:             103x71mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

evemu-record : https://gist.github.com/PapsOu/fb630af4399d6e0fdfd7186cc0e7f1b0

udevadm info /sys/class/input/event11
P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-ELAN1200:00/0018:04F3:303E.0003/input/input14/event11
N: input/event11
S: input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:15.0-platform-i2c_designware.0-event-mouse
E: DEVNAME=/dev/input/event11
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-ELAN1200:00/0018:04F3:303E.0003/input/input14/event11
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=70
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_WIDTH_MM=103
E: ID_PATH=pci-0000:00:15.0-platform-i2c_designware.0
E: ID_PATH_TAG=pci-0000_00_15_0-platform-i2c_designware_0
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=18/4f3/303e:i2c-ELAN1200:00
E: MAJOR=13
E: MINOR=75
E: SUBSYSTEM=input
E: USEC_INITIALIZED=22870292


cat /sys/class/dmi/id/modalias :

dmi:bvnAmericanMegatrendsInc.:bvrFX503VD.301:bd09/19/2017:svnASUSTeKCOMPUTERINC.:pnFX503VD:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnFX503VD:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:

Touchpad dimensions (W x H) :
104mm x 73mm
Comment 1 PapsOu 2018-02-09 12:10:20 UTC
Maybe usefull : 

uname -r

4.14.16-300.fc27.x86_64
Comment 2 PapsOu 2018-02-12 20:23:31 UTC
Here a small log of i2c_hid.debug=1 kernel option :

parts with « input: ff » seems to fit with the cursor jumps detected.

févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 46 05 f8 04 73 94 01 00 12 44 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 3b 05 eb 04 c7 95 01 00 1b 44 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 1f 05 df 04 c5 97 01 00 1f 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 06 05 d9 04 c3 99 01 00 27 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 03 05 f3 04 0d 9b 01 00 2a 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 fe 04 21 05 93 9c 01 00 29 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 e6 04 6b 05 f9 9f 01 00 29 64 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 ed 04 95 05 ed a1 01 00 29 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 ef 04 9e 05 47 a2 01 00 29 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 f9 04 bd 05 a5 a3 01 00 27 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 fb 04 c3 05 ff a3 01 00 25 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 06 05 d6 05 cb a5 01 00 24 54 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 08 05 e1 05 29 a7 01 00 16 44 00 00
févr. 12 21:19:35 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 07 05 e9 05 d3 a7 01 00 10 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 ef 04 9e 04 25 e2 01 00 16 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 9c 04 97 04 67 e6 01 00 24 55 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 89 04 96 04 11 e7 01 00 24 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 80 04 94 04 6b e7 01 00 24 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 66 04 90 04 bf e8 01 00 27 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 59 04 8c 04 69 e9 01 00 27 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 2e 04 7e 04 53 eb 01 00 25 55 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 ff 03 6e 04 a7 ec 01 00 25 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 e8 03 65 04 51 ed 01 00 27 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 bc 03 54 04 ff ee 01 00 27 54 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 b4 03 50 04 6d ef 01 00 27 44 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 b0 03 4c 04 b3 ef 01 00 27 44 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 a6 03 46 04 7b f0 01 00 27 44 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 7b 03 38 04 eb f3 01 00 1d 44 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 79 03 37 04 95 f4 01 00 12 43 00 00
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:37 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 01 79 03 37 04 8f f5 01 00 0e 43 00 00
févr. 12 21:19:39 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:39 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:39 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 e5 03 5b 03 a5 48 01 00 1d 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 16 04 3b 03 81 49 01 00 1f 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 5a 04 0f 03 7f 4b 01 00 21 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 e7 04 e5 02 03 4f 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 06 05 dc 02 ad 4f 01 00 1f 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 4f 05 c9 02 ed 50 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 c9 05 b4 02 3b 53 01 00 1f 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 41 06 a1 02 9d 55 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 6c 06 9a 02 ab 56 01 00 21 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 b2 06 90 02 45 58 01 00 24 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 e9 06 8b 02 cb 59 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 07 07 89 02 a7 5a 01 00 21 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 98 07 7c 02 8f 5e 01 00 24 45 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 cd 07 79 02 cf 5f 01 00 24 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 da 07 79 02 1f 60 01 00 24 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 0e 08 78 02 73 61 01 00 24 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 57 08 7a 02 a3 63 01 00 21 45 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 84 08 7a 02 e3 64 01 00 21 44 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 a6 08 84 02 f1 65 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 bd 08 87 02 cd 66 01 00 21 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: ff
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 0d 09 8a 02 3d 6a 01 00 1f 55 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 29 09 94 02 7d 6b 01 00 1d 54 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 03 67 09 bb 02 67 6d 01 00 0a 33 00 00
févr. 12 21:19:40 localhost.localdomain kernel: i2c_hid i2c-ELAN1200:00: input: 10 00 04 01 82 09 c2 02 11 6e 01 00 0a 33 00 00
Comment 3 Peter Hutterer 2018-03-01 02:33:25 UTC
Looks like this moved to: https://bugzilla.redhat.com/show_bug.cgi?id=1543769

and shows it's a kernel bug. Closing it here.

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.