2

I have a small WSL script which checks if a (another) script has finished and then puts my laptop to sleep using psshutdown64.exe -d -t 0. This is on Win 10 and hibernate is disabled.

On my old Huawei laptop, I was able to wake the machine by clicking the wireless (2.4Ghz dongle) mouse.

I now have a HP Probook 635, but this laptop will only wake up if I open the lid and then press the power button.
Note that, if I use the Sleep option in the start menu, then I'm able to wake the laptop using the mouse normally.

It seems psshutdown puts the laptop in a different state of sleep from the normal "Sleep" and I cannot wake the laptop using my mouse.

I also tried Rundll32.exe Powrprof.dll,SetSuspendState Sleep and rundll32.exe powrprof.dll,SetSuspendState 0,1,0 but the result is the same.

On my Huawei laptop I can see:

powercfg.exe -a
The following sleep states are available on this system:
    Standby (S3)

The following sleep states are not available on this system: Standby (S1) The system firmware does not support this standby state.

Standby (S2)
    The system firmware does not support this standby state.

Hibernate
    Hibernation has not been enabled.

Standby (S0 Low Power Idle)
    The system firmware does not support this standby state.

Hybrid Sleep
    Hibernation is not available.
    The hypervisor does not support this standby state.

Fast Startup
    Hibernation is not available.

And on my HP:

powercfg.exe -a
The following sleep states are available on this system:
    Standby (S0 Low Power Idle) Network Connected
    Hibernate
    Fast Startup

The following sleep states are not available on this system: Standby (S1) The system firmware does not support this standby state. This standby state is disabled when S0 low power idle is supported.

Standby (S2)
    The system firmware does not support this standby state.
    This standby state is disabled when S0 low power idle is supported.

Standby (S3)
    The system firmware does not support this standby state.
    This standby state is disabled when S0 low power idle is supported.

Hybrid Sleep
    Standby (S3) is not available.
    The hypervisor does not support this standby state.

I'm not sure why it worked on my Huawei laptop, but fails on the HP one.

NoExpert
  • 131

1 Answers1

1

Modern Standby (S0) is Microsoft's preferred way of suspending / sleeping Windows 10/11 machines. The main "advantage" over the legacy S3 sleep state is that it apparently wakes the device instantly, instead of waiting for a few seconds with S3:

https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-vs-s3

As I understand, systems that support Modern Standby (S0), cannot also support S3: https://docs.microsoft.com/en-gb/windows-hardware/design/device-experiences/modern-standby-faqs

Q: Can I switch between S3 and Modern Standby by changing a setting in the BIOS?

A: No, switching the power model is not supported in Windows without a complete OS re-install

There used to be a registry hack to enable S3, but apparently this no longer works: https://answers.microsoft.com/en-us/windows/forum/all/how-to-disable-modern-standby-in-windows-10-may/db950560-33da-4a90-8340-b1f181f5efe6
https://www.tenforums.com/general-support/157734-v-2004-update-removes-ability-turn-off-modern-standby.html

As far as I can see psshutdown does not support Modern Standby. It puts the machine in another state of sleep from which it cannot wake unless the power button is pressed.

There's a request to support Modern Standby:
https://social.technet.microsoft.com/Forums/ie/en-US/2bdf0ac6-df12-42a7-a601-643ba415a32d/is-quotpsshutdown-dquot-going-to-get-an-update-to-work-on-modern-standby-devices-in-addition-to?forum=pstools

So, right now the only way to put a Win 10 device to sleep, using a command, seems to be a powershell command such as this:
How to turn off screen with PowerShell?

NoExpert
  • 131