i2c_hid_get_input floods system logs

Bug #1784152 reported by Romano Asciutto on 2018-07-28
178
This bug affects 36 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned

Bug Description

Ubuntu 4.15.0-29.31-generic 4.15.18

After upgrading to kernel version 4.15.0-29 from 4.15.0-23, the system logs are flooded whenever I move the cursor with my touchpad.

It looks like this:
i2c_hid i2c-ELAN1010:00: i2c_hid_get_input: incomplete report (14/65535)
i2c_hid i2c-ELAN1010:00: i2c_hid_get_input: incomplete report (14/65535)
i2c_hid i2c-ELAN1010:00: i2c_hid_get_input: incomplete report (14/65535)
i2c_hid i2c-ELAN1010:00: i2c_hid_get_input: incomplete report (14/65535)
etc...

This problem did not occur on the previous kernel version so there must have been a change to the "drivers/hid/i2c-hid/i2c-hid.c" file. This seems to be fixed in a recent commit here: https://github.com/torvalds/linux/commit/ef6eaf27274c0351f7059163918f3795da13199c

I am currently running the older kernel version but would still like to be up to date without this flooding happening.

Romano Asciutto (eredin) wrote :

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 1784152

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
Romano Asciutto (eredin) on 2018-07-28
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Pablo Abrudsky (pabludsky) wrote :

I am having the same issue, sadly I have a fresh 18.04 install, so I cannot revert to an older kernel, let me know what I can do to avoid the issue, or help you find a solution.

Tyler MacDonald (tyler-yi) wrote :

This is happening to me too on an Acer Aspire E 17 E5-774G-58GS. I tried that apport command above to send you my logs, but apparently since I didn't create the bug I'm not allowed :D

Pablo Abrudsky (pabludsky) wrote :

I think I've found a workaround for this issue, in my case adding 'acpi_osi=' to the linux kernel parameters solved it.
I am running a Dell Inspiron 15 5577 (with latest BIOS, v1.1.0).

For a permanent solution, I changed this line at:

```/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="

```

and then you have to run:
```
$ sudo update-grub
```

Romano Asciutto (eredin) wrote :

Adding "acpi_osi=" to GRUB_CMDLINE_LINUX_DEFAULT fixed the issue for me on my Dell Inspiron 15 7559. Thanks for this solution!

Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with commit ef6eaf27274c0351f7059163918f3795da13199c. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1784152

Can you test this kernel and see if it resolves this bug?

Note about installing test kernels:
• If the test kernel is prior to 4.15(Bionic) you need to install the linux-image and linux-image-extra .deb packages.
• If the test kernel is 4.15(Bionic) or newer, you need to install the linux-modules, linux-modules-extra and linux-image-unsigned .deb packages.

Thanks in advance!

Romano Asciutto (eredin) wrote :

Hi Joseph, thank you for building a test kernel.

I have installed it on my machine and it booted successfully. However, the bug still persists without "acpi_osi=" added to GRUB_CMDLINE_LINUX_DEFAULT like before.

To make sure I was running your test kernel, I ran uname -v and it returned #35~lp1784152.

Kai-Heng Feng (kaihengfeng) wrote :

I guess that parameter puts the touchpad into PS/2 mouse mode.

Can you check if "i2c-hid" is loaded via `lsmod`?

This is happening to me too on an Acer Aspire 5 A515-51G-515J. Adding "acpi_osi=" to GRUB_CMDLINE_LINUX_DEFAULT left me without a trackpad (it eliminated the log messages too, of course!).

$ uname -a
Linux dev 4.15.0-33-generic #36~16.04.1-Ubuntu SMP Wed Aug 15 17:21:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial

it was solved when i changed on BIOS the Touchpad option from Advanced to Basic Features.

as the user Keith Brown. When Adding "acpi_osi=" to GRUB_CMDLINE_LINUX_DEFAULT left me without a trackpad.

my device is an Acer Predator Helios 300 | Debian Stretch 9.5.0

Romano Asciutto (eredin) wrote :

> Can you check if "i2c-hid" is loaded via `lsmod`?

i2c_hid is indeed loaded when I run lsmod.

Ascaris (ascaris) wrote :

Seeing it also on my Acer Swift 1 laptop with the newer Ubuntu 4.15 kernel releases (newest as of this writing is 4.15.0-35-38, and the issue is present in that build) and also with the mainline 4.18.10 release. My touchpad is also an Elantech, but is a different model from the original report. My touchpad is reported as ELAN0501 instead of ELAN1010 in the dmesg spam, but otherwise, it's exactly as reported (also reporting 14/65535).

Changing the touchpad mode to basic in the UEFI does eliminate the dmesg spam, but that's because it switches it to PS/2 mouse emulation mode, no longer using the I2C bus at all. The acpi_osi= parameter disabled the touchpad when I tried it.

Kai-Heng Feng (kaihengfeng) wrote :

Please attach `udevadm info -e`, thanks!

Kai-Heng Feng (kaihengfeng) wrote :

Please boot without any kernel parameter and load i2c-hid, then rerun the command, thanks!

Ascaris (ascaris) wrote :

Adding "udevadm info -e" results for my Swift 1. I2C is active, kernel parameter as above not set, kernel 4.15.0-35-generic

Romano Asciutto (eredin) wrote :

I have installed your kernel build and removed all kernel parameters but it unfortunately didn't fix the issue.

'uname -a'
Linux Kubuntu 4.19.0-1-generic #2~elan+i2c SMP Fri Sep 28 04:25:10 CST 2018 x86_64 x86_64 x86_64 GNU/Linux

Kai-Heng Feng (kaihengfeng) wrote :

Because I only added ID for Ascaris's device.

Romano Asciutto (eredin) wrote :

Sorry, I forgot to attach the output of `udevadm info -e`. Here is the result for my Dell Inspiron 15 7559

Dmitry (dkanavis) wrote :

I have HP Elitebook 850 G5 and I'm experiencing this issue too.
Here is my udevadm info -e.

Ascaris (ascaris) wrote :

Kai-Heng Feng,

I installed the kernel as linked in post #18. It installed without a problem and booted and ran on the laptop just like the official kernels. I've confirmed it is 4.19.1 running.

Unfortunately, dmesg still reports many multiples of the error in question each time I use the touchpad (about 100 instances of this error per second the whole time I am using the touchpad):

i2c_hid i2c-ELAN0501:00: i2c_hid_get_input: incomplete report (64/65535)

Note that the 14/65535 from the previous kernels has changed to 64/65535. I don't have any idea what the significance of that is, but it's a change.

Do you need another udevadm report for this kernel too? I will be happy to provide one if it will help.

Kai-Heng Feng (kaihengfeng) wrote :

That means the workaround (increases the input length to 64) that works for me doesn't work for you.

kdanilov (kdanilov) wrote :

Dell precision 7730, ubuntu 18.04, 4.15.0-1021-oem - "acpi_osi=" doesn't work

Kai-Heng Feng (kaihengfeng) wrote :

kdanilov, is it possible for you to file a separate bug?
Precision 7730 should use ALPS touchpad instead of ELAN touchpad.

Niel (nbuys) wrote :

I think an update fixed this for me, the log flooding have not happened now for 24 hours. Can anyone else confirm this.
Ubuntu 18.04 fully updated - No steps was taken to fix this from my side.

Pablo Abrudsky (pabludsky) wrote :

I just updated my system (sudo apt dist-upgrade), and still having the issue, latest kernel didn't fix it for me.
I am attaching the ``udevadm info -e`` for Dell Inspiron 15 5577, without any boot kernel params set.

Ascaris (ascaris) wrote :

Niel, it's still happening on my system as of now (October 10, 2018), using latest Ubuntu kernel. Did you change the touchpad to basic mode by any chance?

Niel (nbuys) wrote :

Ascaris, I did no action to solve the problem. I received my new Dell laptop, was busy setting up my ubuntu 18.04. Started to work found my laptop Hard drive was always busy and sluggish. After few days I found the problem, the syslog was huge with thousands of the above messages. I decided to start the steps the next day to try to solve the problem, but the next day there were no messages anymore.
So the only explanation was at that stage that an update fixed it.
Not sure if I can do anything on my pc to help you with your tests on the problem.

Niel (nbuys) wrote :

Ascaris, Just an idea I did changes to the touchpad settings at that point also. Not sure if that was the reason the messages stopped.
1. Switch off "tap to click" in the Ubuntu touchpad settings.
2. Used the Gnome tweaks tool to switch on the right button on the touchpad. "Mouse Click Emulation"->"Area, Click the bottom right of the touchpad for right click and the bottom middle for middle click"
Hope this helps.

Niel (nbuys) wrote :

I stand corrected my syslog is now already 800 Mb flooded by the above error. My problem is not solved.
Just to document my steps.
1. My normal day to day I use a mouse connected to the computer. From above the problem sound to be originating from the touch-pad.
2. This weekend I used the pc on touch-pad for an hour, and just closed the lid.
3. Monday morning I opened the lid and on wake up the flooding is in process.
4. After restart the flooding stopped. If I am correct it sounds like if I don't use the touch-pad the flooding don't happen.
No steps was done from my side.
I attached my "udevadm info -e" for my Dell Inspiron 3576.
Hope this helps.

Tuomo Sipola (tuomosipola) wrote :

Confirming that this seems to happen on a Dell Vostro 3578 laptop when it wakes up from suspended state, i.e., when lid opened. Syslog filled with following lines:

i2c_hid i2c-DELL0844:00: i2c_hid_get_input: incomplete report (14/65535)

Kai-Heng Feng (kaihengfeng) wrote :

If "incomplete report" gets spewed when using the touchpad, it can be similar to [1].

If the "incomplete report" floods after S3, it's a different issue, please file new bug for it.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=201311

Mirek Opoka (opokatech) wrote :

I'm having the same issue with my Mi Notebook Pro (I'm using debian buster with 4.18 kernel). To fix that I compiled the i2c-hid module replacing dev_err with dev_err_once - so I still can see the "incomplete report" but only once and not 20 times per second (during sliding finger over the touchpad).

Of course it fixes the problem only if the error message is identical(!) as it was in my case.

For those who would like to give it try here is the repo: https://github.com/opokatech/i2c-hid-fix

Mozammel Hossain (quakestring) wrote :

I'm having same issue, I'm using KDE Neon latest user edition with Kernel 4.15.0-48-generic
my system is same as @Mirek Opoka , Mi Notebook Pro

Frank Quinn (fquinner) wrote :

I have this issue too - it's on a Dell Inspiron 7373. If there is anything I can do to help debug, please let me know.

Kai-Heng Feng (kaihengfeng) wrote :

Please test if this kernel helps:
https://people.canonical.com/~khfeng/lp1784152-sda/

Frank Quinn (fquinner) wrote :

Kai-Heng - just tried out that kernel and that looks like it stops the issue for me here - thank you.

fulconis (fulcop) wrote :

Same problem on my Dell Latitude 7490 with Ubuntu 18.04
kernel 4.15.0-39-generic
kernel: [34885.632118] i2c_hid i2c-ELAN25B6:00: i2c_hid_get_input: incomplete report (67/65535)
kernel: [ 345.340263] i2c_hid i2c-DELL081C:00: i2c_hid_get_input: incomplete report (30/2)

with your kernel 4.15.0-42-generic
no error but the touchpad doesn't work, like if I put acpi_osi= or modprobe.blacklist=i2c_hid in GRUB_CMDLINE_LINUX

Kai-Heng Feng (kaihengfeng) wrote :

Your touchpad should be Alps instead of Elan.

fulconis (fulcop) wrote :
Download full text (4.5 KiB)

from https://certification.ubuntu.com/hardware/201709-25724/
IEI Integration Corp DELL081C:00 044E:121F Touchpad

part of result of xinput --list :
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DELL081C:00 044E:121F Mouse id=15 [slave pointer (2)]
⎜ ↳ DELL081C:00 044E:121F Touchpad id=16 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=12 [slave pointer (2)]
⎜ ↳ ELAN25B6:00 04F3:0732 id=14 [slave pointer (2)]

part of result of udevadm info -e :

P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:11/DLL081C:00
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:11/DLL081C:00
E: MODALIAS=
E: SUBSYSTEM=acpi
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:6b/DELL081C:00
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:6b/DELL081C:00
E: ID_VENDOR_FROM_DATABASE=Dell Inc.
E: MODALIAS=acpi:DELL081C:PNP0C50:
E: SUBSYSTEM=acpi
E: USEC_INITIALIZED=20463825
P: /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00
E: DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00
E: DRIVER=i2c_hid
E: ID_VENDOR_FROM_DATABASE=Dell Inc.
E: MODALIAS=acpi:DELL081C:PNP0C50:
E: SUBSYSTEM=i2c
E: USEC_INITIALIZED=21698436

P: /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00/0018:044E:121F.0005/input/input23
E: DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00/0018:044E:121F.0005/input/input23
E: EV=17
E: ID_FOR_SEAT=input-pci-0000_00_15_1-platform-i2c_designware_1
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_PATH=pci-0000:00:15.1-platform-i2c_designware.1
E: ID_PATH_TAG=pci-0000_00_15_1-platform-i2c_designware_1
E: ID_SERIAL=noserial
E: KEY=70000 0 0 0 0
E: MODALIAS=input:b0018v044Ep121Fe0100-e0,1,2,4,k110,111,112,r0,1,6,8,am4,lsfw
E: MSC=10
E: NAME="DELL081C:00 044E:121F Mouse"
E: PHYS="i2c-DELL081C:00"
E: PRODUCT=18/44e/121f/100
E: PROP=0
E: REL=143
E: SUBSYSTEM=input
E: TAGS=:seat:
E: UNIQ=""
E: USEC_INITIALIZED=21719684

P: /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00/0018:044E:121F.0005/input/input24
E: ABS=260800000000003
E: DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00/0018:044E:121F.0005/input/input24
E: EV=1b
E: ID_FOR_SEAT=input-pci-0000_00_15_1-platform-i2c_designware_1
E: ID_INPUT=1
E: ID_INPUT_TOUCHPAD=1
E: ID_PATH=pci-0000:00:15.1-platform-i2c_designware.1
E: ID_PATH_TAG=pci-0000_00_15_1-platform-i2c_designware_1
E: ID_SERIAL=noserial
E: KEY=e520 30000 0 0 0 0
E: MODALIAS=input:b0018v044Ep121Fe0100-e0,1,3,4,k110,111,145,148,14A,14D,14E,14F,ra0,1,2F,35,36,39,m5,lsfw
E: MSC=20
E: NAME="DELL081C:00 044E:121F Touchpad"
E: PHYS="i2c-DELL081C:00"
E: PRODUCT=18/44e/121f/100
E: PROP=1
E: SUBSYSTEM=input
E: TAGS=:seat:
E: UNIQ=""
E: USEC_INITIALIZED=21719800

P: /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-8/i2c-DELL081C:00/0018:044E:121F.0005/input/input24/event20
N: input/event20
S: input/by-path/pci-0000:00:15.1-platform-i2c_designware.1-event-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:15....

Read more...

Rekby (rekby) wrote :

I have same problem with Dell Latitude E7480 with attached dock station (without station I haven't the bug).
Ubuntu 18.04, kernel 4.15.0-39-generic.

I have workaround the bug with unload module before sleep and load after resume
https://gist.github.com/rekby/0f0859bca9c80d6b8fc52ec13b3b0772

Scott Emmons (lscotte) wrote :

I have a similar workaround as Rekby, only as a pm-action hook.

https://gitlab.com/snippets/1786967

I was having the same issue on a dell inspiron 15 7000, with more

i2c_hid i2c-ELAN2097:00: i2c_hid_get_input: incomplete report (67/65535)

records in my logs per second than I cared to count.

adding 'acpi_osi=' to GRUB_CMD_LINE_DEFAULT only seemed to succeed in disabling my trackpad, so i quickly undid that.

I applied rekby's solution, put the machine to sleep a few times, and so far haven't seen the issue rear it's ugly head. If it turns out that I need to apply lscotte's solution for this particular dell model I'll post again to let folks know.

After deleting old logs in /var/log, truncating kern.log and syslog, I've freed up more then 50G of my pitiful 100G partition ;)

le père Léon (news-leon) wrote :

Same bug on an Acer Aspire ES 15.
I found a solution by changing the touchpad BIOS value from "advanced" to "standard".

Jacob Abrams (satur9nine) wrote :

Same bug on Dell Precision 3530 laptop.

Dec 17 09:24:45 j-3530 kernel: [225540.767030] i2c_hid i2c-DELL0820:00: i2c_hid_get_input: incomplete report (30/2)
Dec 17 09:24:45 j-3530 kernel: [225540.768277] i2c_hid i2c-DELL0820:00: i2c_hid_get_input: incomplete report (30/2)

BIOS on Dell 3530 does not offer touchpad settings.

Kai-Heng Feng (kaihengfeng) wrote :

Jacob, what you see is a different issue than the original bug report, and should be addressed by next Ubuntu kernel release:
https://lists.ubuntu.com/archives/kernel-team/2018-November/096693.html

costinel (costinel) wrote :

changing dev_err to dev_err_once like suggested in comment 35 worked for me, thank you!
 probably this hides the cause but at least I'm no longer being hit with tons of messages in syslog

baincd (baincd) wrote :

I've been having this same issue on my HP Envy. Rekby's workaround appears to have solved my issue - thank you!!

puzzle (puzzle9-) wrote :

Adding "acpi_osi=" to GRUB_CMDLINE_LINUX_DEFAULT is good
xiaomi notebook pro manjaro linux4.20
thank you

Eugene Seppel (seppel) wrote :

I also experienced on Dell Latitude 7490

David D (dave.abq) wrote :

I also experience this bug on Dell Inspiron 7370

Shane Wilson (shanewilson07) wrote :

Dell Inspiron 15 7559
Kernel 4.15.0-43

Problem persists even after Rekby's workaround. Rebooting has no affect, so my issue has nothing to do with suspending/sleeping my pc. Also tried acpi_osi="" in grub. This only disables my touchpad.

Yan Mosyagin (ym.sandsiv) wrote :

I have the same issue.

Workarounds with driver recompilation are not really a good fit in my case since they require to set up a build system and also to enroll a MOK key for unsigned drivers to work because I have Secure Boot enabled. acpi_osi workaround disables touchpad on my system.

Until the bug is fixed, here's a quicker and easier way to filter these messages on syslog level inspired by https://askubuntu.com/a/21648:

1. sudo vi /etc/rsyslog.d/01-blocklist.conf (any name after "01-" part will work)

2. Add this line:

:msg,contains,"i2c_hid_get_input" ~

3. Save the file and restart rsyslog service: sudo systemctl restart rsyslog

You can make the filter more specific, i.e. filter only "incomplete report" messages instead of suppressing all output of messages containing "i2c_hid_get_input" but latter case works just fine for my purposes.

Hope this helps.

Scott Emmons (lscotte) wrote :

Hmmm, filtering out syslog treats only a single symptom (dmesg, etc will still have log spew) not to mention the events are still occurring resulting in wasted CPU cycles. Why not just unload and reload the module? It's much more straightforward...

Yan Mosyagin (ym.sandsiv) wrote :

That's a good point but unfortunately unloading and reloading the module doesn't stop the messages from being produced on my system. Also, until the issue is fixed, my aim was exactly to filter unnecessary events from syslog to avoid bloated log files (kern.log and syslog) and unnecessary events since it was the biggest and probably the only real symptom for me.

Yan Mosyagin (ym.sandsiv) wrote :

Thanks to your comment I also realized that journald still logs the dmesg driver spam which results in bloated journald log files as well. Few more steps is required to alleviate that:

1. sudo vi /etc/systemd/journald.conf
2. Uncomment Storage=auto and change it to Storage=none
3. Uncomment ForwardToSyslog=yes
4. Save the file changes and reboot

This way logs are still forwarded to syslog where i2c_hid messages are filtered by the blocklist config file but you lose the ability to monitor logs using e.g. journalctl.

I would like to emphasize that this is a temporary solution which works pretty well for my purpose but might not be a good fit for others. Please try to work around this behavior on kernel driver level first before resorting to syslog/journald shenanigans.

Eagerly looking forward towards a fix for Elan touchpads.

Kai-Heng Feng (kaihengfeng) wrote :

Once the SRU [1] has completed, the issue should be solved.

[1] https://lists.ubuntu.com/archives/kernel-team/2019-January/098134.html

Eugene Seppel (seppel) wrote :

I've set up configuration that loads/unloads i2c_hid module on every suspend/resume. However now one kernel thread [irq/17-i2c_desi] consumes 20% of my CPU

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.