1

I have a fresh Linux Mint Xfce 21.1 on Lenovo IdeaPad 5 Pro 14ACN6. Sleep/wake works fine when I close and open the lid except one problem: plugging or unplugging the power supply when sleeping wakes up the OS. I detect waking up by the "breathing" LED that stops breathing and lights up.
I need a way to prevent laptop from waking on the events of power plugging and unplugging.

To fix the problem myself I checked every option on BIOS that relates to waking from sleep. Then I did the same in power manager in Linux. It didn't help.
I tried changing kernels (5.15, 5.19).
I tried to debug ACPI to find the event that triggers waking up. There are abundant settings for ACPI debug level and debug events according to https://mjmwired.net/kernel/Documentation/acpi/debug.txt#115 Alas that logging either gave no information or gave too much information with memory access addresses. So I couldn't identify the setting name and its location to turn the waking trigger off.
I also found a neat resource to debug ACPI: https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips The main idea is that ACPi debug is not easy. There is ALS ACPI language that is compiled into AML code, that can be disassembled and analyzed to find various issues with vendor specific hardware. But there were some tools mentioned like acpidump. I tried to run acpi_listen and got this log after closing the lid and unplugging the power:

acpi_listen  
button/lid LID close  
ac_adapter ACPI0003:00 00000080 00000000  
battery PNP0C0A:00 00000080 00000001  
button/lid LID open  

So there are clearly some battery events that shouldn't trigger waking up, but do.

There is some information on sleep modes: https://news.ycombinator.com/item?id=25387947 It seems that my problem may be related with "Modern sleep" S0ix state, that don't turn off the CPU while sleeping. But there is no option to turn that off. The supported sleep states are S0 S4 S5:

dmesg |grep -i acpi| grep supports  
[    0.285799] ACPI: PM: (supports S0 S4 S5)  
[    0.322305] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]  
1
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
    – Community Bot
    Commented Apr 7, 2023 at 23:43

1 Answer 1

1

After additional digging I found the answer here: https://wiki.archlinux.org/title/Lenovo_IdeaPad_5_14are05
It turns out, that Lenovo have a lot of hidden settings in BIOS. You can turn them on with this:

  1. Turn off OneKeyBattery mode in BIOS setup, if it is enabled, and save the BIOS settings.
  2. Power down the laptop.
  3. Type, with the laptop powered off: F1 1 Q A Z F2 2 W S X F3 3 E D C F4 4 R F V F5 5 T G B F6 6 Y H N. You may notice that this combination is not random.
  4. Go into BIOS by pressing F2 shortly after power on.

In AMD PBS section there is S3/Modern Standby Support that must be changed from Modern Standby Enable to S3. Lenovo ideapad hidden BIOS settings with sleep modes

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .