ETPS/2 Elantech Touchpad inconsistently detected (Gigabyte P57W laptop)

Bug #1594214 reported by @pjf on 2016-06-20
26
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Low
Unassigned
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned

Bug Description

SRU Justification

[Impact]
Touchpad on Gigabyte P57W laptop does not gets detected reliably.

[Test Case]
Touchpad not does not gets detected reliably.
With the patch, it can get detected reliably.

[Regression Potential]
Minimal. The change limits to a single specific laptop.
---

On my Gigabyte P57W laptop the ETPS/2 Elantech touchpad is inconsistently detected at boot. Trying mainline 4.6 kernel did not help.

WORKAROUND: Add kernel boot parameter:
i8042.kbdreset=1

The device is id=17 on xinput below:
$ xinput

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Kingsis Peripherals Evoluent VerticalMouse 3 id=12 [slave pointer (2)]
⎜ ↳ Sunrex/JME Ghost Key Elimiantion Keyboard id=14 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=17 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Video Bus id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Power Button id=10 [slave keyboard (3)]
    ↳ Sleep Button id=11 [slave keyboard (3)]
    ↳ Sunrex/JME Ghost Key Elimiantion Keyboard id=13 [slave keyboard (3)]
    ↳ Chicony USB 2.0 Camera id=15 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-4.4.0-24-generic 4.4.0-24.43~14.04.1
ProcVersionSignature: Ubuntu 4.4.0-24.43~14.04.1-generic 4.4.10
Uname: Linux 4.4.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
Date: Mon Jun 20 10:56:33 2016
InstallationDate: Installed on 2014-05-20 (761 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
SourcePackage: linux-lts-xenial
UpgradeStatus: No upgrade log present (probably fresh install)

@pjf (paul-j-fenwick) wrote :
@pjf (paul-j-fenwick) wrote :

Added penalvch as watcher as he suggested a fresh bug report on https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526393

@pjf, thank you for reporting this and helping make Ubuntu better.

Please execute the following command only once, as it will automatically gather debugging information, in a terminal:
apport-collect 1594214

description: updated
affects: linux-lts-xenial (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
@pjf (paul-j-fenwick) wrote :

@penalvch: I would *love* to run `apport-collect`, but doing so causes my entire system to lock-up. So does running `lspci` more than 80% of the time, which will be a tale for another bug report.

Using skylake hardware is proving to be a real adventure. :/

Is there a way to run apport-collect and choose what information it gathers, so I can restrict it to non-crashy commands only? I'm not yet on a 4.6 kernel (which apparently has much better skylake support), and 4.4 seems to require a gentle touch.

@pjf, would running a live environment via http://cdimage.ubuntu.com/daily-live/current/ allow this?

@pjf (paul-j-fenwick) wrote :

Possibly! Alas I'm currently juggling end of financial year, international flights in ~36 hours, speaking commitments, and a bunch of other firm commitments, so I won't reasonably have a chance to try until next week. I'm setting myself a reminder.

Note to self: Last time you needed to blacklist some graphics drivers to get things to boot, and maybe invoke noacpi. #SkylakeLife

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
DevenPhillips (deven-phillips) wrote :

This has been happening reliably on my Lenovo Y700 15ISK since 15.10... Sometimes it shows up as ETPS/2, sometimes PS/2, sometimes Logitech Wheelmouse... Most of the time it shows as "PS/2 Logitech Wheel Mouse" but none of the multitouch (2 finger scroll, 3 finger middle-click) can be set up. synclient says no device is present.

Changed in linux (Ubuntu):
status: Expired → Confirmed
DevenPhillips (deven-phillips) wrote :

BTW, still happening on Zesty for that Lenovo... I will run a system report shortly.

DevenPhillips (deven-phillips) wrote :

I tried to run apport-collect but keep getting an error about unauthorized even after authorizing for Launchpad. Any other way I can get the system information to you?

@pjf (paul-j-fenwick) wrote :

@DevenPhillips: I'm a fellow bug sufferer, rather than Ubuntu maintainer, but if you're experiencing the same bug as myself then I've found I reliable workaround.

Setting the `i8042.kbdreset=1` parameter to the kernel on boot seems to result in consistent detection of the touchpad. The easiest way to do that for me was to edit the /etc/default/grub file with the following line:

GRUB_CMDLINE_LINUX_DEFAULT="i8042.kbdreset=1"

and then running `sudo update-grub`. For me, this workaround was free of side-effects.

In my situation the touchpad would either be detected (and work fine), or not be detected *at all*. I don't recall it being detected as the wrong device. As such, I've no idea if my workaround would be effective in your situation.

Good luck!

~ Paul

DevenPhillips (deven-phillips) wrote :

I have tried this and several other kernel params as follows without success:

i8042.reset i8042.nomux=0
i8042.reset i8042.nomux=1
i8042.nomux=0
i8042.nomux=1
i8042.reset
i8042.reset i8042.nomux=0
i8042.reset i8042.nopnp
i8042.kbdreset=1
psmouse.elantech=1
psmouse.proto=bare
psmouse.proto=raw
psmouse.proto=imps

The best result I can achieve is to get it to reliably detect as a PS/2 Wheel Mouse, but then none of the multitouch features are functional.

DevenPhillips (deven-phillips) wrote :

I posted a new BUG so that I could upload via Apport:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1683760

DevenPhillips, given the WORKAROUND that works for @pjf's hardware doesn't work for yours, it would be best to keep your issue separate from this report for now.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Kai-Heng Feng (kaihengfeng) wrote :

Hi @pjf,

Can you attach the output of `grep . /sys/class/dmi/id/*`, so I can make a quirk into linux kernel itself?

DevenPhillips (deven-phillips) wrote :

Attached info as requested.

@pjf (paul-j-fenwick) wrote :

@kaihengfeng:

You rock! Thank you!

---cut here---

/sys/class/dmi/id/bios_date:05/30/2016
/sys/class/dmi/id/bios_vendor:American Megatrends Inc.
/sys/class/dmi/id/bios_version:FB0B
/sys/class/dmi/id/board_asset_tag:Default string
/sys/class/dmi/id/board_name:P57
/sys/class/dmi/id/board_serial:Default string
/sys/class/dmi/id/board_vendor:GIGABYTE
/sys/class/dmi/id/board_version:Default string
/sys/class/dmi/id/chassis_asset_tag:Default string
/sys/class/dmi/id/chassis_serial:Default string
/sys/class/dmi/id/chassis_type:10
/sys/class/dmi/id/chassis_vendor:Default string
/sys/class/dmi/id/chassis_version:Default string
/sys/class/dmi/id/modalias:dmi:bvnAmericanMegatrendsInc.:bvrFB0B:bd05/30/2016:svnGIGABYTE:pnP57:pvrDefaultstring:rvnGIGABYTE:rnP57:rvrDefaultstring:cvnDefaultstring:ct10:cvrDefaultstring:
/sys/class/dmi/id/product_name:P57
/sys/class/dmi/id/product_serial:Default string
/sys/class/dmi/id/product_uuid:42424946-3831-3030-3036-320000000000
/sys/class/dmi/id/product_version:Default string
/sys/class/dmi/id/sys_vendor:GIGABYTE
/sys/class/dmi/id/uevent:MODALIAS=dmi:bvnAmericanMegatrendsInc.:bvrFB0B:bd05/30/2016:svnGIGABYTE:pnP57:pvrDefaultstring:rvnGIGABYTE:rnP57:rvrDefaultstring:cvnDefaultstring:ct10:cvrDefaultstring:

---cut here---

Many thanks!

~ Paul

Kai-Heng Feng (kaihengfeng) wrote :

@pjf,

Please try linux kernel here: http://people.canonical.com/~khfeng/lp1594214/

Don't forget to remove i8042* kernel parameters before testing.

@pjf (paul-j-fenwick) wrote :

@haihengfeng: Thank you so much, and thank you especially for your patience with my slower reply.

I'm currently running a mainline kernel with a few additional patches and configurations applied to work around issues I've encountered. I don't suppose you have a patch or a git commit that I could apply? It would be relatively straightforward for me to build a kernel with and without the patch and report back on the results of each, and that also means I can build newer kernels without the patch while it's still going through the process of getting into mainline.

Many, many thanks!

~ Paul

Kai-Heng Feng (kaihengfeng) wrote :

Also, feel free to file new bug report for different issues.

tags: added: patch
@pjf (paul-j-fenwick) wrote :

@kaihengfeng:

Patch applied on v4.11.9, booted from cold start (which has always shown the bug) without i8042 parameters, and my trackpad is working great! I'm happy to say this fixes my problem, will happily testify to upstream that it's a good patch, and would be delighted for us to mark this bug as closed. Thank you *so* much!

~ Paul

Kai-Heng Feng (kaihengfeng) wrote :

Patch sent - thanks for your testing.

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Changed in linux (Ubuntu):
status: Expired → Triaged
description: updated
Launchpad Janitor (janitor) wrote :
Download full text (7.8 KiB)

This bug was fixed in the package linux - 4.13.0-12.13

---------------
linux (4.13.0-12.13) artful; urgency=low

  * linux: 4.13.0-12.13 -proposed tracker (LP: #1718980)

  * [Feature] SKX: Support crystall ridge / far / near memory indication in PEBS
    (LP: #1591813)
    - perf/x86: Move Nehalem PEBS code to flag
    - perf/x86: Fix data source decoding for Skylake

  * Upgrade to 4.13.0-11.12 in artful amd64 VM breaks display on wayland
    (LP: #1718679)
    - [Config] CONFIG_DRM_VBOXVIDEO=n

  * ipmmu-vmsa driver breaks arm64 boots (LP: #1718734)
    - [Config] Disable CONFIG_IPMMU_VMSA on arm64

  * Vlun resize request could fail with cxlflash driver (LP: #1713575)
    - scsi: cxlflash: Fix vlun resize failure in the shrink path

  * multipath -ll is not showing the disks which are actually multipath
    (LP: #1718397)
    - fs: aio: fix the increment of aio-nr and counting against aio-max-nr

  * [Feature] Crystal Ridge - BTT - Rework error clearing (LP: #1704350)
    - libnvdimm, btt: fix a missed NVDIMM_IO_ATOMIC case in the write path
    - libnvdimm, btt: refactor map entry operations with macros
    - libnvdimm, btt: ensure that flags were also unchanged during a map_read
    - libnvdimm, btt: cache sector_size in arena_info
    - libnvdimm: fix potential deadlock while clearing errors
    - libnvdimm, btt: rework error clearing

  * [Feature] Crystal Ridge - have 4k DAX faults use a common zero page
    (LP: #1704439)
    - mm: add vm_insert_mixed_mkwrite()
    - dax: relocate some dax functions
    - dax: use common 4k zero page for dax mmap reads
    - dax: remove DAX code from page_cache_tree_insert()
    - dax: move all DAX radix tree defs to fs/dax.c

  * [bug] 17.10: CDP test fail on platform of Purley-2S/4S/Neoncity,BDW-
    de/ep/ex, (LP: #1716843)
    - SAUCE: (no-up) x86/intel_rdt: Fix cdp info directory files issue

  * [featue] GPIO support for Denverton (LP: #1591829)
    - pinctrl: intel: Add Intel Denverton pin controller support

  * ETPS/2 Elantech Touchpad inconsistently detected (Gigabyte P57W laptop)
    (LP: #1594214)
    - Input: i8042 - add Gigabyte P57 to the keyboard reset table

  * autopkgtest profile fails to build on armhf (LP: #1717920)
    - [Packaging] autopkgtest -- disable d-i when dropping flavours

  * Artful update to v4.13.3 stable release (LP: #1718412)
    - Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
    - Revert "net: fix percpu memory leaks"
    - gianfar: Fix Tx flow control deactivation
    - vhost_net: correctly check tx avail during rx busy polling
    - ip6_gre: update mtu properly in ip6gre_err
    - udp: drop head states only when all skb references are gone
    - ipv6: fix memory leak with multiple tables during netns destruction
    - ipv6: fix typo in fib6_net_exit()
    - sctp: fix missing wake ups in some situations
    - tcp: fix a request socket leak
    - ip_tunnel: fix setting ttl and tos value in collect_md mode
    - f2fs: let fill_super handle roll-forward errors
    - f2fs: check hot_data for roll-forward recovery
    - x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
    - x86/fsgsbase/64: Report FSBASE and GSBA...

Read more...

Changed in linux (Ubuntu):
status: Triaged → Fix Released
Changed in linux (Ubuntu Zesty):
status: New → Fix Committed
Changed in linux (Ubuntu Xenial):
status: New → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
tags: added: verification-needed-zesty

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-zesty' to 'verification-done-zesty'. If the problem still exists, change the tag 'verification-needed-zesty' to 'verification-failed-zesty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

@pjf (paul-j-fenwick) wrote :

I'm not too familiar with the verification process, but I'm running a v4.13.5 mainline kernel built from
//git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack .

I can vouch that:

- The patch is committed as 9e81c7d1aa275cbdcd0fb511fbba7a3dfddeb8af, and that's definitely in the sources I've built from.
- I no longer have the `i8042.kbdreset=1` boot parameter set.
- I've had multiple reboots and power cycles, and had absolutely no problems with the trackpad at all.

The reason I'm using a mainline kernel is that I've enabled various ACPI debugging options to help track down completely independent bugs and laptop features.

Hi @pjf,

Our verification process is done by installing the Ubuntu kernel which is currently in the -proposed pocket and verifying whether the fix works as expected after it has been applied to a Ubuntu SRU kernel.

We generally ask the bug reporter to perform this verification, but since this is a simple and straightforward patch and you have already verified it in another kernel build, there's a very minimal chance of this patch not fixing the issue or introducing some regression. So we can assume it's relatively safe to skip the verification with the Ubuntu kernels.

Thank you!

Po-Hsu Lin (cypressyew) wrote :

As per comment #28 and #29

tags: added: verification-done-xenial verification-done-zesty
removed: verification-needed-xenial verification-needed-zesty
@pjf (paul-j-fenwick) wrote :

Hooray! Thank *you*! If there's anything else you need from my end, don't hesitate to let me know! :)

Launchpad Janitor (janitor) wrote :
Download full text (4.4 KiB)

This bug was fixed in the package linux - 4.10.0-38.42

---------------
linux (4.10.0-38.42) zesty; urgency=low

  * linux: 4.10.0-38.42 -proposed tracker (LP: #1722330)

  * Controller lockup detected on ProLiant DL380 Gen9 with P440 Controller
    (LP: #1720359)
    - scsi: hpsa: limit transfer length to 1MB

  * [Dell Docking IE][0bda:8153] Realtek USB Ethernet leads to system hang
    (LP: #1720977)
    - r8152: fix the list rx_done may be used without initialization

  * Touchpad not detected in Lenovo X1 Yoga / Yoga 720-15IKB (LP: #1700657)
    - mfd: intel-lpss: Add missing PCI ID for Intel Sunrise Point LPSS devices

  * Add installer support for Broadcom BCM573xx network drivers. (LP: #1720466)
    - d-i: Add bnxt_en to nic-modules.

  * CVE-2017-1000252
    - KVM: VMX: Do not BUG() on out-of-bounds guest IRQ

  * CVE-2017-10663
    - f2fs: sanity check checkpoint segno and blkoff

  * xfstest sanity checks on seek operations fails (LP: #1696049)
    - xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff()

  * [P9, Power NV][ WSP][Ubuntu 16.04.03] : perf hw breakpoint command results
    in call traces and system goes for reboot. (LP: #1706033)
    - powerpc/64s: Handle data breakpoints in Radix mode

  * 5U84 - ses driver isn't binding right - cannot blink lights on 1 of the 2
    5u84 (LP: #1693369)
    - scsi: ses: do not add a device to an enclosure if enclosure_add_links()
      fails.

  * Vlun resize request could fail with cxlflash driver (LP: #1713575)
    - scsi: cxlflash: Fix vlun resize failure in the shrink path

  * More migrations with constant load (LP: #1713576)
    - sched/fair: Prefer sibiling only if local group is under-utilized

  * New PMU fixes for marked events. (LP: #1716491)
    - powerpc/perf: POWER9 PMU stops after idle workaround

  * CVE-2017-14340
    - xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present

  * [Zesty][Yakkety] rtl8192e bug fixes (LP: #1698470)
    - staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory.
    - staging: rtl8192e: fix 2 byte alignment of register BSSIDR.
    - staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD.
    - staging: rtl8192e: GetTs Fix invalid TID 7 warning.

  * Stranded with ENODEV after mdadm --readonly (LP: #1706243)
    - md: MD_CLOSING needs to be cleared after called md_set_readonly or
      do_md_stop

  * multipath -ll is not showing the disks which are actually multipath
    (LP: #1718397)
    - fs: aio: fix the increment of aio-nr and counting against aio-max-nr

  * ETPS/2 Elantech Touchpad inconsistently detected (Gigabyte P57W laptop)
    (LP: #1594214)
    - Input: i8042 - add Gigabyte P57 to the keyboard reset table

  * CVE-2017-10911
    - xen-blkback: don't leak stack data via response ring

  * CVE-2017-11176
    - mqueue: fix a use-after-free in sys_mq_notify()

  * implement 'complain mode' in seccomp for developer mode with snaps
    (LP: #1567597)
    - Revert "UBUNTU: SAUCE: seccomp: log actions even when audit is disabled"
    - seccomp: Provide matching filter for introspection
    - seccomp: Sysctl to display available actions
    - seccomp: Operation for checking if an a...

Read more...

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (11.5 KiB)

This bug was fixed in the package linux - 4.4.0-98.121

---------------
linux (4.4.0-98.121) xenial; urgency=low

  * linux: 4.4.0-98.121 -proposed tracker (LP: #1722299)

  * Controller lockup detected on ProLiant DL380 Gen9 with P440 Controller
    (LP: #1720359)
    - scsi: hpsa: limit transfer length to 1MB

  * [Dell Docking IE][0bda:8153] Realtek USB Ethernet leads to system hang
    (LP: #1720977)
    - r8152: fix the list rx_done may be used without initialization

  * Add installer support for Broadcom BCM573xx network drivers. (LP: #1720466)
    - d-i: Add bnxt_en to nic-modules.

  * snapcraft.yaml: add dpkg-dev to the build deps (LP: #1718886)
    - snapcraft.yaml: add dpkg-dev to the build deps

  * Support setting I2C_TIMEOUT via ioctl for i2c-designware (LP: #1718578)
    - i2c: designware: Use transfer timeout from ioctl I2C_TIMEOUT

  * 5U84 - ses driver isn't binding right - cannot blink lights on 1 of the 2
    5u84 (LP: #1693369)
    - scsi_transport_sas: add function to get SAS endpoint address
    - ses: fix discovery of SATA devices in SAS enclosures
    - scsi: sas: provide stub implementation for scsi_is_sas_rphy
    - scsi: ses: Fix SAS device detection in enclosure

  * multipath -ll is not showing the disks which are actually multipath
    (LP: #1718397)
    - fs: aio: fix the increment of aio-nr and counting against aio-max-nr

  * Support Dell Wireless DW5819/5818 WWAN devices (LP: #1721455)
    - SAUCE: USB: serial: qcserial: add Dell DW5818, DW5819

  * CVE-2017-10911
    - xen-blkback: don't leak stack data via response ring

  * implement 'complain mode' in seccomp for developer mode with snaps
    (LP: #1567597)
    - seccomp: Provide matching filter for introspection
    - seccomp: Sysctl to display available actions
    - seccomp: Operation for checking if an action is available
    - seccomp: Sysctl to configure actions that are allowed to be logged
    - seccomp: Selftest for detection of filter flag support
    - seccomp: Action to log before allowing

  * implement errno action logging in seccomp for strict mode with snaps
    (LP: #1721676)
    - seccomp: Provide matching filter for introspection
    - seccomp: Sysctl to display available actions
    - seccomp: Operation for checking if an action is available
    - seccomp: Sysctl to configure actions that are allowed to be logged
    - seccomp: Selftest for detection of filter flag support
    - seccomp: Filter flag to log all actions except SECCOMP_RET_ALLOW

  * [Xenial] update OpenNSL kernel modules to 6.5.10 (LP: #1721511)
    - SAUCE: update OpenNSL kernel modules to 6.5.10

  * Xenial update to 4.4.90 stable release (LP: #1721550)
    - cifs: release auth_key.response for reconnect.
    - mac80211: flush hw_roc_start work before cancelling the ROC
    - KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
    - tracing: Fix trace_pipe behavior for instance traces
    - tracing: Erase irqsoff trace with empty write
    - md/raid5: fix a race condition in stripe batch
    - md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
    - scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse
      nlms...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers