You are not logged in.
Hi,
since the update to linux 4.17 my laptop shows the following behavior: after a reboot the first time the lid is closed or the suspend key is pressed it works as expected. Every time after that it wakes up immediately after going into suspend. I have posted the journal output of the relevant time frame here, but it doesn't look very informative to me. The relevant line is
Jul 18 17:19:44 archy kernel: ACPI: Waking up from system sleep state S3
If anyone has an idea what causes this, I'd appreciate it.
The issue disappears after downgrading to linux 4.16.13.
I have verified that the issue occurs with linux 4.17.2, 4.17.3, 4.17.4 and 4.17.6.
Last edited by DrFrankenstein (2018-10-09 15:32:02)
Offline
Hello,
For what it is worth, since about 10 days I observe the same phenomenon also on a Lenovo X250 (though in my case the latest version that I remember working might have been 4.17.3-1 - I haven't had the opportunity to downgrade the kernel to check).
Immediately after going into suspend the machine wakes up again:
systemctl suspend
[...]
[33188.519048] PM: Saving platform NVS memory
[33188.519071] Disabling non-boot CPUs ...
[33188.559767] smpboot: CPU 1 is now offline
[33188.598932] smpboot: CPU 2 is now offline
[33188.632151] smpboot: CPU 3 is now offline
[33188.635210] ACPI: Low-level resume complete
[33188.635256] ACPI: EC: EC started
[33188.635257] PM: Restoring platform NVS memory
[...]
I've tried disabling most wakeup criteria, but only when disabling IGBE the laptop now actually stays suspended:
cat /proc/acpi/wakeup
Device S-state Status Sysfs node
LID S4 *disabled platform:PNP0C0D:00
SLPB S3 *enabled platform:PNP0C0E:00
IGBE S4 *disabled pci:0000:00:19.0
EXP2 S4 *disabled pci:0000:00:1c.1
XHCI S3 *disabled pci:0000:00:14.0
EHC1 S3 *disabled pci:0000:00:1d.0
I don't know why IGBE (= Integrated Gigabit Ethernet) should make the difference - I don't even have an Ethernet cable connected. Has this workaround the same effect on the X230?
Offline
Thank you very much. I have tried many combinations and this configuration works for me:
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
LID S4 *enabled platform:PNP0C0D:00
SLPB S3 *enabled platform:PNP0C0E:00
IGBE S4 *disabled pci:0000:00:19.0
EXP3 S4 *disabled pci:0000:00:1c.2
XHCI S3 *disabled pci:0000:00:14.0
EHC1 S3 *disabled pci:0000:00:1d.0
EHC2 S3 *disabled pci:0000:00:1a.0
HDEF S4 *disabled pci:0000:00:1b.0
It seems that enabling any of the devices where 'Sysfs node' begins with 'pci' leads to the problem. I don't really know what that means. Probably those are devices conneted via PCI?
So I'm still searching for an explanation, but thank you for the workaround.
P.S.: Problem persists at linux 4.17.8.
Last edited by DrFrankenstein (2018-07-23 11:54:27)
Offline
I also have this problem with my Lenovo X1 Carbon 1st generation. I also had to disable XHCI, EHC1 and EHC2 for the suspend to work. Thanks!
For people looking for some more information, here is the relevant section in the wiki: https://wiki.archlinux.org/index.php/Po … om_suspend
And here is a forum post that shows how to create a systemd unit file to automatically disable these wakeups on boot: https://bbs.archlinux.org/viewtopic.php … 7#p1575617
Offline
DrFrankenstein, you are surely right that the handling of devices connected via PCI has changed for the worse in 4.17. I guess that this is a regression / bug. I haven't seen any relevant ticket in Arch's bug tracker yet, so will you create on? I'm not sure if it should be done upstream in the kernel bug tracker, though
pfrenssen, thanks for the pointer to the wiki. A workaround I've created myself a bash script, for now to be executed manually, but possibly to executed on boot if the problem persists
Offline
DrFrankenstein, you are surely right that the handling of devices connected via PCI has changed for the worse in 4.17. I guess that this is a regression / bug. I haven't seen any relevant ticket in Arch's bug tracker yet, so will you create on? I'm not sure if it should be done upstream in the kernel bug tracker, though
It it is a packaging / integration bug then report it to the arch bug tracker.
If it is a kernel bug report it to the kernel (note the kernel bug tracker is not the appropriate mechanism for many sub systems).
If it is an intended change rather than a bug do not report it anywhere. What are the PCI devices that are generating the wakeups?
Before reporting upstream I would suggest bisecting the kernel to find which commit caused the change.
Then see if you can determine from the commit message if the change was intentional or a bug.
Offline
There are numerous commits in 4.17 related to the ACPI subsystem, notably fe03a7594d86e0754f05e604cd803a6a9aae3c1c, 2c85025c75dfe7ddc2bb33363a998dad59383f94 and b50154d53e668314542ef9a592accc37137a8f65 (there are more, cf. https://github.com/torvalds/linux). None of these seems to be aimed at disturbing the functioning of suspend on Lenovo x devices. I don't have the necessary know-how to analyze these changes in more detail.
In terms of PCI devices I need to deactivate at least IGBE, XHCI, and EHC1 to avoid unwanted wakeups after suspend
Offline
Quick update: The issue is fixed at linux 4.18.12.arch1-1. Disabling the devices is no longer necessary. I didn't find out what change caused this, but the topic is solved.
Offline