Touchpad stops working after reboot on Apollo Lake

Bug #1728244 reported by Giorgio Andronico on 2017-10-28
94
This bug affects 14 people
Affects Status Importance Assigned to Milestone
Linux
Unknown
Unknown
linux (Ubuntu)
Medium
Unassigned

Bug Description

On the Jumper EZBook 3 Pro (V4) laptop, using an Apollo Lake N3450 processor, if you install Ubuntu 17.10 (or less) with isorespin and use rEFInd as bootloader (this is the only way to get linux booting on this laptop) everything works out of the box, but after a reboot or two the touchpad stops working. Both in Ubuntu and Windows 10. The only way to restore functionality is to boot from usb key ubuntu 17.10 respined, or disassemble laptop and detach-reattach battery cable. This is mesg | grep i2c_hid:

[ 2056.460636] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
[ 3077.604699] i2c_hid i2c-SYNA3602:00: failed to reset device.
[ 3077.605473] dpm_run_callback(): i2c_hid_resume+0x0/0xe0 [i2c_hid] returns -61
[ 3080.468156] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)

uname -rvps
Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64

There has to be a bug in the kernel. Any way to avoid this?

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 1728244

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
tags: added: zesty
Giorgio Andronico (bytecodex2) wrote :

Also, I cannot run apport-collect 1728244 right now, but I posted the log file above.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.14 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.14-rc7

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Giorgio Andronico (bytecodex2) wrote :

Still not fixed. Updated tag.

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
iBART (mogio) wrote :

Ubuntu 17.10, jumper 3 pro v4, kernel 4.13.0-16 still affected. After 10 hours, I give up :D

Kai-Heng Feng (kaihengfeng) wrote :

Can you attach dmesg under v4.14-rc7?

iBART (mogio) wrote :

4.14.0-041400rc7 touchpad is working, A lot of tourchpad *i2c_hid i2c-SYNA3602* errors, but it is working.

iBART (mogio) wrote :

p.s. touchpad movement is working, tap for clic is working too but the 2 buttons are not.

iBART (mogio) wrote :

xinput attached, same kernel 4.14.0-041400rc7

iBART (mogio) wrote :

4.14.0-041400rc8

touchpad is not working at all.

iBART (mogio) wrote :

mich@ezbook:~$ dmesg | grep .hid
[ 3.164258] hidraw: raw HID events driver (C) Jiri Kosina
[ 4.305905] usbcore: registered new interface driver usbhid
[ 4.305907] usbhid: USB HID core driver
[ 4.308860] hid-generic 0003:045E:0023.0001: input,hidraw0: USB HID v1.00 Mouse [Microsoft Microsoft Trackball Optical®] on usb-0000:00:15.0-2/input0
[ 6.726802] intel-hid INT33D5:00: platform supports 5 button array
[ 6.869535] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vdd not found, using dummy regulator
[ 6.883919] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 6.888901] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/8713)
[ 6.891849] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 6.898604] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/23334)
[ 6.901745] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/20745)
[ 6.906804] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/31302)
[ 6.909733] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/29952)
[ 6.918193] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/22281)
[ 7.524580] hid-multitouch 0018:0911:5288.0002: input,hidraw1: I2C HID v1.00 Mouse [SYNA3602:00 0911:5288] on i2c-SYNA3602:00
[ 102.817373] hid-generic 0003:045E:0023.0003: input,hidraw0: USB HID v1.00 Mouse [Microsoft Microsoft Trackball Optical®] on usb-0000:00:15.0-2/input0
[ 1637.590908] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vdd not found, using dummy regulator
[ 1637.597193] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 1637.599518] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/8713)
[ 1637.600674] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 1637.604096] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/23334)
[ 1637.605250] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/20745)
[ 1637.608647] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/31302)
[ 1637.609845] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/29952)
[ 1637.614343] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/22281)
[ 1637.643866] hid-multitouch 0018:0911:5288.0004: input,hidraw1: I2C HID v1.00 Mouse [SYNA3602:00 0911:5288] on i2c-SYNA3602:00
mich@ezbook:~$ uname -r
4.14.0-041400rc8-generic

Changed in linux (Ubuntu):
status: Confirmed → Triaged

ApportVersion: 2.20.1-0ubuntu2.10
Architecture: amd64
CurrentDesktop: Unity
DistroRelease: Ubuntu 16.04
Package: linux (not installed)
Tags: xenial
Uname: Linux 4.14.0-999-generic x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True

tags: added: apport-collected xenial

apport information

apport information

apport information

iBART (mogio) wrote :

^ attachd apport. latests daily has the trackpad not working at all.

4.14-0.999

Kai-Heng Feng (kaihengfeng) wrote :

Can you attach dmesg with kernel parameter "i2c-hid.dyndbg=+p"?

Thanks.

iBART (mogio) wrote :

here sir.

Brad (bbaker6212) wrote :

This problem is not specific to Ubuntu. I get the same problem on the same notebook with Manjaro and Kernel 4.13

Brad (bbaker6212) wrote :

Antergos 17.09 Gnome works OK. So I know the touchpad is not defective.
With Manjaro 17.05 Xfce it does not work and I get the same error message
"...i2c_hid_get_input: incomplete report..."

Brad (bbaker6212) wrote :

If this helps, Attached is my dmesg output with boot param i2c-hid.dyndbg=+p on my notebook with Antergos installed and the touchpad working perfectly.

1 comments hidden view all 174 comments

> On 12 Nov 2017, at 8:49 AM, Brad <email address hidden> wrote:
>
> Antergos 17.09 Gnome works OK. So I know the touchpad is not defective.
> With Manjaro 17.05 Xfce it does not work and I get the same error message
> "...i2c_hid_get_input: incomplete report…"

What are the Linux kernel versions in Antergos and Manjaro, respectively?

>
> --
> You received this bug notification because you are subscribed to linux
> in Ubuntu.
> https://bugs.launchpad.net/bugs/1728244
>
> Title:
> Touchpad stops working after reboot on Apollo Lake
>
> Status in Linux:
> Unknown
> Status in linux package in Ubuntu:
> Triaged
>
> Bug description:
> On the Jumper EZBook 3 Pro (V4) laptop, using an Apollo Lake N3450
> processor, if you install Ubuntu 17.10 (or less) with isorespin and
> use rEFInd as bootloader (this is the only way to get linux booting on
> this laptop) everything works out of the box, but after a reboot or
> two the touchpad stops working. Both in Ubuntu and Windows 10. The
> only way to restore functionality is to boot from usb key ubuntu 17.10
> respined, or disassemble laptop and detach-reattach battery cable.
> This is mesg | grep i2c_hid:
>
>
> [ 2056.460636] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
> [ 3077.604699] i2c_hid i2c-SYNA3602:00: failed to reset device.
> [ 3077.605473] dpm_run_callback(): i2c_hid_resume+0x0/0xe0 [i2c_hid] returns -61
> [ 3080.468156] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
>
>
> uname -rvps
> Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64
>
> There has to be a bug in the kernel. Any way to avoid this?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions

Brad (bbaker6212) wrote :

Trying it more. It started working in Manjaro too. Then booting back into windows then back to Manjaro it stopped working again. So don't know what to make of that. If I can get it to fail again, I'll post the dmesg log. Any other info you need?

1 comments hidden view all 174 comments
Kai-Heng Feng (kaihengfeng) wrote :

> On 12 Nov 2017, at 2:35 PM, Brad <email address hidden> wrote:
>
> Trying it more. It started working in Manjaro too. Then booting back
> into windows then back to Manjaro it stopped working again. So don't
> know what to make of that. If I can get it to fail again, I'll post the
> dmesg log. Any other info you need?

Does cold boot instead of reboot have the same problem?

>
> --
> You received this bug notification because you are subscribed to linux
> in Ubuntu.
> https://bugs.launchpad.net/bugs/1728244
>
> Title:
> Touchpad stops working after reboot on Apollo Lake
>
> Status in Linux:
> Unknown
> Status in linux package in Ubuntu:
> Triaged
>
> Bug description:
> On the Jumper EZBook 3 Pro (V4) laptop, using an Apollo Lake N3450
> processor, if you install Ubuntu 17.10 (or less) with isorespin and
> use rEFInd as bootloader (this is the only way to get linux booting on
> this laptop) everything works out of the box, but after a reboot or
> two the touchpad stops working. Both in Ubuntu and Windows 10. The
> only way to restore functionality is to boot from usb key ubuntu 17.10
> respined, or disassemble laptop and detach-reattach battery cable.
> This is mesg | grep i2c_hid:
>
>
> [ 2056.460636] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
> [ 3077.604699] i2c_hid i2c-SYNA3602:00: failed to reset device.
> [ 3077.605473] dpm_run_callback(): i2c_hid_resume+0x0/0xe0 [i2c_hid] returns -61
> [ 3080.468156] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
>
>
> uname -rvps
> Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64
>
> There has to be a bug in the kernel. Any way to avoid this?
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions

Brad (bbaker6212) wrote :

Always working touchpad >> Antergos kernel: Linux version 4.13.11-1-ARCH
Sometimes not working >> Manjaro kernel : Linux version 4.12.14-1-MANJARO
Attached are the dmesg logs for both.

iBART (mogio) wrote :

I tried Ubuntu 16.04 with 4.13.11 and it is not working.

Brad (bbaker6212) wrote :

FYI, the Manjaro dmesg log attached above was from a boot when the touchpad was NOT working.

Brad (bbaker6212) wrote :

@iBART, is that Ubuntu 16.04 w/4.13.11 with rEFInd? I'm booting through rEFInd installed on my SSD partion, with my Antergos installed on SSD and Manjaro installed on an external USB drive.

iBART (mogio) wrote :

Yes, without refind it doesn't boot, because of GRUB.

By the way: strange things are appening! back to the semi working 4.14.0-041400rc7 the touchpad is 100% dead; not clics nor movements.

iBART (mogio) wrote :

No, sorry, my bad. Too many kernels installed.

This is the dmesg (plus the kernel param kaihengfeng requested) of my ubuntu 16.04 installation with the 4.14.0-041400rc7 kernel. It has the trackpad working but not its left/right buttons.

After this kernel mainline release, the touchpad is not working at all.

Brad (bbaker6212) wrote :
Download full text (4.4 KiB)

OK so it turns out I lied. It doesn't always work on Antergos either. It seems to happen randomly and how to get it working again is also a mystery. Resetting BIOS default does not restore it, and neither does booting into Windows - where it's not working there either. I unplugged both the power cable and the USB mouse then just kept restarting it until it mysteriously started working again.
Attached is the full dmesg logs for both working (YES) and not (NO). Here the pertinent parts:

// NOT WORKING //
$ grep -i hid EZBook*
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 0.000000] Command line: \\boot\vmlinuz-linux ro root=UUID=db197dac-84a9-48f2-8de2-803e79eb2a95 initrd=boot\initramfs-linux.img i2c-hid.dyndbg=+p
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 0.000000] Kernel command line: \\boot\vmlinuz-linux ro root=UUID=db197dac-84a9-48f2-8de2-803e79eb2a95 initrd=boot\initramfs-linux.img i2c-hid.dyndbg=+p
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 1.796661] hidraw: raw HID events driver (C) Jiri Kosina
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 1.800642] usbcore: registered new interface driver usbhid
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 1.800644] usbhid: USB HID core driver
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 1.802083] hid-generic 0003:275D:0BA6.0001: input,hidraw0: USB HID v1.11 Mouse [USB OPTICAL MOUSE ] on usb-0000:00:15.0-2/input0
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 8.334410] input: Intel HID events as /devices/platform/INT33D5:00/input/input3
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 8.334430] intel-hid INT33D5:00: platform supports 5 button array
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 8.334475] input: Intel HID 5 button array as /devices/platform/INT33D5:00/input/input4
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 8.471540] i2c_hid i2c-SYNA3602:00: Requesting IRQ: 154
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 13.490316] i2c_hid i2c-SYNA3602:00: failed to reset device.
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 14.507051] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 14.514231] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 19.676987] i2c_hid i2c-SYNA3602:00: failed to reset device.
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 25.863656] i2c_hid i2c-SYNA3602:00: failed to reset device.
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 26.880415] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 26.888099] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (27/34)
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 32.050315] i2c_hid i2c-SYNA3602:00: failed to reset device.
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 33.063375] i2c_hid i2c-SYNA3602:00: can't add hid device: -61
EZBook3Pro-touchpad-NO.Antergos.dmesg.txt:[ 33.069267] i2c_hid: probe of i2c-SYNA3602:00 failed with error -61

// WORKING //
EZBook3Pro-touchpad-YES.Antergos.dmesg.txt:[ 0.000000] Command line: \\boot\vmlinuz-linux ro root=UUID=db197dac-84a9-48f2-8de2-803e79eb2a95 initrd=boot\initramfs-l...

Read more...

Brad (bbaker6212) wrote :

One or two more people reported the problem here: https://bbs.archlinux.org/viewtopic.php?id=231540

Brad (bbaker6212) wrote :

Oh nice! There is a recent patch for this problem as about a week ago.
I've only applied a patch once a long time ago. Gotta go relearn how to do it...

https://patchwork.kernel.org/patch/10046575/

IGOR' (i.guliaew) wrote :

Not Working Patch

igor@igor-EZbook:~/Загрузки$ patch -p1 < v2-HID-i2c-hid-Add-no-irq-after-reset-quirk-for-0911-5288-device.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|index be2e005c3c51..c81ea3fbaa6b 100644
|--- a/drivers/hid/hid-ids.h
|+++ b/drivers/hid/hid-ids.h
--------------------------
File to patch:

tags: added: patch
Kai-Heng Feng (kaihengfeng) wrote :

This kernel includes the patch:
http://people.canonical.com/~khfeng/lp1728244/

iBART (mogio) wrote :

I compiled from source (4.14.0-041400) adding the patch and the touchpad is not working.
I tried @kaihengfeng kernel (4.13.0-17) and the touchpad is not working.

Got back to the only one semi working kernel (4.14.0-041400rc7). :|

Brad (bbaker6212) wrote :

@mogio when reporting the problem still exists you should supply the dmesg log. That will help to resolve the problem.

iBART (mogio) wrote :

dmesg > dmesg 4.14 mainline + released patch + i2c debug kernel param.

It is not working.

@bbaker6212 I know... right now the Jumper 3 pro is my main pc. It takes ages to make :)

Brad (bbaker6212) wrote :

@mogio, you forgot the kernel param "i2c-hid.dyndbg=+p"

iBART (mogio) wrote :

here it is.

94 comments hidden view all 174 comments
Andrey (demontager) wrote :

Teclast F7 affected this bug too, actually it uses same touchpad as Chuwi and Yepo.
I have compared dmesg messages from teclast f7 working on ubuntu 18.04 with above posted almost same messages there.

jose (joselus) wrote :

Also affected.

In my case I got a 4.15 kernel working in my jumper ezbook3 pro, ubuntu 17.10, the touchpad was detected as ImPS/2 protocol (so as an extended mouse) (enough for me), but after reinstall a ubuntu mate 18 (recent kernel) the touchpad is detected with CyPS/2 protocol and does not work at all.

Robert Schuettler (rober) wrote :

Jose, can you tell us which exact kernel 4.15 build you got to work? Can you also specify which revision of the Jumper EZbook 3 you are using?

If you don't know, you can find out your BIOS version and release date using:

 sudo dmidecode -s bios-version
 sudo dmidecode -s bios-release-date

Bogdan Arabadzhi (hiseni) wrote :

Another Teclast F7 user here.
Touchpad is not working for me at all on 18.04 daily.

Works fine on Windows 10 though. =\

iBART (mogio) wrote :

it is a lost cause. :)

Vi+ (vitaliyy) wrote :

My YEPO 737A with recent 4.16.1-041601-lowlatency kernel under Mint 18.3 still needs suspend in order to run touchpad smoothly after it (I expected 4.16 release will fix it finally, but it's not).

Boris Urman (urmanbm) wrote :

Hi, is there any progress on this bug?

Boris Urman (urmanbm) wrote :

Hi, I tried Ubuntu 160404 and Ubuntu 1804 beta 2 on Chuwi Lapboo air with live usb. On both of them touchpad didn't work. I am not very experienced with linux environment yet. Is there way for me to contribute in solving this problem&

Andrey (demontager) wrote :

Hi guys,
glad to inform that touchpad now is working on Teclast F7 running Xubuntu 18.04
It is just temporary workaround, hope it will added to default kernel.

All you need to do is patch kernel with that file https://github.com/brotfessor/sipodev/tree/master/b

1. Add needed packages before compiling kernel
sudo apt-get update
sudo apt-get build-dep linux
sudo apt-get install kernel-package
sudo apt-get install libncurses5-dev
sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev
sudo apt-get install patch dpkg-dev

2. Download kernel sources
apt-get source linux-image-`uname -r`

3. Enter kernel folder and do config
cd linux-4.15.0/
make oldconfig

4. Replace original i2c-hid.c with one downloaded from github

mine located here
/home/teclast/linux-4.15.0/drivers/hid/i2c-hid/i2c-hid.c

5. Build kernel.This proccess might take over 1 hour
fakeroot make-kpkg -j 5 --initrd --append-to-version=-custom kernel_image kernel_headers

6. Compiled kernel will be located in home folder. Jump to it and install
dpkg -i *.deb

7. Update grup and reboot. You should have working touchpad now.
sudo update-grub

David Franko (lavjamanxd) wrote :

Tried it on my machine, it does not solve the touchpad problems on Chuwi Lapbook air, i think it has a different touchpad than what that fix solves.

lavjamanxd@sargeras:~/Downloads$ uname --all
Linux sargeras 4.15.0-20-generic #21~lp1728244 SMP Fri Apr 27 13:19:49 CST 2018 x86_64 x86_64 x86_64 GNU/Linux

:c

Hans de Goede (j-w-r-degoede) wrote :

Can people with this problem please boot with:

i2c_designware_core.dyndbg=+p i2c-hid.debug=1

Added to their kernel commandline and then directly after boot run:

dmesg > dmesg.log

And attach the generated dmesg.log file here?

Vi+ (vitaliyy) wrote :

@Hans de Goede (j-w-r-degoede)

Olivier Fock (fpolive) wrote :

Hi,

I had a Thomson X6 notebook, it's seems to be a Jumper Ebook 3 Pro rebranded.

I compiled original kernel from kernel.org.

- With 4.14 RC7 version, movements, simple ou double tab click, 2 finger gesture worked. But click buttons not.
- With 4.14 RC8 version, nothing works anymore ! I did some investigations.
  I copied the "drivers/base" files from 4.14 RC7 to 4.14 RC8. I compiled the custom kernel... and it works again (except click buttons).
- I did the same thing with the latest version currently available (4.14.41), I had the same behavior.
- With 4.16 version, after startup/reboot, the touchpad is recognized in log (dmesg) but it's not work. So, if I suspend and resume, gestures and even buttons are working !
- From my 4.14.41 version already patched ("drivers/base" files from 4.14 RC7), I copied "drivers/hid" and "drivers/input" files from 4.16.
  Now, everything works : gesture and buttons after a first startup and after suspend/resume.
  I don't know if "drivers/input" files modifications are really necessary, I will do a rollback and test later.

Obviously, I can't compile kernel if I replace files without minor modifications.

I analyzed the code changes (drivers/base) between the 4.14 RC7 and 4.14 RC8 versions. There are only a few lines that have been modified.
So I made the reverse modifications in version 4.16, but without success. Touchpad is still not work after startup/reboot but works only after suspend/resume.

In all versions (4.14 RC7 original, 4.14 RC8 and 4.14.41 modified, 4.16 original), I still have error messages :

[ 6.326589] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 6.328725] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/8713)
[ 6.329796] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/261)
[ 6.333024] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/23334)
[ 6.334090] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/20745)
[ 6.337295] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/31302)
[ 6.338385] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/29952)
[ 6.342743] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report (32/22281)

Olivier Fock (fpolive) wrote :

Patch for 4.14.41 kernel

Hans de Goede (j-w-r-degoede) wrote :

Olivier Fock,

Thanks for your work on this, that is some excellent detective work. Also good to know that the "incomplete report" errors are also happening in a working setup.

The buttons starting to work after you updating the drivers/hid directory is expected, I have done several fixes to the hid-mt button handling, so I was already hoping that was fixed, but the other problem was blocking testing this.

So now I think we need to figure out which change exactly between the 4.14-rc7 and 4.14-rc8 drivers/base directory is causing the problem. To be clear are you talking vanilla 4.14-rc7 and 4.14-rc8 here, or Ubuntu kernel builds.

Looking at your diff, one thing which you could try is reverting this in your kernel / reapplying this fix from 4.14-rc8:

--- a/drivers/base/regmap/regmap.c 2018-05-16 10:10:32.000000000 +0200
+++ b/drivers/base/regmap/regmap.c 2017-10-29 21:58:38.000000000 +0100
@@ -1739,7 +1739,7 @@
   return -EINVAL;
  if (val_len % map->format.val_bytes)
   return -EINVAL;
- if (map->max_raw_write && map->max_raw_write < val_len)
+ if (map->max_raw_write && map->max_raw_write > val_len)
   return -E2BIG;

  map->lock(map->lock_arg);

The fix which went into your 4.14-rc8 (I don't see this in the vanilla 4.14-rc8) is obviously correct, but it could be that this is allowing some other driver to do something somewhere which is making the touchpad not work.

Something else to try is to revert this commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/base?h=v4.14-rc7&id=0cc2b4e5a020fc7f4d1795741c116c983e9467d7

Which is in 4.17-rc7 but not in any later kernels, so your copying over of the drivers/base dir from 4.17-rc7 adds that commit and it would be interesting to see if dropping that commit from your special working kernel makes it non working again.

Eventually a different version of that commit did go upstream:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=0759e80b84e34a84e7e46e2b1adb528c83d84a47

But that is slightly different, so perhaps the original fix happens to somehow make the touchpad work.

Note there is no need to try reverting this commit if changing the max_raw_write check breaks/unbreaks the touchpad, then that is likely the cause and we need to debug further from there.

Hans de Goede (j-w-r-degoede) wrote :

What would also be helpful is an acpidump of your Thomson X6 as well the output of:

ls -l /sys/bus/i2c/devices

Hans de Goede (j-w-r-degoede) wrote :

And a dmesg directly after boot with the non-working 4.14-rc7 + another one with the working 4.14-rc8 based one would also be good.

Olivier Fock (fpolive) wrote :

Hans,

- I compiled a fresh 4.14-rc8 vanilla kernel and touchpad didn't work.

After applied this patch (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/base?h=v4.14-rc7&id=0cc2b4e5a020fc7f4d1795741c116c983e9467d7), the touchpad worked again !

To compile, I need to add "#define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT S32_MAX" in somes files. I didn't modify .h file dependency.

$ grep -ri S32_MAX *
base/power/qos.c:#define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT S32_MAX
base/power/sysfs.c:#define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT S32_MAX
base/power/domain_governor.c:#define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT S32_MAX
base/cpu.c:#define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT S32_MAX

Note, the unmodified file regmap.c contains this line :
if (map->max_raw_write && map->max_raw_write > val_len)

Olivier Fock (fpolive) wrote :

Some details about /sys/bus/i2c/devices/, note I used a 4.14-rc8 previously patched (#153)

olivier@debian:~$ uname -a
Linux debian 4.14.0-rc8 #2 SMP Sun May 20 20:25:16 CEST 2018 x86_64 GNU/Linux
olivier@debian:~$ ls -l /sys/bus/i2c/devices/
total 0
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-0 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-0
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-1 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-1
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-10 -> ../../../devices/pci0000:00/0000:00:17.1/i2c_designware.5/i2c-10
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-11 -> ../../../devices/pci0000:00/0000:00:17.2/i2c_designware.6/i2c-11
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-12 -> ../../../devices/pci0000:00/0000:00:17.3/i2c_designware.7/i2c-12
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-2 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-2
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-3 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/i2c-3
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-4 -> ../../../devices/pci0000:00/0000:00:1f.1/i2c-4
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-5 -> ../../../devices/pci0000:00/0000:00:16.0/i2c_designware.0/i2c-5
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-6 -> ../../../devices/pci0000:00/0000:00:16.1/i2c_designware.1/i2c-6
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-7 -> ../../../devices/pci0000:00/0000:00:16.2/i2c_designware.2/i2c-7
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-8 -> ../../../devices/pci0000:00/0000:00:16.3/i2c_designware.3/i2c-8
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-9 -> ../../../devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9
lrwxrwxrwx 1 root root 0 mai 20 21:23 i2c-SYNA3602:00 -> ../../../devices/pci0000:00/0000:00:16.1/i2c_designware.1/i2c-6/i2c-SYNA3602:00
pi@debian:~$

Olivier Fock (fpolive) wrote :

dmesg log

Hans de Goede (j-w-r-degoede) wrote :

Olivier Fock,

Thanks, so it seems that: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/base?h=v4.14-rc7&id=0cc2b4e5a020fc7f4d1795741c116c983e9467d7
on top of 4.17-rc8 fixes things again, that is very interesting.

You may want to try a recent kernel and then do:

git revert 0759e80b84e34a84e7e46e2b1adb528c83d84a47
git cherry-pick 0cc2b4e5a020fc7f4d1795741c116c983e9467d7

And see what that does (assuming this applies cleanly).

At this point I think that we need to get some upstream kernel developers involved. Can you send me an email at: <email address hidden> please? (I need your email address) then I will start an email discussion about this with you in the Cc.

Regards,

Hans

Olivier Fock (fpolive) wrote :

I finally managed to have a working 4.16.10 kernel (touchpad, gesture, buttons, sdcard, sound, etc...).

I reverted this patch 0759e80b84e34a84e7e46e2b1adb528c83d84a47 (applied cleanly) and applied manually 0cc2b4e5a020fc7f4d1795741c116c983e9467d7. I'll attach a full diff later.

So that's the proof that's the "PM / QoS: Fix device resume latency PM QoS" patch doesn't work on Thomson X6 (https://www.mythomson.com/fr_fr/ordinateurs-155-fr-fr/ultrabook-158-fr-fr/ultrabook-13-3-32-go-2452).

@Hans, I'll contact you by email.

Regards,
Olivier

Olivier Fock (fpolive) wrote :

Patch for kernel 4.16.10 to fix touchpad problems of Thomson X6 (revert PM / QoS: Fix device resume latency PM QoS patch)

Hans de Goede (j-w-r-degoede) wrote :

Olivier, thank you excellent work. I've mailed the upstream developers and the author of the patch of which the older version fixes things.

Kai-Heng, can you perhaps do a test Ubuntu kernel build with the patch from comment 158, then other users with different (but similar) model laptops can test and hopefully confirm that this fixes things for them too. Note I don't believe that this is the proper fix, but it will be good to have confirmation that this fixes things for others too.

David Franko (lavjamanxd) wrote :

Oliver & Hans, thank you!

After reverting that patch and applying the other one + resolving the conflicts, i can confirm it works on 4.17.0-rc6 (chuwi lapbook air).
Movement, tap, scroll, left and right button.

iBART (mogio) wrote :

If someone compile I can test it on my jumper v4 ezbook

Il mer 23 mag 2018, 09:40 David Franko <email address hidden> ha
scritto:

> Oliver & Hans, thank you!
>
> After reverting that patch and applying the other one + resolving the
> conflicts, i can confirm it works on 4.17.0-rc6 (chuwi lapbook air).
> Movement, tap, scroll, left and right button.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1728244
>
> Title:
> Touchpad stops working after reboot on Apollo Lake
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions
>

iBART (mogio) wrote :

Ezbook Jumper 3 PRO V4: touchpad is fully working.

Good job guys :D

2018-05-24 7:02 GMT+02:00 Kai-Heng Feng <email address hidden>:

> Of course. Here's the Kernel:
> https://people.canonical.com/~khfeng/lp1728244-testing/
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1728244
>
> Title:
> Touchpad stops working after reboot on Apollo Lake
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions
>

--
*Cordialmente, Mich.*
- *+393888908876*
- *<email address hidden> <email address hidden>*

David Franko (lavjamanxd) wrote :

After using that patched kernel for 2 days, it's also solves the suspend freezing problem, i am able to close the lid and open it without removing the i2c_hid.
Also theres no random freezes/slowdowns like on the 4.14-rc7 kernel.

Olivier Fock (fpolive) wrote :

I found the line which causes troubles. Rafael J. Wysocki's comments put me on the path (https://bugzilla.kernel.org/show_bug.cgi?id=199821).

In the file "include/linux/pm_qos.h", if you set the PM_QOS_RESUME_LATENCY_NO_CONSTRAINT constant to value 0, then it works.

I used a vanilla 4.16.10 kernel and without reverting patch like before.

Olivier

Mike O (mikognn) wrote :

The patched kernel results in trackpad fully working on my Yepo 737A. Buttons, tracking, tapping for doubleclick and two-finger-gesture. Very good research work, guys!

Did someone already talk to upstream/mainline for investigation and further steps?

Kai-Heng Feng (kaihengfeng) wrote :

Hans is the upstream guy here ;)

188/5000
I have a Jumper Ezbook v3 and it seems to work correctly, running on Ubuntu 18.04.
Mouse movement and double pulsation.
I would have to check, buttons, suspension and two fingers.

In Ezbook v3 works the scroll, left button and gestures with two fingers, but the right button does not work.
Testing suspension ... works correctly

Hans de Goede (j-w-r-degoede) wrote :

David Perez Millan,

Please run gnome-tweaks and go to: "Keyboard & Mouse" then under "Mouse Click Emulation" select "Area" that should give you a right click at the bottom right area of the touchpad.

Regards,

Hans

iBART (mogio) wrote :

V4 Jumper 3 pro, touchpad works perfectly BUT now something is wrong with
the mouse. It has lag. :D

2018-05-25 17:02 GMT+02:00 David Perez Millan <email address hidden>
:

> In Ezbook v3 works the scroll, left button and gestures with two fingers,
> but the right button does not work.
> Testing suspension ... works correctly
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1728244
>
> Title:
> Touchpad stops working after reboot on Apollo Lake
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions
>

--
*Cordialmente, Mich.*
- *+393888908876*
- *<email address hidden> <email address hidden>*

Hi, Hans de Goede.
Following your instructions the right button works correctly.
Thank you very much.

For me this solution is correct, I hope it is implemented.

iBART (mogio) wrote :

Is it going mainline?

jfdesign (jfdesignnet) wrote :

Hi. Can confirm it's working good too on Mybook-14 apollolake N3350 laptop with [SYNA3602:00 0911:5288] touchpad. Using 18.04 fresh install and kernel 4.17.0-1 from khfeng, thank you very much.

i2c_hid_get_input still throw garbage incomplete report, but movement, tap, button all works okay.
once again thanks and hope this will go upstream.

Displaying first 40 and last 40 comments. View all 174 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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