[Thinkpad T450s] Click lock effect on trackpoint left button when touchpad is disabled

Bug #1694225 reported by Rashi
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

The disabled touchpad of my Thinkpad T450s sometimes triggers a click lock when I touch it with my palm. This is typical when I'm reaching to click the trackpoint's (red pointing stick) left button.

Reproduction steps:
1. Disable the touchpad via Ubuntu's "Mouse & Touchpad" setting.

2. Place and hold two fingers in contact with the touchpad.

3. Click then release the trackpoint's left button once while the cursor is on the desktop area. Then immediately move the cursor with the pointing stick.

4. If the click lock effect gets triggered, a selection would have been made and dragged on the desktop area. If the click lock doesn't happen, repeat step 3.

The evtest log on the trackpoint:
$evtest /dev/input/event15

Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x2 product 0xa version 0x0
Input device name: "TPPS/2 IBM TrackPoint"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
Properties:
  Property type 0 (INPUT_PROP_POINTER)
  Property type 5 (INPUT_PROP_POINTING_STICK)
Testing ... (interrupt to exit)
Event: time 1496047216.720823, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1496047216.720823, -------------- SYN_REPORT ------------
Event: time 1496047216.778898, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0
Event: time 1496047216.778898, -------------- SYN_REPORT ------------
Event: time 1496047220.234518, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1496047220.234518, -------------- SYN_REPORT ------------

If the click lock is not triggered, you would see BTN_LEFT's value 1 & 0:
Event: time 1496047216.720823, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
Event: time 1496047216.778898, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0

But if the click lock is triggered, you would only see value 1:
Event: time 1496047220.234518, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1

I am guessing "value 0" means release the button. So when click lock is happening, the button left is not released at all, thus it's producing "hold the button" effect.

This issue doesn't happen with Windows. I can confirm it happens on Ubuntu v17/v16, Kubuntu, Ubuntu Mate, Xubuntu, Lubuntu, Linux Mint, Fedora, and Open Suse.

Also, the issue doesn't occur on older thinkpad models which doesn't use the same clickpad, e.g. T430 or X230.

WORKAROUND: Execute at a terminal:
sudo rmmod psmouse && sudo modprobe psmouse proto=imps

---
ApportVersion: 2.20.7-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: ubuntu 3980 F.... pulseaudio
 /dev/snd/controlC0: ubuntu 3980 F.... pulseaudio
CasperVersion: 1.387
CurrentDesktop: ubuntu:GNOME
DistroRelease: Ubuntu 17.10
LiveMediaBuild: Ubuntu 17.10 "Artful Aardvark" - Release amd64 (20171018)
MachineType: LENOVO 20BX001LUS
Package: linux (not installed)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: file=/cdrom/preseed/username.seed boot=casper initrd=/casper/initrd.lz quiet splash --- maybe-ubiquity
ProcVersionSignature: Ubuntu 4.13.0-16.19-generic 4.13.4
RelatedPackageVersions:
 linux-restricted-modules-4.13.0-16-generic N/A
 linux-backports-modules-4.13.0-16-generic N/A
 linux-firmware 1.169
Tags: artful
Uname: Linux 4.13.0-16-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 03/16/2017
dmi.bios.vendor: LENOVO
dmi.bios.version: JBET64WW (1.28 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20BX001LUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0E50510 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrJBET64WW(1.28):bd03/16/2017:svnLENOVO:pn20BX001LUS:pvrThinkPadT450s:rvnLENOVO:rn20BX001LUS:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad T450s
dmi.product.name: 20BX001LUS
dmi.product.version: ThinkPad T450s
dmi.sys.vendor: LENOVO

Revision history for this message
Rashi (rashi999) wrote :

Found out it's kernel issue:
https://bugzilla.redhat.com/show_bug.cgi?id=1313939#c86

Kernel v4.12 would fix the issue. I hope ubuntu will get the kernel fix too.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Revision history for this message
Anders Kaseorg (andersk) wrote :

I have the same problem on a ThinkPad Yoga 14 20FY. I can reproduce it with the touchpad disabled as described in this report. However, I find it much easier to reproduce (nearly 100% of the time) with the touchpad enabled, as follows:

1. With my left finger, hold down the trackpoint’s left button.
2. With my right finger, move the pointer with the trackpad.
3. Release my right finger from the trackpad.
4. Release my left finger from the button. The button has become “stuck” down!
5. Put a finger back on the trackpad. Now the earlier button release gets recognized.

evtest on the trackpoint (ETPS/2 Elantech TrackPoint) shows that the trackpoint knows the button is pressed at step 1 and released at step 4, but evtest on the touchpad (ETPS/2 Elantech Touchpad) shows that the touchpad thinks another copy of the button has been pressed at step 1 and not released until step 5.

The problem is still present in kernel 4.12-rc6 from the mainline archive. (I haven’t been able to figure out if enabling the new drivers in 4.12 is supposed to require manual configuration, but simply booting into the new kernel didn’t fix it.)

Revision history for this message
Rashi (rashi999) wrote :

@anders:
Have you tried the kernel 4.12 on fedora?

If you still see the issue on fedora, I think the kernel v4.12 fix from redhat/fedora only solves issue in synaptics trackpad (my T450s uses synaptics trackpad so it works on my side).

Revision history for this message
Rashi (rashi999) wrote :

I just upgraded the kernel to 4.12.2, the issue is not fixed yet. I guess the fedora fix is not backported to kernel's mainline release.

Revision history for this message
James Ward (jamesward) wrote :

I tried the latest Fedora Rawhide and still had this issue. So perhaps there was some other way you fully disabled the touchpad?

Revision history for this message
Rashi (rashi999) wrote :

^Probably your laptop has Elan trackpad? It seems the fedora patch only works for Synaptics trackpad.

Revision history for this message
James Ward (jamesward) wrote :

Here is what I'm seeing in dmesg:

[ 2.827809] psmouse serio1: synaptics: queried max coordinates: x [..5676], y
 [..4758]
[ 2.859072] psmouse serio1: synaptics: queried min coordinates: x [1266..], y
 [1096..]
[ 2.920584] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b
1, caps: 0xf008a3/0x943300/0x12e800/0x410000, board id: 3053, fw id: 2491654
[ 2.920586] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
[ 2.959657] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input5

Revision history for this message
James Ward (jamesward) wrote :

I'm not sure why but a workaround is to run:

sudo rmmod psmouse && sudo modprobe psmouse proto=imps

Then the touchpad gets recognized as:

I: Bus=0011 Vendor=0002 Product=0001 Version=0000
N: Name="PS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input19
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=1
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

This prevents the lock effect from happening.

Revision history for this message
Rashi (rashi999) wrote :

Hi James,

Seems that command solves the issue but there is a drawback, it disables the touchpad completely. Even "Enable Touchpad" option in the mouse & touchpad GUI setting and xinput set-prop "Device Enabled" command won't work.

Revision history for this message
James Ward (jamesward) wrote :

In my case I want to disable the touchpad completely :)

Revision history for this message
penalvch (penalvch) wrote :

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

In order to provide helpful debugging information, could you please run the following command once from a terminal:
apport-collect 1694225

When reporting bugs in the future, please do so via the above method. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

affects: xserver-xorg-input-synaptics (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
tags: removed: touchpad trackpoint
Revision history for this message
Rashi (rashi999) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected artful
description: updated
Revision history for this message
Rashi (rashi999) wrote : CRDA.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : IwConfig.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : JournalErrors.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : Lspci.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : Lsusb.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : ProcModules.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : PulseList.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : RfKill.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : UdevDb.txt

apport information

Revision history for this message
Rashi (rashi999) wrote : WifiSyslog.txt

apport information

Revision history for this message
penalvch (penalvch) wrote :

Rashi, in order to allow additional upstream mainline kernel developers to examine the issue, at your earliest convenience, could you please test the latest mainline kernel available from http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D ? Please keep in mind the following:
1) The one to test is at the very top line at the top of the page (not the daily folder).
2) The release names are irrelevant.
3) The folder time stamps aren't indicative of when the kernel actually was released upstream.
4) Install instructions are available at https://wiki.ubuntu.com/Kernel/MainlineBuilds .

If testing on your main install would be inconvenient, one may:
1) Install Ubuntu to a different partition and then test this there.
2) Backup, or clone the primary install.

If the latest kernel did not allow you to test to the issue (ex. you couldn't boot into the OS) please make a comment in your report about this, and continue to test the next most recent kernel version until you can test to the issue. Once you've tested the mainline kernel, please comment on which kernel version specifically you tested. If this issue is not reproducible in the mainline kernel, please add the following tags by clicking on the yellow circle with a black pencil icon, next to the word Tags, located at the bottom of the report description:
kernel-fixed-upstream
kernel-fixed-upstream-X.Y-rcZ

Where X, and Y are the first two numbers of the kernel version, and Z is the release candidate number if it exists.

If the issue is reproducible with the mainline kernel, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-X.Y-rcZ

Please note, an error to install the kernel does not fit the criteria of kernel-bug-exists-upstream.

Also, you don't need to apport-collect further unless specifically requested to do so.

It is most helpful that after testing of the latest mainline kernel is complete, you mark this report Status Confirmed.

Lastly, to keep this issue relevant to upstream, please continue to test the latest mainline kernel as it becomes available.

Thank you for your help.

description: updated
tags: added: bios-outdated-1.30
Revision history for this message
Rashi (rashi999) wrote :

Hi Christopher, is it possible to install this latest kernel on Ubuntu Live? Currently I don't have ubuntu installed on my laptop anymore (I've switched to arch linux (kernel v4.13.x) since it has no this issue).

Revision history for this message
Rashi (rashi999) wrote :

Hi, I just tested the issue with Ubuntu 18.04 LTS which using Linux kernel v4.15.0-20, and unfortunately the issue still exists.

I wonder if you can compare the ubuntu kernel code with kernel from fedora or arch linux since they have no issue.

penalvch (penalvch)
tags: added: bionic
Revision history for this message
Rashi (rashi999) wrote :

Just tried Ubuntu 19.04 with kernel v5.0.0-13, looks like the problem had been fixed there as I can't reproduce the issue.

However the issue is still there in Ubuntu 18.04.2 LTS with kernel v4.18.0-15.

Revision history for this message
penalvch (penalvch) wrote :
Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
James Ward (jamesward) wrote :

Tried this on 19.04 and it still isn't fixed for me.

Revision history for this message
penalvch (penalvch) wrote :

James Ward, given this report is closed and resolved for the original reporter, you have a different problem then what is scoped to here.

Hence, it will help immensely if you use Ubuntu with the computer the problem is reproducible with and file a new report via a terminal to provide necessary debugging logs:
ubuntu-bug linux

Please feel free to subscribe me to it.

Revision history for this message
Rashi (rashi999) wrote :

Just want to add that in linux mint v19.1 with kernel v4.15.0-20-generic, the issue had been fixed too. Looks like linux mint kernel is different than ubuntu's.

Brad Figg (brad-figg)
tags: added: cscc
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.