Two-finger scrolling no longer works after resuming from suspend

Bug #1722478 reported by Ghislain Antony Vaillant on 2017-10-10
638
This bug affects 79 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
linux (Ubuntu)
Medium
Unassigned

Bug Description

I own a Thinkpad T440p onto which I have had Debian 9 running without hardware issues. I have recently installed Ubuntu 17.10 final beta to test it out, but two-finger scrolling does not work at the moment. It used to work out-of-the-box from the final beta iso, but a subsequent update broke it.

ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: linux-image-4.13.0-12-generic 4.13.0-12.13 [modified: boot/vmlinuz-4.13.0-12-generic]
ProcVersionSignature: Ubuntu 4.13.0-12.13-generic 4.13.3
Uname: Linux 4.13.0-12-generic x86_64
ApportVersion: 2.20.7-0ubuntu2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: ghislain 10620 F.... pulseaudio
 /dev/snd/controlC0: ghislain 10620 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Tue Oct 10 09:20:01 2017
HibernationDevice: RESUME=UUID=ae4cca1e-80ef-4a1e-87e3-0a860b49492e
InstallationDate: Installed on 2017-10-05 (4 days ago)
InstallationMedia: Ubuntu 17.10 "Artful Aardvark" - Alpha amd64 (20170926)
MachineType: LENOVO 20AN00C1UK
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.13.0-12-generic root=/dev/mapper/doc1485--lap--vg-root ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-4.13.0-12-generic N/A
 linux-backports-modules-4.13.0-12-generic N/A
 linux-firmware 1.169
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/31/2016
dmi.bios.vendor: LENOVO
dmi.bios.version: GLET83WW (2.37 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20AN00C1UK
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: Not Available
dmi.modalias: dmi:bvnLENOVO:bvrGLET83WW(2.37):bd03/31/2016:svnLENOVO:pn20AN00C1UK:pvrThinkPadT440p:rvnLENOVO:rn20AN00C1UK:rvrSDK0E50510WIN:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.family: ThinkPad T440p
dmi.product.name: 20AN00C1UK
dmi.product.version: ThinkPad T440p
dmi.sys.vendor: LENOVO

This change was made by a bot.

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

I managed to get two-finger scrolling working after installing the Intel microcode firmware package.

No idea whether this is a true fix for it or just luck though.

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete

Sigh, and it broke again after this morning's updates and a reboot. Here is a list of the updates in question if it can be of any help:

Start-Date: 2017-10-11 09:06:14
Commandline: apt upgrade
Requested-By: ghislain (1000)
Upgrade: poppler-utils:amd64 (0.57.0-2ubuntu2, 0.57.0-2ubuntu4), libseccomp2:amd64 (2.3.1-2.1ubuntu2, 2.3.1-2.1ubuntu3), update-manager-core:amd64 (1:17.10.10, 1:17.10.11), gnome-session-common:amd64 (3.26.1-0ubuntu1, 3.26.1-0ubuntu2), gir1.2-mutter-1:amd64 (3.26.1-1, 3.26.1-2), update-manager:amd64 (1:17.10.10, 1:17.10.11), libmutter-1-0:amd64 (3.26.1-1, 3.26.1-2), ubuntu-session:amd64 (3.26.1-0ubuntu1, 3.26.1-0ubuntu2), mutter-common:amd64 (3.26.1-1, 3.26.1-2), ubuntu-docs:amd64 (17.10.6, 17.10.7), python3-distupgrade:amd64 (1:17.10.6, 1:17.10.7), python3-update-manager:amd64 (1:17.10.10, 1:17.10.11), ubuntu-release-upgrader-core:amd64 (1:17.10.6, 1:17.10.7), gnome-session-bin:amd64 (3.26.1-0ubuntu1, 3.26.1-0ubuntu2), libjpeg-turbo8:amd64 (1.5.2-0ubuntu3, 1.5.2-0ubuntu4), ubuntu-release-upgrader-gtk:amd64 (1:17.10.6, 1:17.10.7), unattended-upgrades:amd64 (0.97ubuntu2, 0.98ubuntu1), libpoppler-glib8:amd64 (0.57.0-2ubuntu2, 0.57.0-2ubuntu4), libpoppler68:amd64 (0.57.0-2ubuntu2, 0.57.0-2ubuntu4), mutter:amd64 (3.26.1-1, 3.26.1-2), libclutter-gtk-1.0-0:amd64 (1.8.4-1, 1.8.4-2)
End-Date: 2017-10-11 09:06:23

Since these updates, I can no longer use two-finger scrolling but still can enable edge-scrolling as a substitute.

Now it's back after the latest kernel update.

And it's gone again :(

Kai-Heng Feng (kaihengfeng) wrote :

Does "synclient HorizTwoFingerScroll=1" work?

> Does "synclient HorizTwoFingerScroll=1" work?

No, since xserver-xorg-input-synaptics is not installed by default. Two-finger scrolling used to work without it, so I don't think that's where the solution is.

Kai-Heng Feng (kaihengfeng) wrote :

Maybe try xserver-xorg-input-evdev instead of xserver-xorg-input-libinput?

I found a reproducible setup for this bug: I can get 2-finger scrolling to work after a fresh boot, but it stops working after resuming from suspend.

summary: - Two-finger scrolling no longer works with Ubuntu 17.10
+ Two-finger scrolling no longer works after resuming from suspend

I have installed your kernel:

$ uname -r
4.13.0-17-generic

Still, two-finger scrolling does not work after suspend/resume.

Kai-Heng Feng (kaihengfeng) wrote :

You need to do a kernel bisection then.

Find the first mainline kernel release that make your touchpad cease to work in http://kernel.ubuntu.com/~kernel-ppa/mainline/

I suppose I should start at kernel 4.10, since it was working with kernel 4.9 on Debian Stretch.

Kai-Heng Feng (kaihengfeng) wrote :

Make sure v4.9 is good and v4.10 is bad, then find the first version of v4.10-rc* that has this problem.

Jean Demange (jea-demange) wrote :

The bug affects me as well, same machine. In the mean time, to avoid rebooting, you can reload the module, as super user:
modprobe -r psmouse
modprobe psmouse
This fix the problem for me.

Thorsten (thorstenr-42) wrote :

also affects me! I am using thinkpad t440s

Sheldon Johnson (shayolden) wrote :

Also affects me on a Thinkpad T440 in Ubuntu 17.10

Thorsten (thorstenr-42) wrote :

so i tested some kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline/

and found:
4.11.12 -- working
4.12-rc1 -- bug occurs

i tested it by installing a specific kernel and first verified that two finger scrolling is working and then tested if it is still working after a suspend/resume.
What would be the next necessary steps to identify which commit causes this bug?

Kai-Heng Feng (kaihengfeng) wrote :

First, make sure 4.11 is working.

I can build kernel for you, but it will take a dozen iterations.

It can be much faster if you build your own kernel locally,
$ sudo apt install git
$ sudo apt build-dep linux
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git bisect start
$ git bisect good v4.11
$ git bisect bad v4.12-rc1
$ make localmodconfig
$ make -j`nproc` deb-pkg
Install the newly built kernel.
If the issue still happens,
$ git bisect bad
...otherwise,
$ git bisect good
Repeat to "make -j`nproc` deb-pkg" until you find the commit that causes the regression.

Willem Vermeylen (fgod1983) wrote :

having the same issue with my t440p thinkpad after updating from 17.04 to 17.10...

can somebody please explain how i install the working kernel (4.11.12) were Thorsten was talking about? Because this bug is really annoying as this is my working laptop...

@fgod1983

Download the .deb files for amd64 listed in http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.12/. Open a terminal in your download folder and run `apt install ./linux*4.11.12*.deb`. After the install is completed, reboot your laptop, and select kernel 4.11.12 in the grub selection window early in the boot stage. You might have to press the shift hey to display the kernel selection, which is hidden by default in Ubuntu (plain purple window at boot).

Thorsten (thorstenr-42) wrote :

@ kaihengfeng

So i did the bisecting as you described (thanks for that!) and I hope that i did everything right. For the questions during the config i always just pressed enter so that the default choice is used.
It's the first time i did this so please be skeptical with my findings!

So after a hours of building kernels, i got the following results:

first bad commit: [0be75179df5e20306528800fc7c6a504b12b97db] Merge tag 'driver-core-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

To verify the result i booted the default kernel and removed all self build kernels. Afterwards
i checkout the last good commit (according to the bisect log):

 $ git checkout 523aa3586ffb1fc11a9bf88f77ebaf71a15eb998

and build a kernel and tested this -> is working

Then the same with the first bad commit:

 $ git checkout 0be75179df5e20306528800fc7c6a504b12b97db

again build a kernel and tested this -> not working.

What i find strange is, if i count the number of commits betweens these two hashes i get the following:

 $ git rev-list 0be75179df5e20306528800fc7c6a504b12b97db ^523aa3586ffb1fc11a9bf88f77ebaf71a15eb998 --count
 8860

I thought bisecting would give me more precisely the wrong commit? So what are the next steps?

@ fgod1983/ghisvail
    better only use the gernic parts and not the lowlatency stuff, for example i only download:

    - linux-headers-4.11.12-041112_4.11.12-041112.201707210350_all.deb
    - linux-headers-4.11.12-041112-generic_4.11.12-041112.201707210350_amd64.deb
    - linux-image-4.11.12-041112-generic_4.11.12-041112.201707210350_amd64.deb

    into one new folder and then used

      $sudo dpkg -i *.deb

    in this folder. However, non default kernels mean you have to update the kernel manually, so maybe default kernel and as described above

      $ sudo modprobe -r psmouse
      $ sudo modprobe psmouse

    is the better choice in the meantime (or use ubuntu lts)

Willem Vermeylen (fgod1983) wrote :

the modprobe trick works (thank god), this helps a lot! I will see if i can install the kernel that does work and see how this works with all the rest of my laptop!

thanks for the info guys! I sure hope this is getting fixed soon though :)

Kai-Heng Feng (kaihengfeng) wrote :

Thorsten,

That means something went wrong in the bisection process.
Probably the issue does not happen all the time?

Here's my suggestion:
- Instead of warm boot (reboot), always do a cold boot (shutdown then boot).
- Test with more S3 cycles before next bisect.

Thorsten (thorstenr-42) wrote :

Hi, so i have tried it again with much more testing etc. However, i got some problems and i had to abort bisecting

so the last good commit was a71c9a1c779f
and the last bad commit was 03b22057e8ed

The amount of commits between these two hashes:

git rev-list ^a71c9a1c779f 03b22057e8ed --count
58

I checkout these two commits again manually and build the kernels again. And verified it.

Then next commit was a01cd17000a4 and this one fails to build:

  CC [M] drivers/gpu/drm/nouveau/dispnv04/tvnv04.o
  CC [M] drivers/gpu/drm/nouveau/dispnv04/tvnv17.o
  LD [M] drivers/gpu/drm/nouveau/nouveau.o
  LD drivers/gpu/drm/built-in.o
  LD drivers/gpu/built-in.o
  LD drivers/built-in.o
  GEN .version
  CHK include/generated/compile.h
  UPD include/generated/compile.h
  CC init/version.o
  LD init/built-in.o
  LD vmlinux.o
  MODPOST vmlinux.o
kernel/built-in.o: In function `update_wall_time':
/home/...../linux/kernel/time/timekeeping.c:2088: undefined reference to `____ilog2_NaN'
Makefile:969: recipe for target 'vmlinux' failed
make[2]: *** [vmlinux] Error 1
scripts/package/Makefile:91: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 2
Makefile:1329: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2

what i dont understand is the distances betweens these commits:
git rev-list ^a71c9a1c779f a01cd17000a4 --count
28

git rev-list ^a01cd17000a4 03b22057e8ed --count
13959

Does this make any sense? so i don't know how to get any further...

Jan Ypma (jypma) wrote :

Also affects me (T540p) on 4.13.11-1-ARCH (arch linux default), since a recent (kernel?) upgrade. Modprobe workaround works for me.

Kai-Heng Feng (kaihengfeng) wrote :

Checking the commits between from a71c9a1c779f to 03b22057e8ed, this one looks very suspicious.
Can you revert this commit and see if this the culprit?

commit 0ab3fa57425023f42e8822a293d9b87a3ad4e2b3
Author: Dmitry Torokhov <email address hidden>
Date: Sun Mar 5 23:19:22 2017 -0800

    Input: psmouse - implement fast reconnect option

    Make use of serio's fast reconnect option and allow psmouse protocol
    handler's to implement fast reconnect handlers that will be called during
    system resume.

    Reviewed-by: Benjamin Tissoires <email address hidden>
    Signed-off-by: Dmitry Torokhov <email address hidden>

M drivers/input/mouse/psmouse-base.c
M drivers/input/mouse/psmouse.h

Thorsten (thorstenr-42) wrote :

Hi, i have some problems reverting the commit. This is what i did:

$ git checkout 03b22057e8ed

$ git revert 0ab3fa57425023f42e8822a293d9b87a3ad4e2b3

error: could not revert 0ab3fa574250... Input: psmouse - implement fast reconnect option
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

$ git status
HEAD detached at 03b22057e8ed
You are currently reverting commit 0ab3fa574250.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

 modified: drivers/input/mouse/psmouse.h

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

 both modified: drivers/input/mouse/psmouse-base.c

I didn't want to mess around with kernel files and therefore tried to build a kernel prior to this commit:

 git checkout 0ab3fa57425023f42e8822a293d9b87a3ad4e2b3^

however this doesn't build with the same error as above.

could you please supply us a kernel without this commit? maybe even v4.13.11? This would also allow others to check it?

Thorsten (thorstenr-42) wrote :

Hi, thanks for the kernels. Unfortunately both are working fine :/ Was there another commit touching the psmouse-base.c between the good and bad commit (since i couldn't revert the commit easily)?

Kai-Heng Feng (kaihengfeng) wrote :

Use 0ab3fa57425 as good,
03b22057e8ed as bad.

Let's start a new bisection between these two commits:
http://people.canonical.com/~khfeng/lp1722478-bisect-1/

Thorsten (thorstenr-42) wrote :

hi, this kernel has the bug

Brendan Desmond (brendes) wrote :

Hi, I am running Ubuntu 17.10 GNOME with Wayland using a Thinkpad T440 as well. Installing `intel-microcode` fixed the issue immediately. I'm assuming this is proprietary code :\

André (afsverissimo) wrote :

I can confirm that the this last kernel does not work (lp1722478-bisect-1), while the previous did (fastreconnect)

On a Thinkpad T440s

ps. modprobe workaround also works, while installing intel-microcode does not (had it previously)

Brendan Desmond (brendes) wrote :

Hello again, I spoke too soon. Problem went away immediately after installing `intel-microcode` but returned after suspend and resume.

Kai-Heng Feng (kaihengfeng) wrote :

Sorry for the late reply, here's the next one,

http://people.canonical.com/~khfeng/lp1722478-bisect-2/

Thorsten (thorstenr-42) wrote :

Hi, this one is working fine for me!

Kai-Heng Feng (kaihengfeng) wrote :

Commit 6c53694fb2223746738d1d0cea71456ca88c8fb2

http://people.canonical.com/~khfeng/lp1722478-bisect-3/

information type: Public → Public Security
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
21 comments hidden view all 101 comments

I have a Lenovo Thinkpad L450, I experienced this bug on 4.15.0 (Ubuntu 18.04) and the kernel parameter "psmouse.synaptics_intertouch=0" solution did work for me, too.

Kai-Heng Feng (kaihengfeng) wrote :

Hi, please remove psmouse.synaptics_intertouch=0" add comment out "blacklist i2c_i801" in /etc/modprobe.d/blacklist.conf, and see if this helps.

I no longer own this laptop (Thinkpad T440p), so I am not in a position to do further testing.

Juan Navarro (oneorjuan) wrote :

@kaihengfeng I can confirm that commenting out that line does indeed solve the problem.

$ cat /etc/default/grub
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

$ cat /etc/modprobe.d/blacklist.conf
(...)
# causes failure to suspend on HP compaq nc6000 (Ubuntu: #10306)
# blacklist i2c_i801 <-- COMMENTED OUT
(...)

Which means that, whatever does the module 'i2c_i801' to cause suspend failures on the HP Compaq NC6000, it also in direct or indirect charge of making the two-finger scrolling work on the Lenovo Thinkpad series T400.

My system:
Lenovo Thinkpad T450s
Linux Mint 18.3 (based on Ubuntu 16.04 Xenial)
$ uname -a
Linux ThinkPad 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Georgi Georgiev (chutz) wrote :

This bug is also present on an X1 Carbon (gen 3).

modprobe i2c-i801 after removing it from the blacklist.conf seems to solve the issue.

Séverin Lemaignan (skadge) wrote :

I confirm that @chutz workaround (modprobing i2c-i801) fixes the problem on my X1 Carbon 3rd gen as well.

Nico Schlömer (nschloe) wrote :

The problem is also present on the ThinkPad X280, worked around by
```
modprobe -r psmouse
modprobe psmouse
```

Robin (brobert420) wrote :

Commenting out blacklist i2c_i801 did end with mouse not working at all after wakeup but adding psmouse.synaptics_intertouch=0 to grub did solve the issue. I got an L440. Ubuntu 18.04 4.19rc1

Mark Fickett (markfickett) wrote :

I have a Thinkpad X1 Carbon 5th gen, and am also affected. Modprobing psmouse also temporarily fixes for me (but if comes back if I close the lid of my laptop and wake it up again), and adding the synaptics_intertouch option in grub also seems to prevent it from coming back.

It only started happening in the last few days, and I generally install updates whenever they are available, though I haven't been using my laptop every day (so it may have started happening in the last week or two at most). I'm surprised it did only start recently, given this bug was filed a while back.

$ uname -a
Linux x1carbon 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
$ sudo apt-get install libinput-tools & sudo libinput list-devices
Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event6
Group: 8
Seat: seat0, default
Size: 100x56mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a

antidrugue (antidrugue) wrote :

I can also confirm that this affects the Lenovo ThinkPad Carbon 5th gen. After resuming from suspend to ram the touchpad is broken -- two-finger gesture doesn't work.

$ sudo dmidecode -t system | grep -i "system information" -A 3
System Information
 Manufacturer: LENOVO
 Product Name: 20HRS14W00
 Version: ThinkPad X1 Carbon 5th

A temporary workaround is to reload the module "psmouse" after resume.
$ sudo modprobe -r psmouse && sudo modprobe psmouse

Disabling the blacklisting of module "i2c_i801" as suggested by kaihengfeng (thanks!) does fix the issue for good.
$ sudo sed -i 's/^blacklist\ i2c_i801/#blacklist\ i2c_i801/g' /etc/modprobe.d/blacklist.conf

Some other thoughts:
* Review if the fix for #16602 is still pertinent (the blacklisting of i2c_i801 was apparently added for a machine which is now almost 15 years old and wrongly refers to Ubuntu bug #10306)
* The blacklisting of i2c_i801 also break some other things, see #1475945 (blacklisting i2c_i801 breaks trackpad detection on Acer C710, plus other hardware)
* Confirm the link with kernel commit e839ffab028981ac77f650faf8c84f16e1719738 (cf. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e839ffab028981ac77f650faf8c84f16e1719738) as suggested by kaihengfeng (also mentioned in kernel bug #196719 (cf. https://bugzilla.kernel.org/show_bug.cgi?id=196719)

David Chalmers (dchalmers) wrote :

Also on ThinkPad X1 Carbon 5th
Linux x1-cosmic 4.18.0-10-generic #11-Ubuntu SMP Thu Oct 11 15:13:55 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Synaptics touchpad
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 ALPS TrackPoint id=12 [slave pointer (2)]

Two finger scroll reproducibly stops working after suspend.

workaround of editing /etc/defaults/grub line to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.synaptics_intertouch=0"

does work.

Joseph (joseh) wrote :

I managed to get two-finger scrolling working after installing the Intel microcode firmware package.

As the model hasn't been mentioned here yet, I thought I'd report that it also affects me on a ThinkPad X250 with Ubuntu 18.04.

The two commands in comment #16 do fix it momentarily.

Sicabol (sicabol) wrote :

Same problem for me with Ubuntu 18.10 on ThinkPad T550. The two commands in #16 fix it till the next sleep.

Hai NGUYEN VAN (psaxl) wrote :

Observed similar behavior on Ubuntu 18.04 with ThinkPad X280

Jani Jaakkola (jj-lousa) wrote :

Just confirming this: This keeps happening with Thinkpad X280.

Andrew (amorris28) wrote :

Same problem on Thinkpad X1 Carbon 5th Gen with Ubuntu 18.04
Currently using kernel 4.15.0-38-generic
Commands in comment #16 resolve the problem until next suspend.

Matteo Baldoni (baldoni) wrote :

Same problem on Thinkpad X1 Carbon 3rd Gen with Ubuntu 18.04 and 18.10.
Currently using kernel 4.18.0-10-generic.
Commands in #16 resolve the problem for 18.10, not tested for 18.04.

Andrew (amorris28) wrote :

This workaround in comment #72 works for me; two finger scrolling and click-and-drag work after resuming from suspend.

Add the following line to this file: `/etc/defaults/grub`

> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.synaptics_intertouch=0"

Then run `update-grub`

Lungten Wangchuk (lungten) wrote :

Another X1 Carbon 5th gen user confirming this bug, running Ubuntu 18.04.1 with kernel 4.15.0-38-generic.

So, my findings reconfirm what other users have reported:
a) post #16 works as a temporary non-persistent fix
b) posts #43 and #63 are persistent fixes

The difference between #43 and #63 is that #63 takes about 5-6 seconds more than #43 to put the computer to sleep upon closing the lid. Just my two cents.

And yet another X1 Carbon 5th gen running 4.18.0-10-generic and Ubuntu 18.10 issue present. One of #16, #43 and #63 helps to mitigate the problem. Thanks a lot to all the contributors!

Florian Geier (geier-florian) wrote :

I can also confirm that this problem still exists with a fresh install of Ubuntu 18.10 with kernel 4.18.0.. I will try the psmouse.synaptics_intertouch=0 workaround.

Zoltan Marcsek (lord-potato) wrote :

It affects me too, on fresh Ubuntu 18.04 on Thinkpad X240. The two finger scrolling works until suspend/resume, after that only the three-finger one, but not without glitches. The modprobe command disables both my touchpad and trackpoint.

Zoltan Marcsek (lord-potato) wrote :

Sorry, I messed up something last time. #16 (the modprobe thing) fixes it temporarily.

आर्य (arya108) wrote :

For Ubuntu 18.04 on ThinkPad-11e, kernel version 4.15.0-38-generic:
A) comment #44 and #45 solves the issue completely.
B) comment #16 works temporarily/partially.
C) comment #63 "blacklist i2c_i801" does not exist in /etc/modprobe.d/blacklist.conf

Similar problem here on brand new Dell precision 7530 sold with Ubuntu 16.04...

uname -a:
Linux atlas 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

The two finger scrolling -and tap to click- stops working after suspend but none of the temporary or supposedly permanent fixes listed in #86 work, no "blacklist i2c_*" in /etc/modprobe.d/blacklist.conf either. t

Kai-Heng Feng (kaihengfeng) wrote :

corentin barbu, please file a new bug as Precision 7530 uses a different touchpad.

Edgar Martinez (ewmartinez) wrote :

Comment #44 and #45 worked fine for me. I have a Lenovo ThinkPad T440
Thaks

Thinkpad T540p, same as comment #86: reloading psmouse fixes the problem until next suspend, setting psmouse.synaptics_intertouch=0 fixes it for good.
Extra note: i2c_i801 isn't blacklisted, but does not load by itself either. Having it loaded (including before psmouse) seems to have no effect on multitouch getting messed up on resume.

Dan Marinescu (dmarinescu) wrote :

Bug affects Ubuntu 18.10 on W540 as well. Confirm psmouse.synaptics_intertouch=0 (so called) fix. Hello, guys, we're in the 21st century, perhaps you did not have time to notice?!?

Kai-Heng Feng (kaihengfeng) wrote :

This will be solved once LP: #1802135 is "Fix Released".

I can confirm this issue is still present in 18.04 with a new model W540. If anyone wants me to provide any info, please let me know what you would like. Will be glad to help.

Try removing "blacklist i2c_i801" from /etc/modprobe.d/blacklist.conf.

Thanks for the tip Kai-Heng Feng. It appears this resolves the issue thus far with the two finger click issue, but it seems not to recognize the two finger scroll still however I think that should probably be a different issue.

decimus (h-matthias-u) wrote :

For Robin (brobert420), who in comment #69:

> Commenting out blacklist i2c_i801 did end with mouse not working at all after
> wakeup […]. I got an L440. Ubuntu 18.04 4.19rc1

I had the same problem with a ThinkPad T440s on Ubuntu 19.10 beta. (Just that there was no blacklist entry in /etc/modprobe.d/blacklist.conf so I used "modprobe i2c_i801" instead.)

However, when I instead use the module name with a "-" instead of "_":

    modprobe i2c-i801

then it works immediately to restore two-finger scrolling, and two-finger scrolling keeps working after a suspend-and-resume cycle.

In other news, this bug is still present in Ubuntu 19.10.

decimus (h-matthias-u) wrote :

Ok, I meant "still present in Ubuntu 19.04" in the last comment :D

Also worth mentioning: the "sudo modprobe i2c-i801" fix also restores the two-finger-tap right clicking behavior, which was also broken alongside two-finger scrolling. But there was no three-finger-tapping instead, so unlike the case how two-finger-scrolling broke.

Georgi Georgiev (chutz) wrote :

kmod (25-1ubuntu3) disco; urgency=medium

  * Drop i2c_i801 from the blacklist again, things work fine with
    current kernels. (LP: #1786574)

 -- Timo Aaltonen <email address hidden> Thu, 04 Apr 2019 11:30:14 +0300

...

The above fixed it for me.

Brent Warner (brentmwarner) wrote :

I have a T440s running 18.04.2 after I close the lid and reopen to continue session, the scrolling on my trackpad gets lagged and the pointer seems off. I have to to a restart to make things normal again. I followed the fix on comment #44 and #45 and after suspend my scroll completely stopped working. Any help or tips from the other users with T440s'?

Thanks,

Brent Warner (brentmwarner) wrote :

disregard my post. Seems to work now after I rebooted. Just tested closing the lid reopening and it works fine. I'll post on here if I find any further issues. Thanks

fredm (fredm) wrote :

The instructions in comments #44 and #45 totally solved this for me! Thank you.

Further, I think my machine is now going to sleep more reliably :)

Displaying first 40 and last 40 comments. View all 101 comments or add a comment.
This report contains Public Security information  Edit
Everyone can see this security related information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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