left TPP/2 IBM TrackPoint "sticks on" randomly (X250 15.04)

Bug #1506817 reported by Jont Allen on 2015-10-16
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

I have reported the details of this problem at
https://answers.launchpad.net/ubuntu-certification/+question/272142

As summarized on that question:

X250 analysis:
 I used the command on the X250
  evtest /dev/input/event15 | grep EV_KEY

 I can see the bug, as follows:

I click on button 1 (left) over and over. When I push the button down,
I see it register as 1,
and when I let go of the key, it registers as a 0.

The bug is that every now and then (once every 20 clicks), when I let go
of the left mouse button (BIN_LEFT), it does not return to state 0 (it stays in state 1).

This is highly random, but cant be triggered more often, by dragging a window, which I do with BIN_LEFT.

I am using a brand new X250, purchased in late July 2015. The system was returned 3 times to IBM repair as I assumed
this was a hardware error. Now with the above, it seems clear that this is a software issue.

Ubuntu 15.04

apt-cache policy xserver-xorg-input-synaptics
xserver-xorg-input-synaptics:
  Installed: 1.8.1-1ubuntu1
  Candidate: 1.8.1-1ubuntu1
  Version table:
 *** 1.8.1-1ubuntu1 0

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: xserver-xorg-input-synaptics 1.8.1-1ubuntu1
ProcVersionSignature: Ubuntu 3.19.0-30.34-generic 3.19.8-ckt6
Uname: Linux 3.19.0-30-generic x86_64
ApportVersion: 2.17.2-0ubuntu1.5
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Oct 16 04:52:03 2015
DistUpgraded: Fresh install
DistroCodename: vivid
DistroVariant: ubuntu
InstallationDate: Installed on 2015-08-15 (61 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
MachineType: LENOVO 20CMCTO1WW
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-30-generic.efi.signed root=UUID=5718b40f-944e-47a3-acda-04e29336d0bc ro quiet splash vt.handoff=7
SourcePackage: xserver-xorg-input-synaptics
UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/19/2015
dmi.bios.vendor: LENOVO
dmi.bios.version: N10ET36W (1.15 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20CMCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: 0B98417 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN10ET36W(1.15):bd06/19/2015:svnLENOVO:pn20CMCTO1WW:pvrThinkPadX250:rvnLENOVO:rn20CMCTO1WW:rvr0B98417WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20CMCTO1WW
dmi.product.version: ThinkPad X250
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.12.1+15.04.20150410.1-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.60-2
version.libgl1-mesa-dri: libgl1-mesa-dri 10.5.9-2ubuntu1~vivid2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 10.5.9-2ubuntu1~vivid2
version.xserver-xorg-core: xserver-xorg-core 2:1.17.1-0ubuntu3.1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.9.0-1ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.5.0-1ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917-1~exp1ubuntu2.2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.11-1ubuntu2build1
xserver.bootTime: Fri Oct 16 03:31:10 2015
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
 product id 1079
 vendor LGD
xserver.version: 2:1.17.1-0ubuntu3.1

Jont Allen (jontalle) wrote :
Download full text (4.0 KiB)

Hello, Jont:

I'm unsure why you wrote to me, but I'm unable to help. Good luck elsewhere!

Cheers from
--Dick Miller, Partner, MMS <<email address hidden>
<mailto:<email address hidden>>>

On 10/16/2015 06:11 AM, Jont Allen wrote:
> Public bug reported:
>
> I have reported the details of this problem at
> https://answers.launchpad.net/ubuntu-certification/+question/272142
>
> As summarized on that question:
>
> X250 analysis:
> I used the command on the X250
> evtest /dev/input/event15 | grep EV_KEY
>
> I can see the bug, as follows:
>
> I click on button 1 (left) over and over. When I push the button down,
> I see it register as 1,
> and when I let go of the key, it registers as a 0.
>
> The bug is that every now and then (once every 20 clicks), when I let go
> of the left mouse button (BIN_LEFT), it does not return to state 0 (it stays in state 1).
>
> This is highly random, but cant be triggered more often, by dragging a
> window, which I do with BIN_LEFT.
>
> I am using a brand new X250, purchased in late July 2015. The system was returned 3 times to IBM repair as I assumed
> this was a hardware error. Now with the above, it seems clear that this is a software issue.
>
> Ubuntu 15.04
>
> apt-cache policy xserver-xorg-input-synaptics
> xserver-xorg-input-synaptics:
> Installed: 1.8.1-1ubuntu1
> Candidate: 1.8.1-1ubuntu1
> Version table:
> *** 1.8.1-1ubuntu1 0
>
> ProblemType: Bug
> DistroRelease: Ubuntu 15.04
> Package: xserver-xorg-input-synaptics 1.8.1-1ubuntu1
> ProcVersionSignature: Ubuntu 3.19.0-30.34-generic 3.19.8-ckt6
> Uname: Linux 3.19.0-30-generic x86_64
> ApportVersion: 2.17.2-0ubuntu1.5
> Architecture: amd64
> CurrentDesktop: Unity
> Date: Fri Oct 16 04:52:03 2015
> DistUpgraded: Fresh install
> DistroCodename: vivid
> DistroVariant: ubuntu
> InstallationDate: Installed on 2015-08-15 (61 days ago)
> InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
> MachineType: LENOVO 20CMCTO1WW
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-30-generic.efi.signed root=UUID=5718b40f-944e-47a3-acda-04e29336d0bc ro quiet splash vt.handoff=7
> SourcePackage: xserver-xorg-input-synaptics
> UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
> UpgradeStatus: No upgrade log present (probably fresh install)
> dmi.bios.date: 06/19/2015
> dmi.bios.vendor: LENOVO
> dmi.bios.version: N10ET36W (1.15 )
> dmi.board.asset.tag: Not Available
> dmi.board.name: 20CMCTO1WW
> dmi.board.vendor: LENOVO
> dmi.board.version: 0B98417 WIN
> dmi.chassis.asset.tag: No Asset Information
> dmi.chassis.type: 10
> dmi.chassis.vendor: LENOVO
> dmi.chassis.version: None
> dmi.modalias: dmi:bvnLENOVO:bvrN10ET36W(1.15):bd06/19/2015:svnLENOVO:pn20CMCTO1WW:pvrThinkPadX250:rvnLENOVO:rn20CMCTO1WW:rvr0B98417WIN:cvnLENOVO:ct10:cvrNone:
> dmi.product.name: 20CMCTO1WW
> dmi.product.version: ThinkPad X250
> dmi.sys.vendor: LENOVO
> version.compiz: compiz 1:0.9.12.1+15.04.20150410.1-0ubuntu1
> version.ia32-libs: ia32-libs N/A
> version.libdrm2: libdrm2 2.4.60-2
> version.libgl1-mesa-dri: libgl1-mesa-dri 10.5.9-2ubuntu1~vivid2
> version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
> version.libgl...

Read more...

Jont Allen (jontalle) wrote :

it seems that your attached to this bug report. I have no idea why. I
dont think I emailed you, launchpad did this.
If you dont understand what I saying, just ignore it. Its is not important.

Jont Allen

On 10/16/2015 02:25 PM, A. Richard Miller wrote:
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1506817

Jont Allen (jontalle) wrote :

I upgraded 15.05 with all the latest patches as of Oct 16, 2015.

The left-mouse button bug is not fixed.

apt-show-versions xserver-xorg-input-synaptics
xserver-xorg-input-synaptics:amd64/vivid 1.8.1-1ubuntu1 uptodate

Po-Hsu Lin (cypressyew) wrote :

Target this bug to the kernel, as from bug 1430846, it's reported that the clickpad works with Vivid kernel on X250.

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: bios-outdated-1.17
no longer affects: xserver-xorg-input-synaptics (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete

Thank you Christopher
Will do the BIOS update ASAP, but it may take a few days. My schedule is
tight at the moment.
I'll get back to you on the outcome.
Thank you,
Jont Allen

On 10/20/2015 09:53 PM, Christopher M. Penalver wrote:
> Jont Allen, thank you for reporting this and helping make Ubuntu better.
>
> As per http://support.lenovo.com/us/en/products/laptops-and-
> netbooks/thinkpad-x-series-laptops/thinkpad-x250 an update to your
> computer's buggy and outdated BIOS is available (1.17). If you update to
> this following https://help.ubuntu.com/community/BIOSUpdate does it
> change anything?
>
> If it doesn't, could you please both specify what happened, and provide the output of the following terminal command:
> sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
>
> For more on BIOS updates and linux, please see
> https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette
> .
>
> Please note your current BIOS is already in the Bug Description, so
> posting this on the old BIOS would not be helpful. As well, you don't
> have to create a new bug report.
>
> Once the BIOS is updated, if the problem is still reproducible, and the
> information above is provided, then please mark this report Status
> Confirmed. Otherwise, please mark this as Invalid.
>
> Thank you for your understanding.
>
> ** Tags added: bios-outdated-1.17
>
> ** No longer affects: xserver-xorg-input-synaptics (Ubuntu)
>
> ** Changed in: linux (Ubuntu)
> Importance: Undecided => Low
>
> ** Changed in: linux (Ubuntu)
> Status: Confirmed => Incomplete
>

Jont Allen (jontalle) wrote :

Dear Christopher,
I have now upgraded my X250 bios to version 1.17. I downloaded the bios from Lenovo
 NIOET38W (1.17)
and installed it on my X250.
I then verified the the old bios (1.15) had been upgraded to 1.17.
I did this by booting into the bios, and checking the version number.

I then again verified the installed bios version and release data:
 sudo dmidecode -s bios-version
 N10ET38W (1.17)
 sudo dmidecode -s bios-release-date
 08/20/2015

I then rebooted my X250, and verified that the bug of the mouse-button click (bug 1506817)
is not fixed by updating the BIOS.

So the problem remains active.

Summary:
The bios is updated and verified, and the mouse bug is still present and
Confirmed

Jont Allen

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

Is this piece of information relevent to my problem?

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X250#Mouse

Mouse

The touchpad and TrackPoint work out of the box, but the physical buttons for the trackpoint do not. You will need to install xf86-input-synaptics.
Note: The most recent Linux kernels (at least 4.0.5) support TrackPoint buttons out of the box. The following information pertains only to older versions of the kernel.

If you would rather not install a recent kernel, there is a work around for Linux 3.19.2-ARCH. If you add options psmouse proto=imps to /etc/modprobe.d/x250.conf, you can force the mouse module to use a more basic protocol than the built in one for the TrackPoint, which needs a patch. The effect is that the touchpad and mouse are treated as one device, but synaptics is not supported. If you want two finger scrolling, for example, you will need to either deal with the broken TrackPoint buttons are install the new module.

Jont ALlen

Jont Allen, could you please test the latest upstream kernel available from the very top line at the top of the page from http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D (the release names are irrelevant for testing, and please do not test the daily folder)? Install instructions are available at https://wiki.ubuntu.com/Kernel/MainlineBuilds . This will allow additional upstream developers to examine the issue.

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 upstream kernel, please comment on which kernel version specifically you tested. If this issue is fixed 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, Y, and Z are numbers corresponding to the kernel version.

If the mainline kernel does not fix the issue, 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.

Once testing of the latest upstream kernel is complete, please mark this report's Status as Confirmed. Please let us know your results.

Thank you for your understanding.

tags: added: latest-bios-1.17
removed: bios-outdated-1.17
Changed in linux (Ubuntu):
importance: Low → Medium
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

Hi,
I now have a "fix."

Summary:
The synaptics drive (provided by 15.04 kernel) seems to be broken. I have replaced it with the stock driver, and now the problems is gone.
While this may not be a fix for everyone, but its a great fix for me. I'm now able to use the x250, and the mouse is rock-solid working, after 24 hours of testing.

The one major issue with this fix is that the touch pad is disabled.
But I cant use the touchpad anyway, so this fits my needs perfectly.

Why cant I use the touchpad?
When I type, the left pad of my right hand, between the thumb and the wrist, touches
the touchpad, causing the mouse to go crazy. This is because I touch type, vs peck with raised hands. Therefore the touch
pad is dysfunctional, and I must turn it off.

What is the fix for the mouse button "sticking"?
I followed up on the lead provided at:
https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X250#Mouse
   which also references the much older:
  http://vimtips.org/2015/02/20/ubuntu-1410-and-lenovo-thinkpad-x250/
which solved the mouse-sicking problem, at the price of loosing the touchpad function (which I didnt want anyway).

Here is the procedure , step by step:

1) /etc/modprobe.d/psmouse.conf
Add to this file
options psmouse proto=imps

2)create a file
/usr/share/X11/xorg.conf.d/90-evdev.conf
containing:

Section "InputClass"
    Identifier "Touchpad/TrackPoint"
    MatchProduct "PS/2 Synaptics TouchPad"
    MatchDriver "evdev"
    Option "EmulateWheel" "1"
    Option "EmulateWheelButton" "2"
    Option "Emulate3Buttons" "0"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

3) Reboot

Problem solved.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Jont Allen, to clarify, for your WORKAROUND do you only need to perform:
1) /etc/modprobe.d/psmouse.conf
Add to this file
options psmouse proto=imps

or do you have to do 2) also?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

I just looked at that file:
/usr/share/X11/xorg.conf.d/90-evdev.conf
and it turns out, I comment out every line.
I was wondering the same thing you are.

So step 2 is NOT necessary.
While the file exists, it contains comment lines only,
so (I suspect) it could be deleted with no impact.

Jont Allen, could you please advise to the results of https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817/comments/11 ?

Jont Allen (jontalle) wrote :

Christopher,
Here is an important update:

When you sent this email on Jan 21, my X250 was back in Memphis being
repaired (A problem with the screen blanking off, randomly). Thus I
couldn't test anything at that time.

I now have the X250 back in my hands and the screen problems is fixed.

However, today (Feb 4, 2016) the mouse sticking problem has returned!!!
This occured immedideatly following a system update, which required a
reboot. Following the reboot, the mouse sticking problem returned.

I'm not sure how to evaluate the situation given the random return of
the problem. I verified that the two modifications were in place

1) /etc/modprobe.d/psmouse.conf
options psmouse proto=imps
2) /usr/share/X11/xorg.conf.d/90-evdev.conf
Section "InputClass"
     Identifier "Touchpad/TrackPoint"
     MatchProduct "PS/2 Synaptics TouchPad"
     MatchDriver "evdev"
     Option "EmulateWheel" "1"
     Option "EmulateWheelButton" "2"
     Option "Emulate3Buttons" "0"
     Option "XAxisMapping" "6 7"
     Option "YAxisMapping" "4 5"
EndSection
3) Reboot

but with these modifications, the left mouse button now sticks on about
once every 20 clicks (a rough estimate), rendering the computer
virtually useless for everyday use.

This problem was resolved since my first posting, but has now creeped
back to haunt me.

Any advice you can give me would be appreciated.

My previous conclusion was that the synaptics driver is the source of
this problem. There is evidence that it is now present, but I'm not in a
position to spend a day debugging this right now. When I boot the
computer, before I login, the synaptics pad is live. I have turned it
off in the BIOS, yet it lives following a boot. Once I have logged in,
it is turned off. I suspect this is a clue, but I dont know how to read it.

The situation is bad enough that I may need to switch back to my
previous X220i computer, which is an equally bad alternative.
The X220i runs 14.04 LS, and does not have the mouse-sticking problem,
as it does not have the synaptics driver (as best I know).

The X250 is using Ubuntu 15.04
Linux near 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016
x86_64 x86_64 x86_64 GNU/Linux

I figured out how to boot the X250 from the X220i hard drive using a USB
adapter, which seems a useful debugging technique.

I hope my summary above is both correct and adequate.

On 01/21/2016 06:41 PM, Christopher M. Penalver wrote:
> Jont Allen, to clarify, for your WORKAROUND do you only need to perform:
> 1) /etc/modprobe.d/psmouse.conf
> Add to this file
> options psmouse proto=imps
>
> or do you have to do 2) also?
>
> ** Changed in: linux (Ubuntu)
> Status: Confirmed => Incomplete
>

Jont Allen (jontalle) wrote :

Update:
As requested in comment # 11, I have downloaded the latest kernel and installed it on my X250.
The version I have installed is
uname -a
Linux near 4.5.0-040500rc3-generic #201602071930 SMP Mon Feb 8 00:34:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

There was no issue downloading this kernel and the headers. I then rebooted and via grub, was able to boot the kernel.
There were no issues.

I have been using the kernel for 5 or 6 hours, and have not seen any mouse click issues.
It seems to have solved the problem.

With the previous kernel vmlinuz-4.2.0-27-generic.efi.signed I was seeing mouse click errors at least once per min, and
frequently much more (up to 50% of the mouse clicks)

So I feel it is save to say that the new kernel has solved the problem.

Whats next?
So the next think I will try is to book the 4.2.027 kernal and see the problem return.
Then I will remove my "hacks" to the setup,
I will also turn back on the touch-pad in the bios (right now its turned off).

Thus I will return the machine to its normal state and verify that the new kernel is still working (no mouse click errors).
This will take me a day to two.
Then I will deliver a final report.

So awaiting that final report, it seems the problem is solved (tentatively pending further notice).

END

Changed in linux (Ubuntu):
status: Incomplete → New
status: New → Confirmed
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

Final report:

1) I have removed my hacks to the mouse config setup and rebooted several kernels. The kernel used by 15.04
is buggy and does not properly support
      MatchProduct "PS/2 Synaptics TouchPad"
and
      Option "Emulate3Buttons" "0"

The buttons work properly with earlier kernels
3.19.0-42-generic
and later kernels
4.5.0-040500rc3-generic
but not with
4.2.0-30-generic

To fully work, it was necessary to upgrade the BIOS (described earlier in this bug report) and then turn off the
synaptics TouchPad in the bios setup.

If the touchpad is left on (in the BIOS), then the mouse jumps around every now and then, when the palm of my right hand
touched the touchpad.
The software suppression of the touch-pad was not sufficient to keep the mouse from randoming leaving focus of the window I was typing in. For example, I would be responding to an email and the focus would be lost at random times, because my palm would touch the synaptics touch-pad. This rendered the touchpad unuseable.
Hence I found it necessary to turn it off, in the BIOS

Summary: With the early 3.19 and later 4.5 kernels, the mouse button sticking problem is resolved, but with the 4.2 kernel,
it is sticking on, when pressed, at random times. This renders the computer unuseable for daily work.

Thus the problem seems to be solved with the 4.5 kernels (and with the older kernel, with the further requirement I turn off
the touchpad in the BIOS.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Jont Allen, the next step is to fully reverse commit bisect from kernel 4.2 to 4.5-rc3 in order to identify the last bad commit, followed immediately by the first good one. Once this good commit has been identified, it may be reviewed for backporting. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection#How_do_I_reverse_bisect_the_upstream_kernel.3F ?

Please note, finding adjacent kernel versions is not fully commit bisecting.

After the fix commit (not kernel version) has been identified, then please mark this report Status Confirmed.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

tags: added: kernel-fixed-upstream kernel-fixed-upstream-4.5-rc3 needs-reverse-bisect
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

A lot has happened since I last checked in. Here is a quick Exec Summary:

I was running kernel 4.5-rc3 and everything was great. Then sometime around Feb 3, 2016 (I dont know the exact date),
following an standard upgrade from Ubuntu, the old symptoms (left mouse button sticking) returned.
While I have some theories about what happened, I'll just stick to the facts (aka, synaptic touch pad (TP) bug).

Long story short, I reinstalled 15.10 from scratch on a new hard drive. I went the path of 14.04 -> 15.10, for reasons I wont go into.

So I ended up with a brand new install of 15.10. This also, like the system I abandoned, had the synaptic TP bug.

Next I installed the latest kernel 4.6 (vmlinuz-4.6.0-040600rc1-generic). This also showed the TP bug.

Finally I installed 4.5-rc3 (vmlinuz-4.5.0-040500rc3-generic). Amazing, it worked, and the TP bug was gone!

Summary:
4.5rc3 started failing on 15.10 around Feb 3, following an upgrade, but once I installed it on a fresh system, it started to work.

More very important additional information:

1) It is now very easy to determine if the system will work (no TP bug) or will not work (TP bug) follwoing the boot, but before
login. If the synaptic touchpad responds (the mouse can be moved via the touch pad) BEFORE login, then the TP bug is present.

2) The presents of the TP bug is perfectly correlated with the post-boot/pre-login test (i.e., the presents of the TPad being on, or off.)

3) The X250 BIOS (latest version) has an option to turn off the TPad, and/or the TP mouse.

4) When I turn off the TPad using the BIOS, the non-working kernels ignore this BIOS option. Let me restate that:
When I turn off the TPad using the BIOS, every kernel that has the Pad bug, ignores the BIOS option. Kernel 4.5rc3, which
does not show the TPad bug, honors the BIOS options.

5) If I turn ON the Tpad with 4.5rc3, the TPad bug is present. Note that this demonstrates that 4.5rc3 listens to the BIOS TP options.

Questions to you:
1) What should I do next, given this new information?
2) Has the problem been isolated to the synaptic modules? Is that how the TPad bug returned with the 4.5rc3 kernel?
Opinion: It seems not to be the kernel, but something else, as I was booting 4.5-rc3 when it started failing, around Feb 2.

END

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: bios-outdated-1.21
removed: latest-bios-1.17
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

jba@near:~$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

N10ET38W (1.17 )
08/20/2015

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

jba@near:~$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

N10ET38W (1.17 )
08/20/2015

I manually verified that my present BIOS on the X250 is 1.17 (reboot with F1).

Please, what is the next step?

Jont Allen (jontalle) wrote :

I found the latest BIOS is 1.21

http://support.lenovo.com/us/en/downloads/ds102289

I will upgrade my computer, and then report back on the status.

Jont Allen (jontalle) wrote :

I have updated my bios to 1.21.

sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
N10ET42W (1.21 )
02/26/2016

So this shows that 1.21 is presently installed

Jont Allen (jontalle) wrote :

Nothing seems to have changed since my new BIOS has been installed.
Report 21 stands, unchanged.

Jont Allen, with the options in the BIOS enabled, could you please test the latest mainline kernel (4.6-rc2) and advise to the results?

tags: added: latest-bios-1.21
removed: bios-outdated-1.21
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Po-Hsu Lin (cypressyew) wrote :

Quote from the launchpad answer section:

Dear Chris,
I did what you requested, to upgrade to 4.6.0-rc2
Following that, the left-mouse button remained, but worse it also
returned when I boot 4.5-rc3,
which had been working up to this point, as I described in y report # 21.

See comment 12 in https://answers.launchpad.net/ubuntu-certification/+question/272142

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

Hi Chris,
I upgraded my X250 to Ubuntu 16.04 Beta 2, and the mouse sticking bug remains.
Here are the steps that I took, for clarity:
1) I cloned my hard drive using a USB appliance and the dd command

2) I then put the cloned hard drive in an older Lenovo X201 ThinkPad
The X201 is the system I am now using for day to day work. I have taken the X250 out of service, as it is not usable,
due to the left-mouse-button-sticking (LMBS) issue (the topic of hits thread).

 LMBS = "Left mouse button sticking"

3) I then did an upgrade of the X250 from 15.10 to Ubuntu 16.04-Beta2.

4) I confirmed that the LMBS issue was still present on the X250 (sad but true)

5) I confirmed that the LMBS is NOT present on the X201. Note that the X201 has a TouchPad, and that the X201 BIOS
has an option to turn off the TouchPad, just like the X250.

In summary:
the LMBS is still present on the X250 with 16.04-Beta 2 but is not present on the X201 running 15.10

I have much more information on this now that I have the X201, with its touchpad, with at touchpad BIOS, but I won't
post that right now, until you deem it useful.

My guess is that the firmware on the synaptics touchpad is buggy. For example what is this all about:

$ locate synaptics | grep bug
/usr/share/bug/xserver-xorg-input-synaptics
/usr/share/bug/xserver-xorg-input-synaptics/script

Jont Allen (jontalle) wrote :

This is on the working X201 Thinkpad

dpkg -l|grep synaptics
ii xserver-xorg-input-synaptics-lts-utopic 1.8.1-1ubuntu1~trusty1 amd64 Synaptics TouchPad driver for X.Org server

I'll try the same on the X250 later today

Jont

Jont Allen (jontalle) wrote :

Maybe I am missing something here but on my X201 these two reports seem to be out of sync.
One command says 1.8.2-1 while the other reports 1.8.1-1

This X201 does not have the left-button-sticking bug.

$ apt-cache policy xserver-xorg-input-synaptics
xserver-xorg-input-synaptics:
  Installed: (none)
  Candidate: 1.8.2-1ubuntu1
  Version table:
     1.8.2-1ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages

$ dpkg -l | grep synaptics
ii xserver-xorg-input-synaptics-lts-utopic 1.8.1-1ubuntu1~trusty1 amd64 Synaptics TouchPad driver for X.Org server

Jont Allen (jontalle) wrote :

Here is a summary of the two commands from comment #32 (above) for the X250.

1) The driver is different between the X201 and the X250
1.8.2-1ubuntu1 <-- X201 (Working)
1.8.2-1ubuntu3 <-- X250 (Not working)

2) For the X201 the apt-cache results different (none installed), while for the X250 the driver is installed.
    Installed: (none)
    Candidate: 1.8.2-1ubuntu1 <--- X201

  Installed: 1.8.2-1ubuntu3
  Candidate: 1.8.2-1ubuntu3 <--- X250

apt-cache policy xserver-xorg-input-synaptics
xserver-xorg-input-synaptics:
  Installed: 1.8.2-1ubuntu3
  Candidate: 1.8.2-1ubuntu3
  Version table:
 *** 1.8.2-1ubuntu3 500 1.8.
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

 dpkg -l | grep synaptics
ii xserver-xorg-input-synaptics 1.8.2-1ubuntu3 amd64 Synaptics TouchPad driver for X.Org server

Jont Allen, remaining focused on the scope of this report (X250), could you please test the latest mainline kernel (4.6-rc4) and advise to the results?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

Status of X250 bug:
In comment #29 above, I mentioend that following the install of the latest kernel the
LMBS = "Left mouse button sticking"
bug remained. But unfortunately the working kernel then stopped working, leaving me with not recourse but to abandon
the machine. The X250 is not usable with this but. As I stated in #29 I switched to an old machine. I have many options,
and right now I'm using my old X220i. This has a trackpad, which I can either turn on or off in the BIOS, and when it is on in
the BIOS I can turn it on and off from linux. The X220 is working fine, and the X250 now has the LMBS 100% of the time,
and for all kernels that I boot.
I am happy to continue to pursue this, but have sort of lost hope that this will be fixable, without some major new insight(s).
I say this with insight I have obtained by comparing the X220i behaviour with that of the X250. The BIOS interaction is different, leading me to believe that the BIOS has a bug. It is not possible to turn off the TP with the X250 BIOS, as I can do with my older X201i, and the X220i that I'm presently using for daily work.

Just to remind you, I upgraded the X250 to Ubuntu 16.04 Beta 2. Now the LTS is out, so I will likely upgrade to that.

Right now I'm travelling, so I dont have access to the X250, but when I return home (tomorrow), I will download and boot 4.6-rc4, as you request and post an update.

Jont Allen (jontalle) wrote :

I just installed the latest kernel on the X250
linux-image-4.6.0-040600rc5-generic_4.6.0-040600rc5.201604242031_amd64.deb
I then rebooted into this kernel.

Nothng has changed regarding the bug with the left mouse button.

I then ran the "Software Updater" and installed the latest packages.
Then I rebooted,
Again the bug is still as before, not fixed or modified in any way.
The left mouse button is sticking on, randomly, as before.

As in my previous report, I have turned off the Trackpad in the bios, but its not turned off when I boot the new kernel (or any kernel).

I wonder if this is still a BIOS problem.

root@near:~# dpkg -l|grep "linux\-[a-z]*\-"
ii linux-headers-4.4.0-15 4.4.0-15.31 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-15-generic 4.4.0-15.31 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-21 4.4.0-21.37 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-21-generic 4.4.0-21.37 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-generic 4.4.0.21.22 amd64 Generic Linux kernel headers
ii linux-image-4.4.0-15-generic 4.4.0-15.31 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-21-generic 4.4.0-21.37 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.6.0-040600rc5-generic 4.6.0-040600rc5.201604242031 amd64 Linux kernel image for version 4.6.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-15-generic 4.4.0-15.31 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-21-generic 4.4.0-21.37 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-generic 4.4.0.21.22 amd64 Generic Linux kernel image
ii linux-libc-dev:amd64 4.4.0-21.37 amd64 Linux Kernel Headers for development
ii linux-sound-base 1.0.25+dfsg-0ubuntu5 all base package for ALSA and OSS sound systems

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

Status of left mouse bug sticking on X250:

I am trying to find a way to put my X250 back in service, to replace the X220i that I fell back to given the serious nature of the LMSB (LMBS = "Left mouse button sticking")

1) By switching to a logitech USB mouse I am able to work on the machine.

2) I turned off the TrackPoint (red eraser head mouse) and the TrackPad in the BIOS. However even with the latest BIOS installed (see posting #26 above).

Very important: When the trackpoint and trackpad are turned off in the BIOS, they are not disabled until I login.
This is distinct from the behavior of the X220i for which turning off the TrackPad disables it upon reboot (as it should).

Conclusion: There is a bug in the BIOS in that the settings for the TrackPad and TrackPoint following a boot, are ignored.

3) No combination of new kernels seems to have any effect on the LMBS bug. It seem likely to me that the issue is in the synaptics driver. This driver works fine on the X220i and the X201 (These are older laptops that I have been using after I retired the X250 from service, due to the LMBS problem made the laptop unuseable).

4) When I use the X250 with the Logitech USB mouse, I am able to work (I dont like taking my hands off the keyboard to reach for the mouse, but the LMBS makes using the TrackPoint unuseable, so it must be turned off)

5) There seems to be a new bug with the latest kernels. The screen randomly flashes for a fraction of a second. This happens about every 20 seconds, on average. Sometimes it happens every 5 seconds. This blink of the backlight is most irrititating. I dont think I can get used to this distraction as the screen is very bright, and the blink is impossible to ignore. This started happening with the newer kernels. I dont know exactly when, maybe somewhere around 4.5.

6) I have upgraded the OS to 16.04LTS. All of the above comments apply to 16.04LTS.

7) For daily use I will still be using X220i but at least I can work on the machine as long as I use the Logitech USB mouse, and can tolerate the blinking. This comment was written using the X250 in this mode. The blinking is giving me a headache!

Jont Allen, to clarify, if you have a default install (no manual configuration edits, etc.) and use mainline kernel 4.5-rc3, is the issue not reproducible?

tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-4.6-rc5
removed: kernel-fixed-upstream needs-reverse-bisect
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

Chris,
You asked that I install rc3 or latest, so I installed the latest 4.6-rc5 (not rc3).

There are no manual configs, edits, etc.

Using rc5, the left mouse click bug is still present. The latest kernel did not fix it.

Furthermore,
I just swapped my X250 with my wife's X250 (I swapped hard drives).
So now I'm using a totally different X250 computer. (same brand, model, version, etc).
I did this test after upgrading the BIOS to 1.21 (as I did with the original X250).

This verifies that the left-mouse-sticking problem is present on a different X250 running exactly the same software.
Thus the problem is not the hardware, the left-mouse-button-sticking issue is in the
  Thinkpad model X250 + Ubuntu 16.04LTS + X250 BIOS 1.21

Jont Allen

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

In note #34 you specifically requested that I install 4.6-rc4, but I installed the latest rc5.
Now I just installed 4.6-rc4
rebooted rc4, and indeed nothing is different:
The bug with the left mouse button sticking is still present.

Jont Allen

Jont Allen, I'm inquiring to 4.6-rc3, where this was previously reported to not reproduce the issue. Please speak to that, and not other kernel versions.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :

in message #34 you requested that In install 4.6-rc4
In message #36 I discussed 4.6-rc5, which did not resolve the issue.
in message #34 based on your request, I installed rc4, which did not resolve the issue.
in message #17 I used 4.5-rc3 (NOT 4.6), and it did resolve the issue.
in message #21 I state:
"I was running kernel 4.5-rc3 and everything was great. Then sometime around Feb 3, 2016 (I don't know the exact date),
following an standard upgrade from Ubuntu, the old symptoms (left mouse button sticking) returned."

This abrupt change was not due to a kernel change. I was running 4.5-rc3, before and after

After Feb 3 the X250 was unuseable no matter what I did. If you read the details, I tried all sorts of things. I even
reinstalled the OS from scratch and tried to reinstall 4.5-rc3, from scratch. To no avail. Nothing worked.

NOTE: the USB mouse has always been totally functional, and the trackpad and trackpoint work, but the left mouse button sticks on, rendering the computer useable.

Eventually I was forced to switched over to my previous computer X220i, which has both a trackpad and trackpoint. This machine works perfectly. The X250 is sitting in the corner, unuseable (unless I downgrade to a USB mouse, which works perfectly on the X250).

In my last attempt, today April 30, 2016, I swapped computers with my wife, so I now have her X250. That functions exactly as my X250. This rules out any hardware issues.

It is noteable, IMO, that the BIOS in the X220i and the X250 behave very different wrt the synaptics mouse, as documented
in message #35.

Status today: I'm using the X220i for daily work. The X250 still has the mouse bug.
None of the kernel and BIOS changes had any effect at all.
The X250 spontaneously stopped working on or about Feb 2, following a standard upgrade (not a kernel change!)

Chris, I appreciate your attention to this, but I think we need to get to a new level re this problem. If the community wishes to continue to use X series thinkpads (I'm sure they do), then this problem needs a resolution.

What will Lenovo come up with next? Is the beginning of the end of Thinkpads and Linux?

I have more than 10 of these X-series laptops lying around my office. I've been using X hardware for many years. I see this as the end of the line, all due to a stupid mouse driver bug.

Please correct me if I'm wrong in my summary.

Jont

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: removed: kernel-fixed-upstream-4.5-rc3

Jont Allen, in the future, it would be most helpful if you just answer the question as asked, versus constantly adding way more detail about things not requested about. This prevents making everyone having to read a novel instead of just having the question answered quickly.

Despite this, remaining focused on my inquiry surrounding 4.5-rc3:
>"I was running kernel 4.5-rc3 and everything was great. Then sometime around Feb 3, 2016 (I don't know the exact date),
following an standard upgrade from Ubuntu, the old symptoms (left mouse button sticking) returned. This abrupt change was not due to a kernel change. I was running 4.5-rc3, before and after."

This leads one to believe there is a user space component to this that stopped allowing 4.5-rc3+ to work for you.

Hence, could you please post the results of the following terminal command:
usb-devices

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jont Allen (jontalle) wrote :
Download full text (3.2 KiB)

$ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 3
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.04
S: Manufacturer=Linux 4.4.0-21-generic ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:1d.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 8
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=8001 Rev=00.03
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=11
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.04
S: Manufacturer=Linux 4.4.0-21-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=046d ProdID=c52b Rev=12.01
S: Manufacturer=Logitech
S: Product=USB Receiver
C: #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=98mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

T: Bus=02 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=04f3 ProdID=0301 Rev=00.11
S: Manufacturer=ELAN
S: Product=Touchscreen
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=03 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=ff(vend.) Sub=11 Prot=ff MxPS= 8 #Cfgs= 1
P: Vendor=138a ProdID=0017 Rev=00.78
S: SerialNumber=9522649fe503
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

T: Bus=02 Lev=01 Prnt=01 Port=06 Cnt=04 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=0a2a Rev=00.01
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

T: Bus=02 Lev=01 Prnt=01 Port=07 Cnt=05 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=5986 ProdID=0366 Rev=00.18
S: Manufacturer=SunplusIT Inc
S: Product=Integrated Camera
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=04.04
S: Manufacturer=Linux 4.4.0-21-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: ...

Read more...

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Jont Allen (jontalle) wrote :

In comment #34 you state:
"This leads one to believe there is a user space component to this that stopped allowing 4.5-rc3+ to work for you."

I had not changed anything that would account for this, other than responding to your request for a new kernel.
This activity is described in my comment #21:
"I was running kernel 4.5-rc3 and everything was great. Then sometime around Feb 3, 2016 (I don't know the exact date),
following an standard upgrade from Ubuntu, the old symptoms (left mouse button sticking) returned."

Following that date, nothing I tried would make 4.5-rc3 work, including repeating all the steps in reinstalling 4.5-rc3, from scratch.

The only possibility that I can think of is that a standard weekly ubuntu update to the kernel (headers, modules, etc?) was the source of the change.

I am quite sure that I did not cause this by my tinkering.

Jont

HorstBort (haukemuentinga) wrote :
Download full text (4.5 KiB)

FWIW, I have this problem with the middle trackpoint button on a T460s.

hauke  ~  uname -a
Linux tbort 4.4.0-22-generic #39-Ubuntu SMP Thu May 5 16:53:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Here's an excerpt from sudo evtest /dev/input/event6:

Event: time 1464031476.627418, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031476.627418, -------------- SYN_REPORT ------------
Event: time 1464031476.733121, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031476.733121, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031477.097493, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031477.097493, -------------- SYN_REPORT ------------
Event: time 1464031477.193284, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031477.193284, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031477.403549, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031477.403549, -------------- SYN_REPORT ------------
Event: time 1464031477.498914, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031477.498914, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031478.182503, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031478.182503, -------------- SYN_REPORT ------------
Event: time 1464031478.287124, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031478.287124, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031479.629252, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031479.629252, -------------- SYN_REPORT ------------
Event: time 1464031479.754756, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031479.754756, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031480.616778, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031480.616778, -------------- SYN_REPORT ------------
Event: time 1464031480.733700, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031480.733700, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031481.835976, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031481.835976, -------------- SYN_REPORT ------------
Event: time 1464031481.970351, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
Event: time 1464031481.970351, -------------- SYN_REPORT ------------
Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031482.307006, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
Event: time 1464031482.307006, -------------- SYN_REPORT ------------
Event: time 1464031482.402378, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
E...

Read more...

Jont Allen (jontalle) wrote :
Download full text (5.5 KiB)

good, I'm glad someone else is seeing this problem.

Here is a test I would like you to try:

boot up into the BIOS, and turn off only the trackpad. Leave the
pointing (red button) on.

Then boot up into linux, and BEFORE you login in, see if the trackpad
responds to the touch.

On my X250, it does, and that is a problem with the BIOS not working
properly.

I have three thinkpads with a trackpad, and the with the two that work,
I can turn off the trackpad,
and the trackpad is off before I login in.
This may not be the only issue with this bug, but it aggravates it. If
the trackpad could be turned off in the BIOS (as it should be)
then that would be a work-around.

I am able to use the X250 only if I use a USB (external) mouse. The
trackpad is too buggy to use.

On 05/23/2016 02:31 PM, HorstBort wrote:
> FWIW, I have this problem with the middle trackpoint button on a T460s.
>
> hauke  ~  uname -a
> Linux tbort 4.4.0-22-generic #39-Ubuntu SMP Thu May 5 16:53:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
>
> Here's an excerpt from sudo evtest /dev/input/event6:
>
> Event: time 1464031476.627418, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031476.627418, -------------- SYN_REPORT ------------
> Event: time 1464031476.733121, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
> Event: time 1464031476.733121, -------------- SYN_REPORT ------------
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031477.097493, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031477.097493, -------------- SYN_REPORT ------------
> Event: time 1464031477.193284, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
> Event: time 1464031477.193284, -------------- SYN_REPORT ------------
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031477.403549, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031477.403549, -------------- SYN_REPORT ------------
> Event: time 1464031477.498914, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
> Event: time 1464031477.498914, -------------- SYN_REPORT ------------
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031478.182503, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031478.182503, -------------- SYN_REPORT ------------
> Event: time 1464031478.287124, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
> Event: time 1464031478.287124, -------------- SYN_REPORT ------------
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031479.629252, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031479.629252, -------------- SYN_REPORT ------------
> Event: time 1464031479.754756, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 0
> Event: time 1464031479.754756, -------------- SYN_REPORT ------------
> Event: time 1464031201.617512, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464031480.616778, type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
> Event: time 1464...

Read more...

HorstBort (haukemuentinga) wrote :

I'd like to add: Same problem with left mouse button. Also, same, extremely annoying, behaviour on X250.

Pascal Haakmat (pascalhaakmat) wrote :

Same problem here on 16.04 and X250. Mouse buttons sometimes get stuck, not only the left but also the middle and probably the right buttons. They are used much less frequently so you don't notice it as much.

The workaround in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817/comments/12 looked promising but /var/log/Xorg.0.log showed the synaptics driver was still being loaded.

I am now experimenting with the following workaround:

1. Create /etc/modprobe.d/psmouse.conf:
   options psmouse proto=imps

2. In /usr/share/X11/xorg.conf.d/
   # mkdir disabled
   # mv 10-evdev.conf 11-evdev-trackpoint.conf 50-synaptics.conf 51-synaptics-quirks.conf disabled

3. Create /usr/share/X11/xorg.conf.d/10-evdev-nopads.conf:
   Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
   EndSection

   Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
   EndSection

4. Create /usr/share/X11/xorg.conf.d90-x250-trackpoint.conf:
   Section "InputClass"
        Identifier "Touchpad/TrackPoint"
        MatchProduct "TPPS/2 IBM TrackPoint"
        MatchDriver "evdev"
        Option "EmulateWheel" "1"
        Option "EmulateWheelButton" "2"
        Option "Emulate3Buttons" "0"
        Option "XAxisMapping" "6 7"
        Option "YAxisMapping" "4 5"
   EndSection

After this /var/log/Xorg.0.log shows that the synaptics driver is not being loaded:

[ 11.475] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event5)
[ 11.475] (II) No input driver specified, ignoring this device.
[ 11.475] (II) This device may have been added with another device file.
[ 11.475] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[ 11.475] (II) No input driver specified, ignoring this device.
[ 11.475] (II) This device may have been added with another device file.
[ 11.475] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/event15)
[ 11.475] (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer catchall"
[ 11.475] (**) TPPS/2 IBM TrackPoint: Applying InputClass "Touchpad/TrackPoint"
[ 11.475] (II) Using input driver 'evdev' for 'TPPS/2 IBM TrackPoint'

I don't know yet whether this solves the problem (needs more time to test) but perhaps it is of use to someone. It's very annoying.

Jont Allen (jontalle) wrote :

Pascal,
I installed your suggested fix, and it works perfectly. I have been using it for more than 24 hours,
and the button-sticking problem is gone.

I am able to return to using the X250. It was sitting on the desk, unused, but now its back in operation.

I cant thank you enought.

SOLVED

Jont Allen

Jont Allen (jontalle) wrote :

SOLVED

Jont Allen (jontalle) wrote :

A very minor correction:
4. Create /usr/share/X11/xorg.conf.d90-x250-trackpoint.conf
...

this should be
4. Create /usr/share/X11/xorg.conf.d/90-x250-trackpoint.conf <--- there is a "/" missing

Pascal Haakmat (pascalhaakmat) wrote :

Happy to hear the workaround is useful Jont.

In the meantime I have experienced stuck buttons a few times, but a lot less frequently. It seems to help to disable the trackpad in the BIOS. It may be related to waking up from a sleep state (wild conjecture).

All in all I wouldn't say this was "solved": you can't use the trackpad at all and buttons still occasionally get stuck. But for my purposes it seems workable.

Jont Allen (jontalle) wrote :

Dear Pascal
This is very strange. I'm going now since 12/31/16, and now its 1/3/17, thus somewhere between 3-4 days.
I have tested it, and have not seen any problem.

You suggest removing the trackpad in the bios. That worked for me in the past (limited success), but with my present BIOS (the latest, I can give you the number if you request), the OS ignores the BIOS setting.
Here is the test of that:
1) deselect the trackpad in the bios
2) reboot
3) Before you log in, test if the trackpad is active. I find that it is.
4) login, and with the "system settings/mouse/touchpad" I now see not reference to the touchpad in that
screen.

Conclusion: After removeing the touchpad via the BIOS, it was still working after a reboot. And, there was
no way to turn it on or off from "system settings"

Using my Dell latitude, the behaviour is quite different. So the above is restricted to the X250.

Jont

Pascal Haakmat (pascalhaakmat) wrote :

I have had an engineer replace the TrackPad just to make sure, but the problem persists.

I can reliably reproduce the problem now though.

If, while pressing the top buttons on the TrackPad (the physical ones), you simultaneously touch the TrackPad itself with your thumb, and then release the physical button, the release event does not register and the button will "stick".

It's as if the release event is suppressed because the thumb is touching the TrackPad.

Pascal Haakmat (pascalhaakmat) wrote :

Having found a way to reliably reproduce the issue I vaguely understand what is happening.

The kernel psmouse driver probes the TouchPad, reognizes it as a Synaptic touchpad, and performs Synaptic-specific initialization. This happens regardless of whether the TouchPad is switched off in the BIOS or not (!). Then udev recognizes the device and data from the TouchPad will start appearing on /dev/input/event* (in my case, event5). Then X gets started and the xinput infrastructure loads its own input drivers on top of that.

At that point the TouchPad starts to interfere with the physical buttons. When you touch the TouchPad in a particular manner (e.g. with your thumb) before you press a button, then release the button, X does not register a button release event (as per "evtest"), and the button appears stuck. This happens even if the TouchPad is disabled via xinput or using "synclient TouchpadOff=1". It does appear that something somewhere gets confused by the TouchPad button press, even if the TouchPad is supposed to be disabled. (I have tried a variety of synclient/xinput properties, none of them make any difference.)

The issue can be worked around by preventing creation of the device nodes for the TouchPad. Since the BIOS setting to disable the TouchPad does not work reliably (or at all?), that means working around the Synaptics probe in the psmouse kernel module.

So below is another workound, which builds on the workaround in #49. Basically it unloads the kernel psmouse driver, then reloads it with the "bare" mouse protocol. This way the TouchPad is not recognized as a TouchPad any longer, but it also means the TrackPoint is also no longer recognized as a TrackPoint, so the xorg config files need to specify "PS/2 Generic Mouse".

1. Step 4 of #49 needs to be replaced by:

   Section "InputClass"
     Identifier "TrackPoint"
     MatchProduct "PS/2 Generic Mouse"
     MatchDevicePath "/dev/input/event*"
     Option "EmulateWheel" "1"
     Option "EmulateWheelButton" "2"
     Option "Emulate3Buttons" "0"
     Option "XAxisMapping" "6 7"
     Option "YAxisMapping" "4 5"
     Driver "evdev"
   EndSection

2. In /etc/rc.local add:

   modprobe -r psmouse
   modprobe psmouse proto=bare

With this workaround I can no longer reproduce the problem, also after sleep/hibernate cycles. Still it remains a nasty workaround: the TouchPad is dead and system upgrades can easily probably break this workaround at some point, so I hope that the additional information is useful in solving the underlying problem.

Jont Allen (jontalle) wrote :

Hi Pascal,

Since it seems to all be working for me, I hesitate to mess with it.

I still have two issues, neither of which are too serious (or else maybe
I still dont understand them).

1) The touch pad, under synaptic, is supposed to scroll when you touch
it with two fingers. With your previous changes, the synaptic driver has
been removed, as verified by /var/log/system, (as intended), so the
two-finger scroll is not working at all. But the touch pad does respond
to the one finger (thumb) touch, and works just like a second mouse input.

2) Every now and then, as I'm typing, my thumb slightly touches the
touchpad causing the focus to move to
where-ever the mouse pointer is sitting at that moment (i.e., some
random position). Once my thumb, or more likely
my palm, touches the track pad, anything I'm typiing moves to the
pointer (mouse) random location, so my typing
focus moves away from where the cursor is. Note I'm distinguishing the
typing location (cursor) from the mouse pointer location, as they are
distinct pointers.

Having the text-cursor (pointer at which your typing) switch to the
mouse pointer (pointer that moves with the mouse) location, while your
typing, is a very serious problem, as you typing moves to that location.

"Bandaid workaround"
So my workaround, and it is quite effective is to place two large
bandaids on the left and right side of the touchpad,
to mask off about 1 inch on each side. Once I did this, the touch pad
became useful again. It is simply too large,
so large, that I cannot avoid touching it as I type. Note, I'm a full 10
finger typer, not a two finger "pecker."

For a small move of the mouse pointer, I can use the trackpad via thumb.
For large movements, that's too inefficient, so I use the red
eraser-head (track point mouse).

The orginal problem was that the mouse would randomly stick on. That
problem has been gone since I implemented your #49 posting at
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817

For reference:

$ :/var/log$ grep psmouse dmesg
[ 3.195521] psmouse serio1: synaptics: queried max coordinates: x
[..5472], y [..4448]
[ 3.276710] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.0,
id: 0x1e2b1, caps: 0xd001a3/0x940300/0x120c00/0x0, board id: 1611, fw
id: 774180
[ 3.276720] psmouse serio1: synaptics: serio: Synaptics pass-through
port at isa0060/serio1/input0
[ 4.070928] psmouse serio2: trackpoint: IBM TrackPoint firmware:
0x0e, buttons: 3/3

Another thought:

what would happen if we simply deleted/rename the synaptic driver module?

locate touchscreen|grep synaptics
/usr/src/linux-headers-3.16.0-67-generic/include/config/touchscreen/synaptics

/lib/modules/3.16.0-67-generic/kernel/drivers/input/mouse/synaptics_i2c.ko
/lib/modules/3.16.0-67-generic/kernel/drivers/input/mouse/synaptics_usb.ko
/lib/modules/3.16.0-67-generic/kernel/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.ko

lsmod|grep synaptic
  nothing returned
lsmod|grep psmouse
  psmouse 131072 0

Jont

Pascal Haakmat (pascalhaakmat) wrote :

> Since it seems to all be working for me, I hesitate to mess with it.

Yeah, I understand!

> So my workaround, and it is quite effective is to place two large
> bandaids on the left and right side of the touchpad,

LOL. I thought about doing that as well! It's that annoying.

> what would happen if we simply deleted/rename the synaptic driver module?

I don't know. It might break the mouse driver completely since as far as I can tell it's the psmouse driver itself that does Synaptics probing (see http://lxr.free-electrons.com/source/drivers/input/mouse/psmouse-base.c).

Although I understand your reluctance to fiddle, it would help if you could try the last workaround to see if I missed any steps. And if it works you can take off the band-aids :)

Antti P Miettinen (apm) wrote :

Running bionic with 4.15.0-34-generic on T460s, a pretty good repro for me is

1. Place two fingers on the touchpad
2. Try to press a button while keeping two fingers on the touchpad

For me, evtest reports of button events get very erratic when two fingers are kept on the touchpad. When I do not touch the touchpad, evtest reports seem solid.

I have disabled the touchpad as it interferes with my typing, but the state of this setting does not seem to have an effect. The "two fingers on touchpad" probably gets emulated by e.g. my wrist touching the touchpad.

For me the bug interferes mostly with browser use as I use middle button scroll and very often e.g. middle down gets lost and the attempt to scroll does not scroll, or a middle up gets lost and then pointer is stuck in scroll mode.

To me it looks like https://bugs.launchpad.net/ubuntu/+source/rapidsvn/+bug/402892 is about the same issue.

Jont Allen (jontalle) wrote :

Dear Antti,

I am still having the problem today, which I previously described as
the "random mouse" problem.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817
https://answers.launchpad.net/ubuntu-certification/+question/272142

Presently I'm using an X260 with 18.04 ubuntu.

The problem is still very serious, but I have various workarounds, that
help reduce the magnitude of the problem.

It seems like a bug in the synaptic driver that comes with linux.

If you ask, I can share the various work-arounds I have developed over
the years to deal with this very serious bug.

Previous bug reports I suggest you look at to see if these match what
your observing:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817
https://answers.launchpad.net/ubuntu-certification/+question/272142

My present OS on my X260 as of Sep 30, 2018:

cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"

Brad Figg (brad-figg) on 2019-07-24
tags: added: cscc
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers