Several new Asus laptops are missing touchpad support

Bug #1650895 reported by Janne Heikkinen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Yakkety
Fix Released
Undecided
Tim Gardner
Zesty
Fix Released
Undecided
Unassigned

Bug Description

E502SA and several other new Asus laptops are missing touchpad support.

Support for the Asus touchpad has been introduced only recently:

http://www.spinics.net/lists/linux-input/msg48143.html

From the development kernel git:

"commit 9ce12d8be12c94334634dd57050444910415e45f
Author: Brendan McGrath <email address hidden>
Date: Tue Nov 29 18:59:25 2016 +1100

    HID: asus: Add i2c touchpad support

    Update the hid-asus module to add multitouch support for the Asus i2c touchpad.

    This patch aims to resolve the issue raised here:E
    https://bugzilla.kernel.org/show_bug.

The latest mainline kernel, Linux 4.9 that was released 11th of December doesn't contain this patch.

I was able to get touchpad features to work with E502SA after patching Xenial Xerus kernel with the above patch and the patches it depends on.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-53-generic 4.4.0-53.74
ProcVersionSignature: Ubuntu 4.4.0-53.74-generic 4.4.30
Uname: Linux 4.4.0-53-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jamse 2045 F.... pulseaudio
CurrentDesktop: Unity
Date: Sun Dec 18 15:41:30 2016
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=d46d5e40-bd0f-41a5-87bb-f4f470f7b4d6
InstallationDate: Installed on 2016-12-14 (4 days ago)
InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 04f2:b52b Chicony Electronics Co., Ltd
 Bus 001 Device 004: ID 13d3:3423 IMC Networks
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: ASUSTeK COMPUTER INC. E502SA
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-53-generic.efi.signed root=UUID=17457b58-fc63-470b-a916-2eedb0dbd58e ro quiet splash intel_idle.max_cstate=1 vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-53-generic N/A
 linux-backports-modules-4.4.0-53-generic N/A
 linux-firmware 1.157.6
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/20/2016
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: E502SA.300
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: E502SA
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: ATN12345678901234567
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrE502SA.300:bd07/20/2016:svnASUSTeKCOMPUTERINC.:pnE502SA:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnE502SA:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.name: E502SA
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.

CVE References

Revision history for this message
Janne Heikkinen (janne-m-heikkinen) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Zesty):
status: Confirmed → Fix Released
Luis Henriques (henrix)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Luis Henriques (henrix) wrote :

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-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

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-yakkety
tags: added: verification-done-yakkety
removed: verification-needed-yakkety
Revision history for this message
Janne Heikkinen (janne-m-heikkinen) wrote :

I tested "4.8.0-34.36 (yakkety-proposed)" kernel on 16.04 LTS and touchpad features are working with it.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package linux - 4.8.0-34.36

---------------
linux (4.8.0-34.36) yakkety; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1651800

  * Miscellaneous Ubuntu changes
    - SAUCE: Do not build the xr-usb-serial driver for s390

linux (4.8.0-33.35) yakkety; urgency=low

  [ Thadeu Lima de Souza Cascardo ]

  * Release Tracking Bug
    - LP: #1651721

  [ Luis Henriques ]

  * crypto : tolerate new crypto hardware for z Systems (LP: #1644557)
    - s390/zcrypt: Introduce CEX6 toleration

  * Several new Asus laptops are missing touchpad support (LP: #1650895)
    - HID: asus: Add i2c touchpad support

  * Acer, Inc ID 5986:055a is useless after 14.04.2 installed. (LP: #1433906)
    - uvcvideo: uvc_scan_fallback() for webcams with broken chain

  * cdc_ether fills kernel log (LP: #1626371)
    - cdc_ether: Fix handling connection notification

  * Kernel Fixes to get TCMU File Backed Optical to work (LP: #1646204)
    - SAUCE: target/user: Fix use-after-free of tcmu_cmds if they are expired

  * CVE-2016-9756
    - KVM: x86: drop error recovery in em_jmp_far and em_ret_far

  * On boot excessive number of kworker threads are running (LP: #1649905)
    - slub: move synchronize_sched out of slab_mutex on shrink

  * Ethernet not work after upgrade from kernel 3.19 to 4.4 [10ec:8168]
    (LP: #1648279)
    - ACPI / blacklist: Make Dell Latitude 3350 ethernet work

  * Ubuntu 16.10 netboot install fails with "Oops: Exception in kernel mode,
    sig: 5 [#1] " (lpfc) (LP: #1648873)
    - scsi: lpfc: fix oops/BUG in lpfc_sli_ringtxcmpl_put()

  * CVE-2016-9793
    - net: avoid signed overflows for SO_{SND|RCV}BUFFORCE

  * [Hyper-V] Kernel panic not functional on 32bit Ubuntu 14.10, 15.04, and
    15.10 (LP: #1400319)
    - Drivers: hv: avoid vfree() on crash

  * d-i is missing usb support for platforms that use the xhci-platform driver
    (LP: #1625222)
    - d-i initrd needs additional usb modules to support the merlin platform

  * overlayfs no longer supports nested overlayfs mounts, but there is a fix
    upstream (LP: #1647007)
    - ovl: fix d_real() for stacked fs

  * Yakkety: arm64: CONFIG_ARM64_ERRATUM_845719 isn't enabled (LP: #1647793)
    - [Config] CONFIG_ARM64_ERRATUM_845719=y

  * Ubuntu16.10 - EEH on BELL3 adapter fails to recover (serial/tty)
    (LP: #1646857)
    - serial: 8250_pci: Detach low-level driver during PCI error recovery

  * Driver for Exar USB UART (LP: #1645591)
    - SAUCE: xr-usb-serial: Driver for Exar USB serial ports
    - SAUCE: xr-usb-serial: interface for switching modes
    - SAUCE: cdc-acm: Exclude Exar USB serial ports

  * [Bug] (Purley) x86/hpet: Reduce HPET counter read contention (LP: #1645928)
    - x86/hpet: Reduce HPET counter read contention

  * Need Alps upstream their new touchpad driver (LP: #1571530)
    - Input: ALPS - add touchstick support for SS5 hardware
    - Input: ALPS - handle 0-pressure 1F events
    - Input: ALPS - allow touchsticks to report pressure
    - Input: ALPS - set DualPoint flag for 74 03 28 devices

  * CONFIG_NR_CPUS=256 is too low (LP: #1579205)
    - [Config] Increase the NR_CPUS to 512 for amd64 to support systems with a...

Read more...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Revision history for this message
Brendan McGrath (redmcg) wrote :

I'm one of the authors for the patch used above and wanted to highlight that there was a bug in it that broke the existing keyboard support. It was later fixed in the kernel with commit c8b1b3dd89ea7b3f77a73e59c4c4495e16338e15. I've attached this as a patch (fix_keyboard.patch). This patch is required for the previous keyboard functionality to work again.

Unfortunately I don't have the hardware to test any proposed kernel (or to provide any logs) but I wanted to bring this bug to your attention.

There was also another issue that could occur during startup with these I2C Touchpad devices. This issue was fixed in commit a89af4abdf9b353cdd6f61afc0eaaac403304873. This commit is required for reliable Touchpad functionality.

Both these commits are in v4.10 of the Kernel (thus in Ubuntu 17.04).

Revision history for this message
Janne Heikkinen (janne-m-heikkinen) wrote :

" It was later fixed in the kernel with commit c8b1b3dd89ea7b3f77a73e59c4c4495e16338e15."

I'm unable to use git at the moment but I remember seeing commit with description that
it fixes keyboard support. And if I've seen it, I've compiled and tested it for sure.

I broke WiFi of my E502SA with disconnecting battery:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1653361/comments/13

And haven't used the computer much since, but looking at that comment, last kernel
I've tested was 4.10.0rc5 .

Revision history for this message
Janne Heikkinen (janne-m-heikkinen) wrote :

Brendan McGrath, only issue has been since the beginning that I get lots of
messages like these:

[53992.918894] i2c_hid i2c-FTE1000:00: i2c_hid_get_input: incomplete report (30/29192)
[54058.153908] i2c_hid i2c-FTE1000:00: i2c_hid_get_input: incomplete report (30/23808)
[54294.068362] i2c_hid i2c-FTE1000:00: i2c_hid_get_input: incomplete report (30/2141)

It happens still with 4.12.3.

Revision history for this message
Brendan McGrath (redmcg) wrote :

These messages come from the i2c_hid module, which is a module that sits between the hid-aus driver and the i2c driver. The message indicates that the i2c_hid module received an invalid INPUT report and has discarded it. The hid-asus driver is never made aware that this occurred.

I can think of three possible causes:
a) an electronic signalling issue;
b) a firmware issue; or
c) a proprietary function of the device

There's little that can be done for a) or b) - it's effectively faulty (or poorly shielded) hardware. For c) - if there were documentation we might be able to do something. But it would likely require a quirk at the lower levels (i.e. the i2c_hid module). And given (in my experience) the minimal impact of these messages - that might be something the kernel maintainers would consider undesirable.

You could investigate further by modifying the i2c_hid module to dump the contents of the discarded message. But since a recent change to the i2c_hid module (which put a sleep inbetween the POWER ON and RESET commands) I no longer seem to get these messages.

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

Other bug subscribers

Remote bug watches

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