ELAN1200 touchpad jumps around and disconnects

Bug #1778087 reported by Alistair Sutter on 2018-06-21
86
This bug affects 16 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

This is on an ASUS GL503VD laptop and would probably affect other ASUS laptops equipped with the ELAN1200 touchpad.

I am on Kernel 4.17.2 because older kernels did not enable the touchpad at all(It was just unrecognized or i2c-hid stopped the computer from booting)

The touchpad works but it has erratic behaviour and disconnects randomly. After it disconnects the only way to bring it back is to `modprobe -r hid-multitouch && modprobe hid-multitouch`

Libinput and synaptics can handle the touchpad though I found synaptics to be more stable.

dmesg gets spammed with this whenever I move the touchpad:
[timestamp] i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/65535)

I tried to compile: https://github.com/mishurov/linux_elan1200_touchpad
Because from what I understand the "jumpy/disconnect" problem is associated to the incomplete reports and Mishurov managed to mitigate those. Unfortunately some symbols were deprecated in kernel 4.17.2 and it did not compile for my system.

While I can use my touchpad as is right now, and "restart" it with modprobe when needed, it would be nice to have it function bug-free. (Right after I typed this my touchpad disconnected and I needed to modprobe again, I am considering making a cronjob for that)

Let me know if anything else is needed. Will wait for an apport collection to add log files.
---
ProblemType: Bug
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
DistroRelease: Ubuntu 18.04
InstallationDate: Installed on 2018-06-10 (11 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
NonfreeKernelModules: nvidia_modeset nvidia
Package: linux (not installed)
ProcEnviron:
 TERM=screen
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
Tags: bionic
Uname: Linux 4.17.2 x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

_MarkForUpload: True

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1778087

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

apport information

tags: added: apport-collected bionic
description: updated
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Alistair Sutter (taitair) wrote :
Alistair Sutter (taitair) wrote :
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.18 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc1

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Alistair Sutter (taitair) wrote :

Let me know if I can help with any additional debug information.

Alistair Sutter (taitair) wrote :

@jsalisbury

Well before the kernel upgrade to from 4.15.0-23 to 4.17.2 the touchpad did not work at all.

I will start compiling 4.18 right now and will continue reporting my findings here.

Could you tell me how to change the tag for my bug report? I can't find that function anywhere on the web-interface.

Alistair Sutter (taitair) wrote :

@jsalisbury

Kernel 4.18 broke my nvidia driver. I had to use wayland to be able to pass login screen.
There was issues with a DRM_CONTROL_ALLOW being stripped from the kernel and also GPL symbols.
That was driver 390.67.

Unfortunately after logging in, dmesg showed the same errors relating to incomplete reports from i2c-ELAN when I moved the touchpad. So I would say this bug exists upstream.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: bug-exists-upstream
Alistair Sutter (taitair) wrote :

Furthermore, the erratic behaviour/disconnects continued on 4.18.

Gaston Castro (gcastro89) wrote :

I'm on the exact same situation with my ASUS-GL503VD. I have tried with the xorg synaptics touchpad driver (xserver-xorg-input-synaptics package) but the erratic behavior remains. Also tried with i8042 and acpi related kernel commands on the grub config as suggested on external forums, apparently those kind of commands were successful on other elan touchpads.

Soheila (soheila) wrote :

I also have the same problem. When the touchpad is enabled, it has erratic behavior! I didn't have any problem before the upgrade to 18.04 and also no problem in Windows 10.

My laptop is Asus UX430U and I use Ubuntu 18.4 with kernel 4.15.0-23-generic.

Luke Williams (wililupy) wrote :

I had this same problem with my laptop on 17.10. When I upgraded to the kernel to 4.14 I did not receive the errors in the syslog, but the touchpad responsiveness and functionality worked fine.
When I upgraded to 18.04 with kernel 4.15.0-24 it looks like it has regressed and I am back to using a USB mouse since the touchpad is almost unusable, and if I put all 5 fingers on the touchpad, it locks it out completely.

Kai-Heng Feng (kaihengfeng) wrote :

Bionic kernel with
commit ef6eaf27274c0351f7059163918f3795da13199c
Author: Jason Andryuk <email address hidden>
Date: Fri Jun 22 12:25:49 2018 -0400

    HID: i2c-hid: Fix "incomplete report" noise

https://people.canonical.com/~khfeng/lp1778087/

Alistair Sutter (taitair) wrote :

@kaihengfeng

Thank you for your efforts!

I tried installing your fixed kernel.

Unfortunately that did not fix the "incomplete report noise" and it even made responsiveness worse.
As opposed to the cursor just jumping around occasionally, this kernel made the cursor jump constantly. The cursor was not able to move smoothly anymore with this kernel.

I can keep testing whenever a new solution is found.

Cheers.

Jpphun (jpphun) wrote :

i am having the same issue with Asus FX503v laptop, GTX1050. I am on 18.04 kernel 4.15.0.29. It was freezing whole computer up but adding i8042.request into grub, freezing went away. It is still very sensitive and opening one tab in chrome might open 6 at once. My touchpad is Elan1200.

Kai-Heng Feng (kaihengfeng) wrote :

Let's see if this kernel can workaround your issue:
https://people.canonical.com/~khfeng/lp1778087-2/

Alistair Sutter (taitair) wrote :

Hello @kaihengfeng,

I have installed and tried your new kernel. It broke the nvidia 390.67 driver again, spamming dmesg with PKCS#7 signature not signed with a trusted key.

Fixed the dmesg spam related to ELAN1200, however:
    - Touchpad was difficult to use
    - Cursor did not move smoothly anymore at all
    - It appeared as though the touchpad had latency
    - The touchpad disconnected a bit but managed to reconnect. (Intermittent failures of less than
      a second)

Thanks again for your efforts! Hopefully we can fix this.

Kai-Heng Feng (kaihengfeng) wrote :

I think it's basically the same one as https://bugzilla.redhat.com/show_bug.cgi?id=1543769

Alistair Sutter (taitair) wrote :

You might be right!

Vassilis (bdelitheos) wrote :

Hello all

The same happens to my laptop that I've bought a week ago (Asus FX503VM, GTX1060).

I had already seen that the touchpad had issues with the default 4.15 kernel on Ubuntu 18.04 that I have installed. Therefore I have installed Ukuu and managed to load later kernels.

Indeed running 4.17.11 had the touchpad working perfectly (no stuttering and lag), but unfortunately with the freezing problem mentioned here, present.

After some experimenting with the modules, I have realised that unloading and loading the i2c_hid module fixes the freeze. After the last post pointing at bugzilla for Fedora, I can verify that unloading and loading the i2c_hid module fixes the problem which is also caused by a five finger tap as stated there (for me it is sometimes caused even during the two finger scroll).

I've now updated the kernel to 4.17.12 but the problem persists and no fix seems to be incorporated. IMHO, the problem is at the i2c_hid module. Let's hope that this will be fixed soon.

Alistair Sutter (taitair) wrote :

Hello Vassilis and welcome to the bug report!

Your touchpad might be slightly different though I doubt it.
Check this out: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1782653

Are you able to reload i2c_hid during runtime? I think reloading it gives me a blackscreen

You might be right with your theory. Seems like the dmesg spam also comes from i2c_hid.

Vassilis (bdelitheos) wrote :

Dear Alistair,

Many thanks for having me onboard!

With regards to the touchpad model I can confirm that I have the same. I got the same spam in my dmesg

[timestamp] i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/65535)

and that's how I came here in the first place. This was what gave me the idea to unload and load the module.

Yes I can reload the module at runtime but I might know the reason for the black-screen that many experience. Is it possible that there is something going on with the Nvidia driver? Our difference is the card model (mine is the GTX1060 and yours is the GTX1050 if I'm correct) although I think there must be the driver in general (see below...although a bit off topic).

At first, and before I realised the touchpad issue, I had black screens and errors by even trying to launch the Gnome tweak tool. I installed the Nvidia drivers from the "additional drivers" tab but realised that the process did not blacklist the nouveau driver (nothing relevant in my modprobe.d folder). I've managed to solve the problem by manually blacklisting the nouveau drivers by creating a

blacklist-nouveau.conf

file in modprobe.d including the following

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

...I've seen this solution somewhere but don't have the link sorry...

If you haven't done already try it...it might work.

Again many thanks and sorry for the slight off topic.

Alistair Sutter (taitair) wrote :

Right on. Yeah apparently there are two different models for this touchpad, AFAIK.

Good to know you have the same. Then this bug report concerns you and feel free to add any helpful information.

You might be right, it could have been nouveau trying to take over. I actually have nouveau blacklisted in grub. The blackscreen happened a long time ago for me (Can't remember what I did to fix it, I think it was nvidia driver update from nvidia.com and kernel update from kernel.org).

Now I can actually reload i2c_hid if I do it all in one command, e.g. modprobe -r i2c-hid && modprobe i2c-hid . Without experiencing any black-screen.

The next problem is the freezing/jumping around. Reloading i2c_hid did not fix the freezing or jumping around for me :/.

Thanks for your contribution to make linux better!

Alistair Sutter (taitair) wrote :

Hi Kai-Heng Feng,

I just tried your kernel. Unfortunately it disabled the touchpad entirely.

Feel free to email me if I can help develop/test faster: <email address hidden>

Thanks for keeping the dream alive!

Kai-Heng Feng (kaihengfeng) wrote :

Can you boot with kernel parameter "i2c-hid.debug=1" and attach dmesg here? Thanks!

Alistair Sutter (taitair) wrote :

Is it ok if I do that with my current working kernel(4.18.0)?

The previous kernel (4.19.0-1.2) messed things up so bad that I had to reinstall my working kernel (4.18.0) and Nvidia drivers in recovery mode which took a lot of time.

Let me know if the debug output from (4.18.0) is enough or if you need me to reinstall (4.19.0-1.2). I'd like to avoid (4.19.0-1.2) but I will reinstall if you really need that output.

vladf (vlad-chel) wrote :
Download full text (9.0 KiB)

Here is my output collected on Asus X540NA notebook with Ubuntu 18.04 (4.15.0-42-generic kernel). Just after the boot:

$ dmesg | grep ELAN
[ 22.261675] i2c_hid i2c-ELAN1200:00: i2c-ELAN1200:00 supply vdd not found, using dummy regulator
[ 22.261698] i2c_hid i2c-ELAN1200:00: Fetching the HID descriptor
[ 22.261701] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=01 00
[ 22.262723] i2c_hid i2c-ELAN1200:00: HID Descriptor: 1e 00 00 01 64 01 02 00 03 00 10 00 04 00 00 00 05 00 06 00 f3 04 67 30 01 00 00 00 00 00
[ 22.268188] i2c_hid i2c-ELAN1200:00: entering i2c_hid_parse
[ 22.268192] i2c_hid i2c-ELAN1200:00: i2c_hid_hwreset
[ 22.268193] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 22.268196] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 00 08
[ 22.276713] i2c_hid i2c-ELAN1200:00: input: 0b 00 01 01 00 00 00 00 00 00 00
[ 22.277279] i2c_hid i2c-ELAN1200:00: input: 0b 00 01 01 00 00 00 00 00 00 00
[ 22.280151] i2c_hid i2c-ELAN1200:00: resetting...
[ 22.280155] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 00 01
[ 22.280368] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: waiting...
[ 22.289704] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: finished.
[ 22.289708] i2c_hid i2c-ELAN1200:00: asking HID report descriptor
[ 22.289711] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=02 00
[ 22.299943] i2c_hid i2c-ELAN1200:00: Report Descriptor: 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 02 15 00 25 01 75 01 95 02 81 02 95 06 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 05 0c 0a 38 02 95 01 81 06 75 08 95 03 81
[ 22.300368] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 22.300370] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 01 08
[ 23.393252] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 23.393257] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 00 08
[ 23.393795] i2c_hid i2c-ELAN1200:00: i2c_hid_get_report
[ 23.393797] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 32 02 06 00
[ 23.394166] i2c_hid i2c-ELAN1200:00: i2c_hid_get_report
[ 23.394168] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 32 02 06 00
[ 23.394533] i2c_hid i2c-ELAN1200:00: i2c_hid_get_report
[ 23.394535] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 36 02 06 00
[ 23.402138] i2c_hid i2c-ELAN1200:00: i2c_hid_get_report
[ 23.402141] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 3d 02 06 00
[ 23.402693] input: ELAN1200:00 04F3:3067 Touchpad as /devices/pci0000:00/0000:00:17.0/i2c_designware.0/i2c-6/i2c-ELAN1200:00/0018:04F3:3067.0002/input/input15
[ 23.402863] hid-multitouch 0018:04F3:3067.0002: input,hidraw1: I2C HID v1.00 Mouse [ELAN1200:00 04F3:3067] on i2c-ELAN1200:00
[ 23.402871] i2c_hid i2c-ELAN1200:00: i2c_hid_set_or_send_report
[ 23.402873] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 33 03 06 00 05 00 03 03 00
[ 23.403252] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 23.403254] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 01 08
[ 23.680283] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 23.680287] i2c_hid i2c-ELAN1200:00: __i2c_hid_command: cmd=05 00 00 08
[ 23.704187] i2c_hid i2c-ELAN1200:00: i2c_hid_set_power
[ 2...

Read more...

vladf (vlad-chel) wrote :

The result in my previous comment was obtained with kernel parameter "i2c-hid.debug=1"

I have also noticed this error on a gl-702vm on archlinux with the 4.19 kernel. I have the same error, with the touchpad jumping around, being super slow, and getting a repeated error message that says: i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/65535). I can try the latest ubuntu release and post the error message from that as well if nessacary.

vladf (vlad-chel) wrote :

After upgrade to Ubuntu 18.10 (kernel 4.18.0-12-generic) I got the same touchpad freeze on Asus X540NA and the right click doesn't work at all.

[ 1786.393499] input: ELAN1200:00 04F3:3067 Mouse as /devices/pci0000:00/0000:00:17.0/i2c_designware.0/i2c-1/i2c-ELAN1200:00/0018:04F3:3067.0001/input/input97
[ 1786.396367] i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/82)
[ 1786.396462] input: ELAN1200:00 04F3:3067 Touchpad as /devices/pci0000:00/0000:00:17.0/i2c_designware.0/i2c-1/i2c-ELAN1200:00/0018:04F3:3067.0001/input/input98
[ 1786.396602] hid-generic 0018:04F3:3067.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN1200:00 04F3:3067] on i2c-ELAN1200:00
[ 1786.475422] i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/16466)
[ 1786.476119] i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/16466)

Tetrix (porjazovskideni) wrote :

I am experiencing the same behavior with the 4.19 kernel.
The touchpad does not work smoothly and freezes occasionally and I have to wait for couple of minutes, after which it starts working again.

dmesg command gives the same output like what other people have reported: i2c_hid i2c-ELAN1200:00: i2c_hid_get_input: incomplete report (16/65535)

Abdulhalim Rafeik (gamefana) wrote :

The same thing is happening to me on my FX503VD and can confirm that unloading and reloading the i2c_hid module does fix the problem. Has anyone found a permanent fix for this problem?

@Abdulhalim Rafeik, how do you unload & reload i2c_hid? If i do that through:

modprobe -r i2c_hid
modprobe i2c_hid

Then the touchpad still is jumpy and right click is not working.

I'm running kernel 4.20.6 and Ubuntu 18.10. I've also got the FX503VD.

Abdulhalim Rafeik (gamefana) wrote :

I used to have the jumpiness problem too. The fix I found was installing kernel 19.0 via ukuu. You don't even have to be running that kernel. Just installing it fixed the erratic behavior of the touchpad.

Abdulhalim Rafeik (gamefana) wrote :

Also, ubuntu 18.10 never ran well on my machine. Can't say for sure if all FX503VDs are so "incompatible" with 18.10, but going back 18.04 and installing kernel 19.0 seemed to be provide a more stable version on my computer.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.