Enable full touch support for ELAN0600 touchpad

Bug #1439111 reported by Alessio Treglia
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Vivid
Fix Released
Medium
Joseph Salisbury
Wily
Fix Released
Medium
Joseph Salisbury

Bug Description

Hi,

ELAN0600 lacks full touch support if not registered with elan_i2c.ko.
I've got in touch with Benjamin Tissoires, who kindly provided me with a two-lines patch that fixed the problem for my Lenovo Yoga 3 11 [1]. He has afterwards made the patch publicly available at LKML [2].

Some more information follow, the bug is still reproducible with the latest Vivid's and mainline kernels:

ubuntu@ubuntu:~$ uname -a
Linux ubuntu 3.16.0-23-generic #31-Ubuntu SMP Tue Oct 21 17:56:17 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.10
Release: 14.10
Codename: utopic

ubuntu@ubuntu:~$ lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 006: ID 8087:07dc Intel Corp.
Bus 002 Device 005: ID 1bcf:2c43 Sunplus Innovation Technology Inc.
Bus 002 Device 004: ID 04f3:2052 Elan Microelectronics Corp.
Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 002: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Excerpt of /proc/bus/input/devices:

I: Bus=0018 Vendor=04f3 Product=0400 Version=0100
N: Name="ELAN0600:00 04F3:0400"
P: Phys=
S: Sysfs=/devices/pci0000:00/INT3433:00/i2c-8/i2c-ELAN0600:00/0018:04F3:0400.0003/input/input13
U: Uniq=
H: Handlers=mouse1 event12
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=143
B: MSC=10

ubuntu@ubuntu:~$ grep -i elan /var/log/syslog
Feb 17 01:53:37 ubuntu kernel: [ 17.373586] usb 2-5: Manufacturer: ELAN
Feb 17 01:53:38 ubuntu kernel: [ 28.061105] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/0003:04F3:2052.0001/input/input11
Feb 17 01:53:38 ubuntu kernel: [ 28.067747] hid-multitouch 0003:04F3:2052.0001: input,hiddev0,hidraw0: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:14.0-5/input0
Feb 17 01:53:38 ubuntu kernel: [ 28.272108] i2c_hid i2c-ELAN0600:00: error in i2c_hid_init_report size:633 / ret_size:7
Feb 17 01:53:38 ubuntu kernel: [ 28.274418] i2c_hid i2c-ELAN0600:00: error in i2c_hid_init_report size:69 / ret_size:7
Feb 17 01:53:38 ubuntu kernel: [ 28.274589] input: ELAN0600:00 04F3:0400 as /devices/pci0000:00/INT3433:00/i2c-8/i2c-ELAN0600:00/0018:04F3:0400.0003/input/input13
Feb 17 01:53:38 ubuntu kernel: [ 28.275039] hid-generic 0018:04F3:0400.0003: input,hidraw1: <UNKNOWN> HID v1.00 Mouse [ELAN0600:00 04F3:0400] on

Thanks for considering.

[1] http://shop.lenovo.com/gb/en/laptops/lenovo/yoga/yoga-3-11/
[2] https://lkml.org/lkml/2015/3/31/929

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1439111

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: utopic
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
penalvch (penalvch)
tags: added: cherry-pick
Revision history for this message
Alessio Treglia (quadrispro) wrote :

News anybody? Any chance to see this fixed before Vivid goes live?

Revision history for this message
max (p-max-s) wrote :

Apologies if this isn't related, but I have one of the new Asus X205TA computers and it reports having a Elantech touchpad with the following entry in /proc/bus/input/devices:

I: Bus=0018 Vendor=04f3 Product=0401 Version=0100
N: Name="ELAN0100:00 04F3:0401"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/0018:04F3:0401.0002/input/input9
U: Uniq=
H: Handlers=mouse0 event9
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=103
B: MSC=10

The only difference in the ID from the original post in this thread is that it's Product=0401 instead of Product=0400.

I thought I'd mention it in case it's a two-birds-one-stone kind of scenario. I'm happy to help test out a fix on my hardware. Currently Ubuntu 15.04 only recognizes it as a Mouse, not a Touchpad, so I only have L + R click but no multi-touch interactions.

Revision history for this message
Alessio Treglia (quadrispro) wrote :
Revision history for this message
encyd (encyd) wrote :

Unfortunately it looks like this didn't make it into 15.10/wily:

The id for the elan device isn't in the ignore list:

http://kernel.ubuntu.com/git/ubuntu/ubuntu-wily.git/tree/drivers/hid/hid-core.c

Revision history for this message
Andy Whitcroft (apw) wrote :

That fix only actually hit mainline in v4.3-rc1. So it missed wily via natural means. Will ask someone to get a test kernel together for this.

tags: added: kernel-da-key
Changed in linux (Ubuntu Wily):
importance: Undecided → Medium
status: New → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a Wily test kernel with a cherry pick of commit 6ccfe64. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1439111/

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

Note, you will need to install both the linux-image and linux-image-extra .deb packages.

Revision history for this message
Alessio Treglia (quadrispro) wrote :

Works like a charm, thanks!

Changed in linux (Ubuntu Vivid):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Joseph Salisbury (jsalisbury)
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I just submitted an SRU request for Vivid and Wily.

Luis Henriques (henrix)
Changed in linux (Ubuntu Wily):
status: In Progress → Fix Committed
Luis Henriques (henrix)
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (32.9 KiB)

This bug was fixed in the package linux - 4.2.0-19.23

---------------
linux (4.2.0-19.23) wily; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1515157

  [ Andy Whitcroft ]

  * [Config] re-enable OSS support and blacklist
    - LP: #1434842

  [ dann frazier ]

  * Revert "[Config] CONFIG_ARM64_ERRATUM_843419=n"
    - LP: #1502946

  [ Paolo Pisati ]

  * [SRU] [Config] armhf: LEDS_TRIGGER_HEARTBEAT=y
    - LP: #1510165

  [ Tim Gardner ]

  * [Config] Add iscsi_ibft and iscsi_boot_sysfs to generic inclusion list
    - LP: #1511006
  * [Config] CONFIG_AUFS_EXPORT=y
    - LP: #1121699

  [ Upstream Kernel Changes ]

  * Revert "KVM: x86: apply guest MTRR virtualization on host reserved
    pages"
    - LP: #1509886
  * Revert "KVM: SVM: use NPT page attributes"
    - LP: #1509886
  * Revert "KVM: SVM: Sync g_pat with guest-written PAT value"
    - LP: #1509886
  * Revert "cgroup: simplify threadgroup locking"
    - LP: #1509886
  * Revert "sched, cgroup: replace signal_struct->group_rwsem with a global
    percpu_rwsem"
    - LP: #1509886
  * Revert "ARM64: unwind: Fix PC calculation"
    - LP: #1514889
  * Revert "serial: 8250_dma: don't bother DMA with small transfers"
    - LP: #1514889
  * Revert "md: allow a partially recovered device to be hot-added to an
    array."
    - LP: #1514889
  * arm64: Change memcpy in kernel to use the copy template file
    - LP: #1508471
  * arm64: copy_to-from-in_user optimization using copy template
    - LP: #1508471
  * Input: elan_i2c - enable ELAN0600 acpi panels
    - LP: #1439111
  * e1000e: Fix tight loop implementation of systime read algorithm
  * arm: KVM: Fix incorrect device to IPA mapping
    - LP: #1509886
  * KVM: vmx: fix VPID is 0000H in non-root operation
    - LP: #1509886
  * kvm: don't try to register to KVM_FAST_MMIO_BUS for non mmio eventfd
    - LP: #1509886
  * kvm: fix zero length mmio searching
    - LP: #1509886
  * kvm: factor out core eventfd assign/deassign logic
    - LP: #1509886
  * kvm: fix double free for fast mmio eventfd
    - LP: #1509886
  * arm: KVM: Disable virtual timer even if the guest is not using it
    - LP: #1509886
  * kvm: svm: reset mmu on VCPU reset
    - LP: #1509886
  * KVM: x86: trap AMD MSRs for the TSeg base and mask
    - LP: #1509886
  * KVM: PPC: Book3S: Take the kvm->srcu lock in
    kvmppc_h_logical_ci_load/store()
    - LP: #1509886
  * KVM: PPC: Book3S HV: Pass the correct trap argument to
    kvmhv_commence_exit
    - LP: #1509886
  * time: Fix timekeeping_freqadjust()'s incorrect use of abs() instead of
    abs64()
    - LP: #1509886
  * target/iscsi: Fix np_ip bracket issue by removing np_ip
    - LP: #1509886
  * scsi: fix scsi_error_handler vs. scsi_host_dev_release race
    - LP: #1509886
  * target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess
    - LP: #1509886
  * target: Fix PR registration + APTPL RCU conversion regression
    - LP: #1509886
  * iser-target: remove command with state ISTATE_REMOVE
    - LP: #1509886
  * iser-target: Put the reference on commands waiting for unsol data
    - LP: #1509886
  * toshiba_acpi: Fix hotkeys registration on some toshiba models
    - LP: #1509886
  *...

Changed in linux (Ubuntu):
status: In Progress → Fix Released
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-wily' to 'verification-done-wily'.

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-wily
Revision history for this message
Alessio Treglia (quadrispro) wrote :

Tested on both wily and vivid. Thanks!

tags: added: verification-done
removed: verification-needed-wily
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.19.0-37.42

---------------
linux (3.19.0-37.42) vivid; urgency=low

  [ Kamal Mostafa ]

  * Release Tracking Bug
    - LP: #1518406

  [ K. Y. Srinivasan ]

  * SAUCE: Drivers: hv: vmbus: Fix a Host signaling bug
    - LP: #1508706

 -- Kamal Mostafa <email address hidden> Fri, 20 Nov 2015 09:49:10 -0800

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (32.9 KiB)

This bug was fixed in the package linux - 4.2.0-19.23

---------------
linux (4.2.0-19.23) wily; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1515157

  [ Andy Whitcroft ]

  * [Config] re-enable OSS support and blacklist
    - LP: #1434842

  [ dann frazier ]

  * Revert "[Config] CONFIG_ARM64_ERRATUM_843419=n"
    - LP: #1502946

  [ Paolo Pisati ]

  * [SRU] [Config] armhf: LEDS_TRIGGER_HEARTBEAT=y
    - LP: #1510165

  [ Tim Gardner ]

  * [Config] Add iscsi_ibft and iscsi_boot_sysfs to generic inclusion list
    - LP: #1511006
  * [Config] CONFIG_AUFS_EXPORT=y
    - LP: #1121699

  [ Upstream Kernel Changes ]

  * Revert "KVM: x86: apply guest MTRR virtualization on host reserved
    pages"
    - LP: #1509886
  * Revert "KVM: SVM: use NPT page attributes"
    - LP: #1509886
  * Revert "KVM: SVM: Sync g_pat with guest-written PAT value"
    - LP: #1509886
  * Revert "cgroup: simplify threadgroup locking"
    - LP: #1509886
  * Revert "sched, cgroup: replace signal_struct->group_rwsem with a global
    percpu_rwsem"
    - LP: #1509886
  * Revert "ARM64: unwind: Fix PC calculation"
    - LP: #1514889
  * Revert "serial: 8250_dma: don't bother DMA with small transfers"
    - LP: #1514889
  * Revert "md: allow a partially recovered device to be hot-added to an
    array."
    - LP: #1514889
  * arm64: Change memcpy in kernel to use the copy template file
    - LP: #1508471
  * arm64: copy_to-from-in_user optimization using copy template
    - LP: #1508471
  * Input: elan_i2c - enable ELAN0600 acpi panels
    - LP: #1439111
  * e1000e: Fix tight loop implementation of systime read algorithm
  * arm: KVM: Fix incorrect device to IPA mapping
    - LP: #1509886
  * KVM: vmx: fix VPID is 0000H in non-root operation
    - LP: #1509886
  * kvm: don't try to register to KVM_FAST_MMIO_BUS for non mmio eventfd
    - LP: #1509886
  * kvm: fix zero length mmio searching
    - LP: #1509886
  * kvm: factor out core eventfd assign/deassign logic
    - LP: #1509886
  * kvm: fix double free for fast mmio eventfd
    - LP: #1509886
  * arm: KVM: Disable virtual timer even if the guest is not using it
    - LP: #1509886
  * kvm: svm: reset mmu on VCPU reset
    - LP: #1509886
  * KVM: x86: trap AMD MSRs for the TSeg base and mask
    - LP: #1509886
  * KVM: PPC: Book3S: Take the kvm->srcu lock in
    kvmppc_h_logical_ci_load/store()
    - LP: #1509886
  * KVM: PPC: Book3S HV: Pass the correct trap argument to
    kvmhv_commence_exit
    - LP: #1509886
  * time: Fix timekeeping_freqadjust()'s incorrect use of abs() instead of
    abs64()
    - LP: #1509886
  * target/iscsi: Fix np_ip bracket issue by removing np_ip
    - LP: #1509886
  * scsi: fix scsi_error_handler vs. scsi_host_dev_release race
    - LP: #1509886
  * target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess
    - LP: #1509886
  * target: Fix PR registration + APTPL RCU conversion regression
    - LP: #1509886
  * iser-target: remove command with state ISTATE_REMOVE
    - LP: #1509886
  * iser-target: Put the reference on commands waiting for unsol data
    - LP: #1509886
  * toshiba_acpi: Fix hotkeys registration on some toshiba models
    - LP: #1509886
  *...

Changed in linux (Ubuntu Wily):
status: Fix Committed → Fix Released
Revision history for this message
Daniel (daniel-uhl-n) wrote :

Hey

as in reply #3 max described the same bug for the ELAN0100 Touchpad. Has this device also been processed? I am having an ELAN0100 in my new ASUS zenbook and have the same problem as described for this bug.

cat /proc/bus/input/devices :

I: Bus=0018 Vendor=04f3 Product=0401 Version=0100
N: Name="ELAN0100:00 04F3:0401"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-5/i2c-ELAN0100:00/0018:04F3:0401.0001/input/input6
U: Uniq=
H: Handlers=mouse0 event6
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=103
B: MSC=10

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.