[SRU] TrackPoint: middle button doesn't work on TrackPoint-compatible device.

Bug #1746002 reported by AaronMa on 2018-01-29
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
AaronMa
linux (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Artful
Undecided
Unassigned
linux-oem (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Artful
Undecided
Unassigned

Bug Description

Lenovo introduced 4 new TrackPoint compatible sticks those only support the minimum commands described in the spec, which has been used in the current Windows driver.

Legacy TrackPoint: 0101 – 0E01

ALPS: 0102 – FF02

ELAN:0103 – FF03

NXP: 0104 – FF04

TrackPoint (ID: 01/02) report 0 button when reading the EXT_BUTTON command.

Setting middle button enabled to make it work.

Upstream patch:
commit f5d07b9e98022d50720e38aa936fc11c67868ece
Author: Aaron Ma <email address hidden>
Date: Fri Jan 19 09:43:39 2018 -0800

    Input: trackpoint - force 3 buttons if 0 button is reported

    Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
    They supposed to reply with 0x02, 0x03, or 0x04 in response to the
    "Read Extended ID" command, so we would know not to try certain extended
    commands. Unfortunately even some trackpoints reporting the original IBM
    version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
    Extended Buttons" command:

     thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
     thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE

     psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0

    Since there are no trackpoints without buttons, let's assume the trackpoint
    has 3 buttons when we get 0 response to the extended buttons query.

    Signed-off-by: Aaron Ma <email address hidden>
    Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196253
    Cc: <email address hidden>
    Signed-off-by: Dmitry Torokhov <email address hidden>

SRU justification:
==============
[Impact]
Middle button on some TrackPoints with ThinkPad can't work on Ubuntu
16.04.
Lenovo introduced 4 new TrackPoint compatible sticks those only support
minimum commands, Sticks with ID 01/02 reported the external button 0,
TrackPoint always have 3 buttons.

[Fix]
Set 3 buttons when 0 button is reported via PS/2 commands.

[Test Case]
Tested on Finn and E470, middle button works with this patch.

[Regression Potential]
No regression is expected.

This patch had been send to stable kernel, so Bionic should have it
with stable updates.

Aaron Ma (1):
  Input: trackpoint - force 3 buttons if 0 button is reported

 drivers/input/mouse/trackpoint.c | 3 +++
 1 file changed, 3 insertions(+)

AaronMa (mapengyu) on 2018-01-29
tags: added: originate-from-1722312 sutton
Changed in hwe-next:
assignee: nobody → AaronMa (mapengyu)

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 1746002

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
Timo Aaltonen (tjaalton) on 2018-02-02
Changed in linux (Ubuntu Xenial):
status: New → Invalid
Changed in linux-oem (Ubuntu):
status: New → Invalid
Timo Aaltonen (tjaalton) on 2018-02-12
Changed in linux-oem (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
Stefan Bader (smb) on 2018-02-16
Changed in linux-oem (Ubuntu Artful):
status: New → Invalid
Changed in linux (Ubuntu Artful):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (22.0 KiB)

This bug was fixed in the package linux-oem - 4.13.0-1021.23

---------------
linux-oem (4.13.0-1021.23) xenial; urgency=low

  * linux-oem: 4.13.0-1021.23 -proposed tracker (LP: #1748481)

  * Intel 9462 A370:42A4 doesn't work (LP: #1748853)
    - SAUCE: iwlwifi: Adding missing id A370:42A4

  * headset mic can't be detected on two Dell machines (LP: #1748807)
    - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289
    - ALSA: hda - Fix headset mic detection problem for two Dell machines

  * [linux-oem] Use I2C transport for touchpad on Precision M5530 (LP: #1746661)
    - SAUCE: ACPI: Parse entire table as a term_list for Dell XPS 9570 and
      Precision M5530

  * QCA9377 requires more IRAM banks for its new firmware (LP: #1748345)
    - SAUCE: ath10k: change QCA9377 IRAM back to 9

  * TrackPoint: middle button doesn't work on TrackPoint-compatible device.
    (LP: #1746002)
    - Input: trackpoint - force 3 buttons if 0 button is reported

  * [linux-oem] Fix out of bound VBT pin on CNP (LP: #1746411)
    - drm/i914/bios: amend child device config parameters
    - drm/i915/bios: document BDB versions of child device config fields
    - drm/i915/bios: remove the raw version of child device config
    - drm/i915/bios: add legacy contents to common child device config
    - drm/i915/bios: throw away high level child device union
    - drm/i915/bios: throw away struct old_child_dev_config
    - drm/i915/bios: document child device config dvo_port values a bit better
    - drm/i915/bios: group device type definitions together
    - drm/i915/bios: throw away unused DVO_* macros
    - drm/i915/bios: drop the rest of the p_ prefixes from pointers
    - drm/i915/cnl: Don't trust VBT's alternate pin for port D for now.
    - drm/i915/cnl: Map VBT DDC Pin to BSpec DDC Pin.
    - drm/i915/bios: split up iboost to hdmi and dp bitfields
    - drm/i915/bios: add DP max link rate to VBT child device struct
    - drm/i915/cnp: Ignore VBT request for know invalid DDC pin.
    - drm/i915/cnp: Properly handle VBT ddc pin out of bounds.

  * Miscellaneous upstream changes
    - Rebase to 4.13.0-35.39
    - [Config] update configs following rebase to 4.13.0-35.39
    - [oem config] Keep ignoring retpoline

  [ Ubuntu: 4.13.0-35.39 ]

  * linux: 4.13.0-35.39 -proposed tracker (LP: #1748743)
  * CVE-2017-5715 (Spectre v2 Intel)
    - Revert "UBUNTU: SAUCE: turn off IBPB when full retpoline is present"
    - SAUCE: turn off IBRS when full retpoline is present
    - [Packaging] retpoline files must be sorted
    - [Packaging] pull in retpoline files

  [ Ubuntu: 4.13.0-34.37 ]

  * linux: 4.13.0-34.37 -proposed tracker (LP: #1748475)
  * libata: apply MAX_SEC_1024 to all LITEON EP1 series devices (LP: #1743053)
    - libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
  * KVM patches for s390x to provide facility bits 81 (ppa15) and 82 (bpb)
    (LP: #1747090)
    - KVM: s390: wire up bpb feature
  * artful 4.13 i386 kernels crash after memory hotplug remove (LP: #1747069)
    - Revert "mm, memory_hotplug: do not associate hotadded memory to zones until
      online"
  * CVE-2017-5715 (Spectre v2 Intel)
    - x86/feature: Enable the x86 ...

Changed in linux-oem (Ubuntu Xenial):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
AaronMa (mapengyu) on 2018-02-22
tags: added: verification-done-xenial
removed: verification-needed-xenial
AaronMa (mapengyu) on 2018-02-22
description: updated
summary: - TrackPoint: middle button doesn't work on TrackPoint-compatible device.
+ [SRU] TrackPoint: middle button doesn't work on TrackPoint-compatible
+ device.
Stefan Bader (smb) 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-artful' to 'verification-done-artful'. If the problem still exists, change the tag 'verification-needed-artful' to 'verification-failed-artful'.

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-artful
AaronMa (mapengyu) on 2018-03-20
tags: added: verification-done-artful
removed: verification-needed-artful
Changed in hwe-next:
status: New → Fix Released
Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (18.9 KiB)

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

---------------
linux (4.13.0-38.43) artful; urgency=medium

  * linux: 4.13.0-38.43 -proposed tracker (LP: #1755762)

  * Servers going OOM after updating kernel from 4.10 to 4.13 (LP: #1748408)
    - i40e: Fix memory leak related filter programming status
    - i40e: Add programming descriptors to cleaned_count

  * [SRU] Lenovo E41 Mic mute hotkey is not responding (LP: #1753347)
    - platform/x86: ideapad-laptop: Increase timeout to wait for EC answer

  * fails to dump with latest kpti fixes (LP: #1750021)
    - kdump: write correct address of mem_section into vmcoreinfo

  * headset mic can't be detected on two Dell machines (LP: #1748807)
    - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289
    - ALSA: hda - Fix headset mic detection problem for two Dell machines
    - ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines

  * CIFS SMB2/SMB3 does not work for domain based DFS (LP: #1747572)
    - CIFS: make IPC a regular tcon
    - CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl
    - CIFS: dump IPC tcon in debug proc file

  * i2c-thunderx: erroneous error message "unhandled state: 0" (LP: #1754076)
    - i2c: octeon: Prevent error message on bus error

  * hisi_sas: Add disk LED support (LP: #1752695)
    - scsi: hisi_sas: directly attached disk LED feature for v2 hw

  * EDAC, sb_edac: Backport 1 patch to Ubuntu 17.10 (Fix missing DIMM sysfs
    entries with KNL SNC2/SNC4 mode) (LP: #1743856)
    - EDAC, sb_edac: Fix missing DIMM sysfs entries with KNL SNC2/SNC4 mode

  * [regression] Colour banding and artefacts appear system-wide on an Asus
    Zenbook UX303LA with Intel HD 4400 graphics (LP: #1749420)
    - drm/edid: Add 6 bpc quirk for CPT panel in Asus UX303LA

  * DVB Card with SAA7146 chipset not working (LP: #1742316)
    - vmalloc: fix __GFP_HIGHMEM usage for vmalloc_32 on 32b systems

  * [Asus UX360UA] battery status in unity-panel is not changing when battery is
    being charged (LP: #1661876) // AC adapter status not detected on Asus
    ZenBook UX410UAK (LP: #1745032)
    - ACPI / battery: Add quirk for Asus UX360UA and UX410UAK

  * ASUS UX305LA - Battery state not detected correctly (LP: #1482390)
    - ACPI / battery: Add quirk for Asus GL502VSK and UX305LA

  * support thunderx2 vendor pmu events (LP: #1747523)
    - perf pmu: Extract function to get JSON alias map
    - perf pmu: Pass pmu as a parameter to get_cpuid_str()
    - perf tools arm64: Add support for get_cpuid_str function.
    - perf pmu: Add helper function is_pmu_core to detect PMU CORE devices
    - perf vendor events arm64: Add ThunderX2 implementation defined pmu core
      events
    - perf pmu: Add check for valid cpuid in perf_pmu__find_map()

  * lpfc.ko module doesn't work (LP: #1746970)
    - scsi: lpfc: Fix loop mode target discovery

  * Ubuntu 17.10 crashes on vmalloc.c (LP: #1739498)
    - powerpc/mm/book3s64: Make KERN_IO_START a variable
    - powerpc/mm/slb: Move comment next to the code it's referring to
    - powerpc/mm/hash64: Make vmalloc 56T on hash

  * ethtool -p fails to light NIC LED on HiSilicon D05 systems (LP: #1748567)
    - net...

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

Other bug subscribers