Lenovo Thinkpad A475 suspend problem
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
0
down vote
favorite
I've got a Lenovo A475 running Ubuntu 17.10
Kernel:
4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Problem
The system does not stay suspended most of the time. If I go to suspend by pressing the power button and selecting suspend in the menu, the system goes to suspend for a brief moment and then immediately wakes up again.
If this is the case and I try to shutdown the computer completely it immediately reboots after the shutdown.
Here is a kernel log from a working suspend, where the system stays suspended:
[27662.813906] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27672.893549] PM: Syncing filesystems ... done.
[27672.906512] PM: Preparing system for sleep (mem)
[27672.906976] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27672.909932] OOM killer disabled.
[27672.909933] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27672.911919] PM: Suspending system (mem)
[27672.911965] Suspending console(s) (use no_console_suspend to debug)
[27673.309477] amdgpu: [powerplay] min_core_set_clock not set
[27673.740288] PM: suspend of devices complete after 827.870 msecs
[27673.741494] PM: late suspend of devices complete after 1.198 msecs
[27673.800476] PM: noirq suspend of devices complete after 58.974 msecs
[27673.800513] ACPI: Preparing to enter system sleep state S3
[27674.132241] ACPI: EC: event blocked
[27674.132243] ACPI: EC: EC stopped
[27674.132244] PM: Saving platform NVS memory
[27674.132272] Disabling non-boot CPUs ...
[27674.150225] smpboot: CPU 1 is now offline
[27674.168878] IRQ 44: no longer affine to CPU2
[27674.169904] smpboot: CPU 2 is now offline
[27674.196562] IRQ 1: no longer affine to CPU3
[27674.196567] IRQ 9: no longer affine to CPU3
[27674.196571] IRQ 12: no longer affine to CPU3
[27674.197594] smpboot: CPU 3 is now offline
[27674.197641] ACPI: Low-level resume complete
[27674.197641] ACPI: EC: EC started
[27674.197641] PM: Restoring platform NVS memory
[27674.197641] LVT offset 0 assigned for vector 0x400
[27674.197641] Suspended for 13.451 seconds
[27674.197641] Enabling non-boot CPUs ...
[27674.197641] x86: Booting SMP configuration:
[27674.197641] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27674.199387] cache: parent cpu1 should not be sleeping
[27674.199476] microcode: CPU1: patch_level=0x06006118
[27674.199681] CPU1 is up
[27674.199713] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27674.200221] cache: parent cpu2 should not be sleeping
[27674.200325] microcode: CPU2: patch_level=0x06006118
[27674.200676] CPU2 is up
[27674.200694] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27674.201063] cache: parent cpu3 should not be sleeping
[27674.201162] microcode: CPU3: patch_level=0x06006118
[27674.202033] CPU3 is up
[27674.202633] ACPI: Waking up from system sleep state S3
[27675.205502] PM: noirq resume of devices complete after 41.201 msecs
[27675.206830] PM: early resume of devices complete after 1.259 msecs
[27675.206999] ACPI: EC: event unblocked
[27675.207189] rtlwifi: rtlwifi: wireless switch is on
And here is a log where the system did not stay suspended:
[27772.501575] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27782.568299] PM: Syncing filesystems ... done.
[27782.583517] PM: Preparing system for sleep (mem)
[27782.584194] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27782.587130] OOM killer disabled.
[27782.587131] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27782.588661] PM: Suspending system (mem)
[27782.588707] Suspending console(s) (use no_console_suspend to debug)
[27782.979671] amdgpu: [powerplay] min_core_set_clock not set
[27783.156276] PM: suspend of devices complete after 567.192 msecs
[27783.157518] PM: late suspend of devices complete after 1.234 msecs
[27783.216763] PM: noirq suspend of devices complete after 59.238 msecs
[27783.216796] ACPI: Preparing to enter system sleep state S3
[27783.548241] ACPI: EC: event blocked
[27783.548243] ACPI: EC: EC stopped
[27783.548244] PM: Saving platform NVS memory
[27783.548269] Disabling non-boot CPUs ...
[27783.566060] smpboot: CPU 1 is now offline
[27783.585791] smpboot: CPU 2 is now offline
[27783.612520] IRQ 1: no longer affine to CPU3
[27783.612525] IRQ 9: no longer affine to CPU3
[27783.612529] IRQ 12: no longer affine to CPU3
[27783.612538] IRQ 44: no longer affine to CPU3
[27783.613553] smpboot: CPU 3 is now offline
[27783.613605] ACPI: Low-level resume complete
[27783.613605] ACPI: EC: EC started
[27783.613605] PM: Restoring platform NVS memory
[27783.613605] LVT offset 0 assigned for vector 0x400
[27783.613605] Suspended for 1.436 seconds
[27783.613605] Enabling non-boot CPUs ...
[27783.613605] x86: Booting SMP configuration:
[27783.613605] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27783.615061] cache: parent cpu1 should not be sleeping
[27783.615150] microcode: CPU1: patch_level=0x06006118
[27783.615327] CPU1 is up
[27783.615372] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27783.615897] cache: parent cpu2 should not be sleeping
[27783.616000] microcode: CPU2: patch_level=0x06006118
[27783.616313] CPU2 is up
[27783.616332] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27783.616729] cache: parent cpu3 should not be sleeping
[27783.616838] microcode: CPU3: patch_level=0x06006118
[27783.617554] CPU3 is up
[27783.618155] ACPI: Waking up from system sleep state S3
[27784.613649] PM: noirq resume of devices complete after 41.395 msecs
[27784.614935] PM: early resume of devices complete after 1.255 msecs
[27784.615105] ACPI: EC: event unblocked
[27784.615322] rtlwifi: rtlwifi: wireless switch is on
I did not find any real differences that could explain this behavior.
After some digging I found advice that mentioned disabling everything that could wakeup the system before suspend.
So I tried to disable wifi and disabled everything in /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP0 S4 *disabled
GPP1 S4 *disabled pci:0000:00:02.2
GPP2 S4 *disabled pci:0000:00:02.3
GPP3 S4 *disabled pci:0000:00:02.4
GFX1 S4 *disabled
GFX2 S4 *disabled
GFX3 S4 *disabled
GFX4 S4 *disabled
XHC0 S3 *disabled pci:0000:00:10.0
EHC1 S3 *disabled pci:0000:00:12.0
SBAZ S4 *disabled
LID S3 *disabled platform:PNP0C0D:00
SLPB S3 *disabled platform:PNP0C0E:00
But it still restarts immediately after suspend.
Partial solution
After some further digging I figured out that the problem only arises if I wakeup the system by opening the lid.
If I suspend and resume solely with the power button without closing the lid the above mentioned problem does not arise.
It somehow seems the event generated by opening the lid is always present after it has been emitted once (I don't know if this is the correct terminology, but it is the best explanation i have)
Disabling the lid in /proc/acpi/wakeup before it is emitted keeps the problem from occuring. This means that the system will not wakeup if the laptop lid is opened but pressing a button to wake it up is not really a trouble to me.
In order to disable the lid permanently I created a small systemd service that makes the change
Create a file /etc/systemd/system/lid-deactivate.service
[Unit]
Description=Deactivate LID
[Service]
ExecStart=/var/scripts/deactivate-lid.sh
[Install]
WantedBy=multi-user.target
and a script /var/scripts/deactivate-lid.sh (or wherever you want to put it)
#!/bin/bash
#Disable the lid switch
echo "LID" > /proc/acpi/wakeup
and make it executable.
Finally enable the service with
systemctl enable lid-deactivate
After that every time the system starts the lid gets deactivated (please note that writing to /proc/acpi/wakeup toggles the state of each acpi device, so if you call it more than once it will get reenabled)
Conclusion
This is only a temporary fix and I hope this helps someone with the same issue, while at the same time I also hope that someone can help find a permanent fix that does not require this workaround.
suspend power-management lenovo acpi
add a comment |Â
up vote
0
down vote
favorite
I've got a Lenovo A475 running Ubuntu 17.10
Kernel:
4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Problem
The system does not stay suspended most of the time. If I go to suspend by pressing the power button and selecting suspend in the menu, the system goes to suspend for a brief moment and then immediately wakes up again.
If this is the case and I try to shutdown the computer completely it immediately reboots after the shutdown.
Here is a kernel log from a working suspend, where the system stays suspended:
[27662.813906] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27672.893549] PM: Syncing filesystems ... done.
[27672.906512] PM: Preparing system for sleep (mem)
[27672.906976] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27672.909932] OOM killer disabled.
[27672.909933] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27672.911919] PM: Suspending system (mem)
[27672.911965] Suspending console(s) (use no_console_suspend to debug)
[27673.309477] amdgpu: [powerplay] min_core_set_clock not set
[27673.740288] PM: suspend of devices complete after 827.870 msecs
[27673.741494] PM: late suspend of devices complete after 1.198 msecs
[27673.800476] PM: noirq suspend of devices complete after 58.974 msecs
[27673.800513] ACPI: Preparing to enter system sleep state S3
[27674.132241] ACPI: EC: event blocked
[27674.132243] ACPI: EC: EC stopped
[27674.132244] PM: Saving platform NVS memory
[27674.132272] Disabling non-boot CPUs ...
[27674.150225] smpboot: CPU 1 is now offline
[27674.168878] IRQ 44: no longer affine to CPU2
[27674.169904] smpboot: CPU 2 is now offline
[27674.196562] IRQ 1: no longer affine to CPU3
[27674.196567] IRQ 9: no longer affine to CPU3
[27674.196571] IRQ 12: no longer affine to CPU3
[27674.197594] smpboot: CPU 3 is now offline
[27674.197641] ACPI: Low-level resume complete
[27674.197641] ACPI: EC: EC started
[27674.197641] PM: Restoring platform NVS memory
[27674.197641] LVT offset 0 assigned for vector 0x400
[27674.197641] Suspended for 13.451 seconds
[27674.197641] Enabling non-boot CPUs ...
[27674.197641] x86: Booting SMP configuration:
[27674.197641] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27674.199387] cache: parent cpu1 should not be sleeping
[27674.199476] microcode: CPU1: patch_level=0x06006118
[27674.199681] CPU1 is up
[27674.199713] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27674.200221] cache: parent cpu2 should not be sleeping
[27674.200325] microcode: CPU2: patch_level=0x06006118
[27674.200676] CPU2 is up
[27674.200694] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27674.201063] cache: parent cpu3 should not be sleeping
[27674.201162] microcode: CPU3: patch_level=0x06006118
[27674.202033] CPU3 is up
[27674.202633] ACPI: Waking up from system sleep state S3
[27675.205502] PM: noirq resume of devices complete after 41.201 msecs
[27675.206830] PM: early resume of devices complete after 1.259 msecs
[27675.206999] ACPI: EC: event unblocked
[27675.207189] rtlwifi: rtlwifi: wireless switch is on
And here is a log where the system did not stay suspended:
[27772.501575] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27782.568299] PM: Syncing filesystems ... done.
[27782.583517] PM: Preparing system for sleep (mem)
[27782.584194] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27782.587130] OOM killer disabled.
[27782.587131] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27782.588661] PM: Suspending system (mem)
[27782.588707] Suspending console(s) (use no_console_suspend to debug)
[27782.979671] amdgpu: [powerplay] min_core_set_clock not set
[27783.156276] PM: suspend of devices complete after 567.192 msecs
[27783.157518] PM: late suspend of devices complete after 1.234 msecs
[27783.216763] PM: noirq suspend of devices complete after 59.238 msecs
[27783.216796] ACPI: Preparing to enter system sleep state S3
[27783.548241] ACPI: EC: event blocked
[27783.548243] ACPI: EC: EC stopped
[27783.548244] PM: Saving platform NVS memory
[27783.548269] Disabling non-boot CPUs ...
[27783.566060] smpboot: CPU 1 is now offline
[27783.585791] smpboot: CPU 2 is now offline
[27783.612520] IRQ 1: no longer affine to CPU3
[27783.612525] IRQ 9: no longer affine to CPU3
[27783.612529] IRQ 12: no longer affine to CPU3
[27783.612538] IRQ 44: no longer affine to CPU3
[27783.613553] smpboot: CPU 3 is now offline
[27783.613605] ACPI: Low-level resume complete
[27783.613605] ACPI: EC: EC started
[27783.613605] PM: Restoring platform NVS memory
[27783.613605] LVT offset 0 assigned for vector 0x400
[27783.613605] Suspended for 1.436 seconds
[27783.613605] Enabling non-boot CPUs ...
[27783.613605] x86: Booting SMP configuration:
[27783.613605] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27783.615061] cache: parent cpu1 should not be sleeping
[27783.615150] microcode: CPU1: patch_level=0x06006118
[27783.615327] CPU1 is up
[27783.615372] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27783.615897] cache: parent cpu2 should not be sleeping
[27783.616000] microcode: CPU2: patch_level=0x06006118
[27783.616313] CPU2 is up
[27783.616332] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27783.616729] cache: parent cpu3 should not be sleeping
[27783.616838] microcode: CPU3: patch_level=0x06006118
[27783.617554] CPU3 is up
[27783.618155] ACPI: Waking up from system sleep state S3
[27784.613649] PM: noirq resume of devices complete after 41.395 msecs
[27784.614935] PM: early resume of devices complete after 1.255 msecs
[27784.615105] ACPI: EC: event unblocked
[27784.615322] rtlwifi: rtlwifi: wireless switch is on
I did not find any real differences that could explain this behavior.
After some digging I found advice that mentioned disabling everything that could wakeup the system before suspend.
So I tried to disable wifi and disabled everything in /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP0 S4 *disabled
GPP1 S4 *disabled pci:0000:00:02.2
GPP2 S4 *disabled pci:0000:00:02.3
GPP3 S4 *disabled pci:0000:00:02.4
GFX1 S4 *disabled
GFX2 S4 *disabled
GFX3 S4 *disabled
GFX4 S4 *disabled
XHC0 S3 *disabled pci:0000:00:10.0
EHC1 S3 *disabled pci:0000:00:12.0
SBAZ S4 *disabled
LID S3 *disabled platform:PNP0C0D:00
SLPB S3 *disabled platform:PNP0C0E:00
But it still restarts immediately after suspend.
Partial solution
After some further digging I figured out that the problem only arises if I wakeup the system by opening the lid.
If I suspend and resume solely with the power button without closing the lid the above mentioned problem does not arise.
It somehow seems the event generated by opening the lid is always present after it has been emitted once (I don't know if this is the correct terminology, but it is the best explanation i have)
Disabling the lid in /proc/acpi/wakeup before it is emitted keeps the problem from occuring. This means that the system will not wakeup if the laptop lid is opened but pressing a button to wake it up is not really a trouble to me.
In order to disable the lid permanently I created a small systemd service that makes the change
Create a file /etc/systemd/system/lid-deactivate.service
[Unit]
Description=Deactivate LID
[Service]
ExecStart=/var/scripts/deactivate-lid.sh
[Install]
WantedBy=multi-user.target
and a script /var/scripts/deactivate-lid.sh (or wherever you want to put it)
#!/bin/bash
#Disable the lid switch
echo "LID" > /proc/acpi/wakeup
and make it executable.
Finally enable the service with
systemctl enable lid-deactivate
After that every time the system starts the lid gets deactivated (please note that writing to /proc/acpi/wakeup toggles the state of each acpi device, so if you call it more than once it will get reenabled)
Conclusion
This is only a temporary fix and I hope this helps someone with the same issue, while at the same time I also hope that someone can help find a permanent fix that does not require this workaround.
suspend power-management lenovo acpi
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I've got a Lenovo A475 running Ubuntu 17.10
Kernel:
4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Problem
The system does not stay suspended most of the time. If I go to suspend by pressing the power button and selecting suspend in the menu, the system goes to suspend for a brief moment and then immediately wakes up again.
If this is the case and I try to shutdown the computer completely it immediately reboots after the shutdown.
Here is a kernel log from a working suspend, where the system stays suspended:
[27662.813906] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27672.893549] PM: Syncing filesystems ... done.
[27672.906512] PM: Preparing system for sleep (mem)
[27672.906976] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27672.909932] OOM killer disabled.
[27672.909933] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27672.911919] PM: Suspending system (mem)
[27672.911965] Suspending console(s) (use no_console_suspend to debug)
[27673.309477] amdgpu: [powerplay] min_core_set_clock not set
[27673.740288] PM: suspend of devices complete after 827.870 msecs
[27673.741494] PM: late suspend of devices complete after 1.198 msecs
[27673.800476] PM: noirq suspend of devices complete after 58.974 msecs
[27673.800513] ACPI: Preparing to enter system sleep state S3
[27674.132241] ACPI: EC: event blocked
[27674.132243] ACPI: EC: EC stopped
[27674.132244] PM: Saving platform NVS memory
[27674.132272] Disabling non-boot CPUs ...
[27674.150225] smpboot: CPU 1 is now offline
[27674.168878] IRQ 44: no longer affine to CPU2
[27674.169904] smpboot: CPU 2 is now offline
[27674.196562] IRQ 1: no longer affine to CPU3
[27674.196567] IRQ 9: no longer affine to CPU3
[27674.196571] IRQ 12: no longer affine to CPU3
[27674.197594] smpboot: CPU 3 is now offline
[27674.197641] ACPI: Low-level resume complete
[27674.197641] ACPI: EC: EC started
[27674.197641] PM: Restoring platform NVS memory
[27674.197641] LVT offset 0 assigned for vector 0x400
[27674.197641] Suspended for 13.451 seconds
[27674.197641] Enabling non-boot CPUs ...
[27674.197641] x86: Booting SMP configuration:
[27674.197641] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27674.199387] cache: parent cpu1 should not be sleeping
[27674.199476] microcode: CPU1: patch_level=0x06006118
[27674.199681] CPU1 is up
[27674.199713] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27674.200221] cache: parent cpu2 should not be sleeping
[27674.200325] microcode: CPU2: patch_level=0x06006118
[27674.200676] CPU2 is up
[27674.200694] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27674.201063] cache: parent cpu3 should not be sleeping
[27674.201162] microcode: CPU3: patch_level=0x06006118
[27674.202033] CPU3 is up
[27674.202633] ACPI: Waking up from system sleep state S3
[27675.205502] PM: noirq resume of devices complete after 41.201 msecs
[27675.206830] PM: early resume of devices complete after 1.259 msecs
[27675.206999] ACPI: EC: event unblocked
[27675.207189] rtlwifi: rtlwifi: wireless switch is on
And here is a log where the system did not stay suspended:
[27772.501575] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27782.568299] PM: Syncing filesystems ... done.
[27782.583517] PM: Preparing system for sleep (mem)
[27782.584194] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27782.587130] OOM killer disabled.
[27782.587131] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27782.588661] PM: Suspending system (mem)
[27782.588707] Suspending console(s) (use no_console_suspend to debug)
[27782.979671] amdgpu: [powerplay] min_core_set_clock not set
[27783.156276] PM: suspend of devices complete after 567.192 msecs
[27783.157518] PM: late suspend of devices complete after 1.234 msecs
[27783.216763] PM: noirq suspend of devices complete after 59.238 msecs
[27783.216796] ACPI: Preparing to enter system sleep state S3
[27783.548241] ACPI: EC: event blocked
[27783.548243] ACPI: EC: EC stopped
[27783.548244] PM: Saving platform NVS memory
[27783.548269] Disabling non-boot CPUs ...
[27783.566060] smpboot: CPU 1 is now offline
[27783.585791] smpboot: CPU 2 is now offline
[27783.612520] IRQ 1: no longer affine to CPU3
[27783.612525] IRQ 9: no longer affine to CPU3
[27783.612529] IRQ 12: no longer affine to CPU3
[27783.612538] IRQ 44: no longer affine to CPU3
[27783.613553] smpboot: CPU 3 is now offline
[27783.613605] ACPI: Low-level resume complete
[27783.613605] ACPI: EC: EC started
[27783.613605] PM: Restoring platform NVS memory
[27783.613605] LVT offset 0 assigned for vector 0x400
[27783.613605] Suspended for 1.436 seconds
[27783.613605] Enabling non-boot CPUs ...
[27783.613605] x86: Booting SMP configuration:
[27783.613605] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27783.615061] cache: parent cpu1 should not be sleeping
[27783.615150] microcode: CPU1: patch_level=0x06006118
[27783.615327] CPU1 is up
[27783.615372] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27783.615897] cache: parent cpu2 should not be sleeping
[27783.616000] microcode: CPU2: patch_level=0x06006118
[27783.616313] CPU2 is up
[27783.616332] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27783.616729] cache: parent cpu3 should not be sleeping
[27783.616838] microcode: CPU3: patch_level=0x06006118
[27783.617554] CPU3 is up
[27783.618155] ACPI: Waking up from system sleep state S3
[27784.613649] PM: noirq resume of devices complete after 41.395 msecs
[27784.614935] PM: early resume of devices complete after 1.255 msecs
[27784.615105] ACPI: EC: event unblocked
[27784.615322] rtlwifi: rtlwifi: wireless switch is on
I did not find any real differences that could explain this behavior.
After some digging I found advice that mentioned disabling everything that could wakeup the system before suspend.
So I tried to disable wifi and disabled everything in /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP0 S4 *disabled
GPP1 S4 *disabled pci:0000:00:02.2
GPP2 S4 *disabled pci:0000:00:02.3
GPP3 S4 *disabled pci:0000:00:02.4
GFX1 S4 *disabled
GFX2 S4 *disabled
GFX3 S4 *disabled
GFX4 S4 *disabled
XHC0 S3 *disabled pci:0000:00:10.0
EHC1 S3 *disabled pci:0000:00:12.0
SBAZ S4 *disabled
LID S3 *disabled platform:PNP0C0D:00
SLPB S3 *disabled platform:PNP0C0E:00
But it still restarts immediately after suspend.
Partial solution
After some further digging I figured out that the problem only arises if I wakeup the system by opening the lid.
If I suspend and resume solely with the power button without closing the lid the above mentioned problem does not arise.
It somehow seems the event generated by opening the lid is always present after it has been emitted once (I don't know if this is the correct terminology, but it is the best explanation i have)
Disabling the lid in /proc/acpi/wakeup before it is emitted keeps the problem from occuring. This means that the system will not wakeup if the laptop lid is opened but pressing a button to wake it up is not really a trouble to me.
In order to disable the lid permanently I created a small systemd service that makes the change
Create a file /etc/systemd/system/lid-deactivate.service
[Unit]
Description=Deactivate LID
[Service]
ExecStart=/var/scripts/deactivate-lid.sh
[Install]
WantedBy=multi-user.target
and a script /var/scripts/deactivate-lid.sh (or wherever you want to put it)
#!/bin/bash
#Disable the lid switch
echo "LID" > /proc/acpi/wakeup
and make it executable.
Finally enable the service with
systemctl enable lid-deactivate
After that every time the system starts the lid gets deactivated (please note that writing to /proc/acpi/wakeup toggles the state of each acpi device, so if you call it more than once it will get reenabled)
Conclusion
This is only a temporary fix and I hope this helps someone with the same issue, while at the same time I also hope that someone can help find a permanent fix that does not require this workaround.
suspend power-management lenovo acpi
I've got a Lenovo A475 running Ubuntu 17.10
Kernel:
4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Problem
The system does not stay suspended most of the time. If I go to suspend by pressing the power button and selecting suspend in the menu, the system goes to suspend for a brief moment and then immediately wakes up again.
If this is the case and I try to shutdown the computer completely it immediately reboots after the shutdown.
Here is a kernel log from a working suspend, where the system stays suspended:
[27662.813906] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27672.893549] PM: Syncing filesystems ... done.
[27672.906512] PM: Preparing system for sleep (mem)
[27672.906976] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27672.909932] OOM killer disabled.
[27672.909933] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27672.911919] PM: Suspending system (mem)
[27672.911965] Suspending console(s) (use no_console_suspend to debug)
[27673.309477] amdgpu: [powerplay] min_core_set_clock not set
[27673.740288] PM: suspend of devices complete after 827.870 msecs
[27673.741494] PM: late suspend of devices complete after 1.198 msecs
[27673.800476] PM: noirq suspend of devices complete after 58.974 msecs
[27673.800513] ACPI: Preparing to enter system sleep state S3
[27674.132241] ACPI: EC: event blocked
[27674.132243] ACPI: EC: EC stopped
[27674.132244] PM: Saving platform NVS memory
[27674.132272] Disabling non-boot CPUs ...
[27674.150225] smpboot: CPU 1 is now offline
[27674.168878] IRQ 44: no longer affine to CPU2
[27674.169904] smpboot: CPU 2 is now offline
[27674.196562] IRQ 1: no longer affine to CPU3
[27674.196567] IRQ 9: no longer affine to CPU3
[27674.196571] IRQ 12: no longer affine to CPU3
[27674.197594] smpboot: CPU 3 is now offline
[27674.197641] ACPI: Low-level resume complete
[27674.197641] ACPI: EC: EC started
[27674.197641] PM: Restoring platform NVS memory
[27674.197641] LVT offset 0 assigned for vector 0x400
[27674.197641] Suspended for 13.451 seconds
[27674.197641] Enabling non-boot CPUs ...
[27674.197641] x86: Booting SMP configuration:
[27674.197641] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27674.199387] cache: parent cpu1 should not be sleeping
[27674.199476] microcode: CPU1: patch_level=0x06006118
[27674.199681] CPU1 is up
[27674.199713] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27674.200221] cache: parent cpu2 should not be sleeping
[27674.200325] microcode: CPU2: patch_level=0x06006118
[27674.200676] CPU2 is up
[27674.200694] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27674.201063] cache: parent cpu3 should not be sleeping
[27674.201162] microcode: CPU3: patch_level=0x06006118
[27674.202033] CPU3 is up
[27674.202633] ACPI: Waking up from system sleep state S3
[27675.205502] PM: noirq resume of devices complete after 41.201 msecs
[27675.206830] PM: early resume of devices complete after 1.259 msecs
[27675.206999] ACPI: EC: event unblocked
[27675.207189] rtlwifi: rtlwifi: wireless switch is on
And here is a log where the system did not stay suspended:
[27772.501575] wlp3s0: deauthenticating from 8c:04:ff:7b:de:9d by local choice (Reason: 3=DEAUTH_LEAVING)
[27782.568299] PM: Syncing filesystems ... done.
[27782.583517] PM: Preparing system for sleep (mem)
[27782.584194] Freezing user space processes ... (elapsed 0.002 seconds) done.
[27782.587130] OOM killer disabled.
[27782.587131] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[27782.588661] PM: Suspending system (mem)
[27782.588707] Suspending console(s) (use no_console_suspend to debug)
[27782.979671] amdgpu: [powerplay] min_core_set_clock not set
[27783.156276] PM: suspend of devices complete after 567.192 msecs
[27783.157518] PM: late suspend of devices complete after 1.234 msecs
[27783.216763] PM: noirq suspend of devices complete after 59.238 msecs
[27783.216796] ACPI: Preparing to enter system sleep state S3
[27783.548241] ACPI: EC: event blocked
[27783.548243] ACPI: EC: EC stopped
[27783.548244] PM: Saving platform NVS memory
[27783.548269] Disabling non-boot CPUs ...
[27783.566060] smpboot: CPU 1 is now offline
[27783.585791] smpboot: CPU 2 is now offline
[27783.612520] IRQ 1: no longer affine to CPU3
[27783.612525] IRQ 9: no longer affine to CPU3
[27783.612529] IRQ 12: no longer affine to CPU3
[27783.612538] IRQ 44: no longer affine to CPU3
[27783.613553] smpboot: CPU 3 is now offline
[27783.613605] ACPI: Low-level resume complete
[27783.613605] ACPI: EC: EC started
[27783.613605] PM: Restoring platform NVS memory
[27783.613605] LVT offset 0 assigned for vector 0x400
[27783.613605] Suspended for 1.436 seconds
[27783.613605] Enabling non-boot CPUs ...
[27783.613605] x86: Booting SMP configuration:
[27783.613605] smpboot: Booting Node 0 Processor 1 APIC 0x11
[27783.615061] cache: parent cpu1 should not be sleeping
[27783.615150] microcode: CPU1: patch_level=0x06006118
[27783.615327] CPU1 is up
[27783.615372] smpboot: Booting Node 0 Processor 2 APIC 0x12
[27783.615897] cache: parent cpu2 should not be sleeping
[27783.616000] microcode: CPU2: patch_level=0x06006118
[27783.616313] CPU2 is up
[27783.616332] smpboot: Booting Node 0 Processor 3 APIC 0x13
[27783.616729] cache: parent cpu3 should not be sleeping
[27783.616838] microcode: CPU3: patch_level=0x06006118
[27783.617554] CPU3 is up
[27783.618155] ACPI: Waking up from system sleep state S3
[27784.613649] PM: noirq resume of devices complete after 41.395 msecs
[27784.614935] PM: early resume of devices complete after 1.255 msecs
[27784.615105] ACPI: EC: event unblocked
[27784.615322] rtlwifi: rtlwifi: wireless switch is on
I did not find any real differences that could explain this behavior.
After some digging I found advice that mentioned disabling everything that could wakeup the system before suspend.
So I tried to disable wifi and disabled everything in /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP0 S4 *disabled
GPP1 S4 *disabled pci:0000:00:02.2
GPP2 S4 *disabled pci:0000:00:02.3
GPP3 S4 *disabled pci:0000:00:02.4
GFX1 S4 *disabled
GFX2 S4 *disabled
GFX3 S4 *disabled
GFX4 S4 *disabled
XHC0 S3 *disabled pci:0000:00:10.0
EHC1 S3 *disabled pci:0000:00:12.0
SBAZ S4 *disabled
LID S3 *disabled platform:PNP0C0D:00
SLPB S3 *disabled platform:PNP0C0E:00
But it still restarts immediately after suspend.
Partial solution
After some further digging I figured out that the problem only arises if I wakeup the system by opening the lid.
If I suspend and resume solely with the power button without closing the lid the above mentioned problem does not arise.
It somehow seems the event generated by opening the lid is always present after it has been emitted once (I don't know if this is the correct terminology, but it is the best explanation i have)
Disabling the lid in /proc/acpi/wakeup before it is emitted keeps the problem from occuring. This means that the system will not wakeup if the laptop lid is opened but pressing a button to wake it up is not really a trouble to me.
In order to disable the lid permanently I created a small systemd service that makes the change
Create a file /etc/systemd/system/lid-deactivate.service
[Unit]
Description=Deactivate LID
[Service]
ExecStart=/var/scripts/deactivate-lid.sh
[Install]
WantedBy=multi-user.target
and a script /var/scripts/deactivate-lid.sh (or wherever you want to put it)
#!/bin/bash
#Disable the lid switch
echo "LID" > /proc/acpi/wakeup
and make it executable.
Finally enable the service with
systemctl enable lid-deactivate
After that every time the system starts the lid gets deactivated (please note that writing to /proc/acpi/wakeup toggles the state of each acpi device, so if you call it more than once it will get reenabled)
Conclusion
This is only a temporary fix and I hope this helps someone with the same issue, while at the same time I also hope that someone can help find a permanent fix that does not require this workaround.
suspend power-management lenovo acpi
suspend power-management lenovo acpi
asked Feb 28 at 8:55
![](https://lh6.googleusercontent.com/-2jeFJQa1jm0/AAAAAAAAAAI/AAAAAAAAAKc/WkYnfpZkqKs/photo.jpg?sz=32)
![](https://lh6.googleusercontent.com/-2jeFJQa1jm0/AAAAAAAAAAI/AAAAAAAAAKc/WkYnfpZkqKs/photo.jpg?sz=32)
Michael Gschwandtner
11
11
add a comment |Â
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1010566%2flenovo-thinkpad-a475-suspend-problem%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password