Touchscreen stops working after S3 suspend on Lenovo X1 Yoga 3th

Bug #1836176 reported by Alexander Kallenbach
48
This bug affects 9 people
Affects Status Importance Assigned to Milestone
linux (Fedora)
Confirmed
Undecided
Unassigned
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

As described above. With the last BIOS-updates Lenovo enabled proper S3 deep sleep mode for Linux. Sadly the touchscreen doesn't work after resuming. There are a lot of others facing the same problem:

https://forums.lenovo.com/t5/Other-Linux-Discussions/X1Y3-Touchscreen-not-working-after-resume-on-Linux/td-p/4021200/highlight/false

A workaround described in the Arch-wiki doesn't seem to work on Ubuntu: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Yoga_(Gen_3)#Fix_touchscreen_after_resume

ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: linux-image-5.0.0-20-generic 5.0.0-20.21
ProcVersionSignature: Ubuntu 5.0.0-20.21-generic 5.0.8
Uname: Linux 5.0.0-20-generic x86_64
ApportVersion: 2.20.10-0ubuntu27.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: alex 4186 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Thu Jul 11 11:19:05 2019
HibernationDevice: RESUME=UUID=1c3b8070-c343-4dbf-8fe2-4112233d7954
InstallationDate: Installed on 2018-11-30 (222 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3)
MachineType: LENOVO 20LES01W00
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.0.0-20-generic root=UUID=d887a86a-3729-4962-9692-d9db9d49ed4c ro quiet splash vt.handoff=1
RelatedPackageVersions:
 linux-restricted-modules-5.0.0-20-generic N/A
 linux-backports-modules-5.0.0-20-generic N/A
 linux-firmware 1.178.2
SourcePackage: linux
UpgradeStatus: Upgraded to disco on 2019-04-14 (87 days ago)
dmi.bios.date: 06/12/2019
dmi.bios.vendor: LENOVO
dmi.bios.version: N25ET49W (1.35 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20LES01W00
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 31
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN25ET49W(1.35):bd06/12/2019:svnLENOVO:pn20LES01W00:pvrThinkPadX1Yoga3rd:rvnLENOVO:rn20LES01W00:rvrNotDefined:cvnLENOVO:ct31:cvrNone:
dmi.product.family: ThinkPad X1 Yoga 3rd
dmi.product.name: 20LES01W00
dmi.product.sku: LENOVO_MT_20LE_BU_Think_FM_ThinkPad X1 Yoga 3rd
dmi.product.version: ThinkPad X1 Yoga 3rd
dmi.sys.vendor: LENOVO

Revision history for this message
Alexander Kallenbach (kallenbachalex) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
Alexander Kallenbach (kallenbachalex) wrote :

Tested latest mainline kernel but the problem still persists:

Linux yoga 5.2.0-050200rc7-generic #201906300430 SMP Sun Jun 30 04:32:31 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

The system seems to be woken up early during S3 attempt, and tried to use S2Idle instead.

Can you please try daily mainline kernel?
https://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2019-07-22/

Brad Figg (brad-figg)
tags: added: ubuntu-certified
Revision history for this message
Andrej Friesen (ajfriesen) wrote :

Also using this machine and tried the fix on the arch wiki.

I am using bios 1.35 and fedora 30:

uname -a
Linux x1-yoga 5.2.6-200.fc30.x86_64 #1 SMP Mon Aug 5 13:20:47 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Can we do something to get better debugging information?

Revision history for this message
Andrej Friesen (ajfriesen) wrote :

Trying to use the fix in arch wiki does not work:

```
sudo rtcwake -m freeze -s 1
rtcwake: wakeup from "freeze" using /dev/rtc0 at Sun Aug 11 22:42:06 2019

rtcwake: write error
```

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please install latest mainline kernel, boot that kernel with kernel parameter "usbcore.dyndbg=+p", reproduce the issue and attach dmesg? Thanks.

Revision history for this message
Victor Saase (vsaase) wrote :

Hi, same problem here

kernel: Linux vsaase 5.3.1-050301-generic #201909210632 SMP Sat Sep 21 06:34:27 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

I set the kernel parameter "usbcore.dyndbg=+p"
attached is the dmesg output after wake from sleep (closed the lid after [ 46.646282] usb usb1-port7: resume, status 0)

Revision history for this message
Victor Saase (vsaase) wrote :

the touchscreen works if suspending and waking with the power button,
attached is the dmesg output in this case, suspend was initiated after
[ 869.550618] usb 1-7: usb auto-suspend, wakeup 1

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

From #9, touchscreen disconnected before suspending and didn't re-appear after resume:
[ 51.672179] usb 1-10: USB disconnect, device number 5
[ 51.672180] usb 1-10: unregistering device
[ 51.672182] usb 1-10: unregistering interface 1-10:1.0
[ 51.672239] xhci_hcd 0000:00:14.0: shutdown urb ffff939bbd1f5240 ep1in-intr
[ 51.738116] usb 1-10: unregistering interface 1-10:1.1
[ 51.798176] usb 1-10: usb_disable_device nuking all URBs
[ 51.942039] usb usb1-port10: debounce total 100ms stable 100ms status 0x100

Can you please attach full dmesg when it's using power button?

Revision history for this message
odjdsup (odjdsup) wrote :

I experience this exact bug on Fedora 32 Rawhide (kernel 5.4.0-0.rc6.git1.1.fc32.x86_64). I have attached a dmesg log for waking from sleep with the power button (touch works) and waking from sleep by opening the lid and pressing a key (touch does not work). Each log is from an independent system boot so they should hopefully be easily diff-able.

Changed in linux (Fedora):
status: New → Confirmed
Revision history for this message
Alexander Schröder (alsch068) wrote :

Can confirm this problem.
Zorin OS 15 (Ubuntu 18.04 base - kernel 5.0.0-37-generic).
Tried disconnecting touchscreen before sleep, no success.
Anyone working on a fix?

Revision history for this message
Aleksei Gusev (hron) wrote :

I'm not sure if it's important or not, but even if touch screen stops working you can close the lid, wait for the laptop to sleep and then click power button to wake it up. Then when you open the lid the touch screen works.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Can you please test kernel parameter "usbcore.quirks=056a:5146:m"?

Revision history for this message
Marco (marcaux) wrote :

Adding "usbcore.quirks=056a:5146:m" to the kernel parameters in the current Focal ISO sadly doesn't make a difference.

Revision history for this message
Ricky Brent (rickybrent) wrote :

usbcore.quirks=056a:5146:m also failed for me (with 19.10 and focal); I read on the Arch wiki that disabling Thunderbolt in the bios (under Security -> IO ports) might work and tried it, and it worked!

I imagine this breaks Thunderbolt, but have no way to test.

Revision history for this message
Marco (marcaux) wrote :

This indeed disables Thunderbolt as described.

Revision history for this message
Dracco (dracco) wrote :

I am also affected by this. Is there any workaround? Disabling Thunderbolt wont work for me as i rely on it even more than on touch (I am using a dock with 2 external screens and bunch of USB connected over 8h a day).

Revision history for this message
Ricky Brent (rickybrent) wrote :

There's a better workaround (method 3) now suggested on the arch wiki page:
https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Yoga_(Gen_3)

It works with Ubuntu as well; you can test it when the touch screen isn't responding with:

sudo apt install acpi-call-dkms; sudo modprobe acpi_call; echo '\\_SB.PCI0.LPCB.EC._Q2A' | sudo tee /proc/acpi/call

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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