suspend (S3) not detected

I have a Lenovo IdeaPad 5 Pro (14ARH7 82SJ) that shipped with Windows originally but has been running Ubuntu for the last few years.

It appears FreeBSD doesn't seem to think the laptop is capable of suspend (S3).

$ sudo sysctl hw.acpi.supported_sleep_state
hw.acpi.supported_sleep_state: S4 S5

The system had no apparent problem with suspend with Ubuntu or Windows. So just wondering where I should look to troubleshoot the issue.

Thanks!
 
The system had no apparent problem with suspend with Ubuntu or Windows.
Perhaps Ubuntu or Windows suspend to disk (S4 sleep state)? I don't know much about Windows, and I'm not very familiar with Linux either, apparently the system states are checked on Linux with cat /sys/power/state , cat /sys/power/mem_sleep , cat /sys/power/disk.

https://www.kernel.org/doc/html/latest/admin-guide/pm/sleep-states.html .


Check on FreeBSD acpidump -dt | grep -A 6 'System State"

You should see an output similar to an ThinkPad E15 AMD (YMMV):
Rich (BB code):
    Name (_S0, Package (0x04)  // _S0_: S0 System State
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    Name (_S3, Package (0x04)  // _S3_: S3 System State
    {
        0x03, 
        0x03, 
        0x00, 
        0x00
    })
    Name (_S4, Package (0x04)  // _S4_: S4 System State
    {
        0x04, 
        0x04, 
        0x00, 
        0x00
    })
    Name (_S5, Package (0x04)  // _S5_: S5 System State
    {
        0x05, 
        0x05, 
        0x00, 
        0x00
    })

Your laptop supports sleep state S4 (the memory context is stored to disk), if S4 is not satisfactory for your needs, and if "The supported states depend on BIOS implementation", check if there is an BIOS update available.

acpiconf(8)
Rich (BB code):
     -s type    Enters the specified sleep mode.  Recognized types are 1 (only
                the CPU clock is stopped), 2 (not implemented on most systems
                but similar to S1), 3 (the CPU context is lost and memory
                context is preserved), and 4 (the CPU context is lost and
                memory context is stored to disk).  Sleep states may also be
                given as S1, S2, etc.  The supported states depend on BIOS
                implementation, including ACPI byte code (AML). ...
                
                ...
 
I have a Lenovo IdeaPad 5 Pro (14ARH7 82SJ) that shipped with Windows originally but has been running Ubuntu for the last few years.

It appears FreeBSD doesn't seem to think the laptop is capable of suspend (S3).

$ sudo sysctl hw.acpi.supported_sleep_state
hw.acpi.supported_sleep_state: S4 S5

The system had no apparent problem with suspend with Ubuntu or Windows. So just wondering where I should look to troubleshoot the issue.

Thanks!
Well it correctly report that your laptop does not support S3. Your laptop probably support S0ix standby power state.
 
Perhaps Ubuntu or Windows suspend to disk (S4 sleep state)? I don't know much about Windows, and I'm not very familiar with Linux either, apparently the system states are checked on Linux with cat /sys/power/state , cat /sys/power/mem_sleep , cat /sys/power/disk.

https://www.kernel.org/doc/html/latest/admin-guide/pm/sleep-states.html .


Check on FreeBSD acpidump -dt | grep -A 6 'System State"

You should see an output similar to an ThinkPad E15 AMD (YMMV):
Rich (BB code):
    Name (_S0, Package (0x04)  // _S0_: S0 System State
    {
        0x00,
        0x00,
        0x00,
        0x00
    })
    Name (_S3, Package (0x04)  // _S3_: S3 System State
    {
        0x03,
        0x03,
        0x00,
        0x00
    })
    Name (_S4, Package (0x04)  // _S4_: S4 System State
    {
        0x04,
        0x04,
        0x00,
        0x00
    })
    Name (_S5, Package (0x04)  // _S5_: S5 System State
    {
        0x05,
        0x05,
        0x00,
        0x00
    })

Your laptop supports sleep state S4 (the memory context is stored to disk), if S4 is not satisfactory for your needs, and if "The supported states depend on BIOS implementation", check if there is an BIOS update available.

acpiconf(8)
Rich (BB code):
     -s type    Enters the specified sleep mode.  Recognized types are 1 (only
                the CPU clock is stopped), 2 (not implemented on most systems
                but similar to S1), 3 (the CPU context is lost and memory
                context is preserved), and 4 (the CPU context is lost and
                memory context is stored to disk).  Sleep states may also be
                given as S1, S2, etc.  The supported states depend on BIOS
                implementation, including ACPI byte code (AML). ...
               
                ...
Ah, thank you.
Hmm, it appears that system state doesn't appear anywhere in the output of acpidump. See attached text file for full output. Perhaps there are more clues in there.

Also, good tip on the Linux comparison. I'll boot an Ubuntu USB installer later today and check the suggested sys locations and report back.

Thanks!
 

Attachments

Ah, thank you.
Hmm, it appears that system state doesn't appear anywhere in the output of acpidump. See attached text file for full output. Perhaps there are more clues in there.

Also, good tip on the Linux comparison. I'll boot an Ubuntu USB installer later today and check the suggested sys locations and report back.

Thanks!
OK. I've now booted Linux and have the contents of those three files:

ubuntu@ubuntu:~$ cat /sys/power/state
freeze mem disk
ubuntu@ubuntu:~$ cat /sys/power/mem_sleep
[s2idle]
ubuntu@ubuntu:~$ cat /sys/power/disk
[platform] shutdown reboot suspend test_resume


So, yeah. As per the Linux file referenced earlier, with no standby or deep option in the mem_sleep file, it appears that suspend is indeed not supported.

I'll have to check the BIOS to see if there are any options I missed.
Thanks!
 
Back
Top