Despite having written about abolishing all wake timers in Windows 10, one more crept up mysteriously - PC waking up for just a minute and going back to sleep (not sleep actually, but hibernation).
TL;DR Jump to here to get the solution, instead of listening to the process.
The diagnosis process
Checking system logs, I found the wake event described as ‘Sleep Reason: Hibernate from Sleep - Fixed Timeout’
Having hibernate turned off in power options, I was mystified:
So i checked for other wake timers, again, none:
Solution: stop AdaptiveSleepService for AMD cards
But suddenly it dawned upon me that i should be checking for any services for power-saving / power-management, and true enough I found a new service called ‘AdaptiveSleepService’ by AMD for my Radeon 200 series card, and it was running:
To do so, right click on Start and click ‘Run’, in the dialog box enter ‘services’, and hit ENTER
So I changed the Startup Type to ‘Manual’ and stopped the service. That is all.
The wakes should now stop.
However because Windows Update occasionally includes AMD graphics drivers updates, the AdaptiveSleepService might be re-enabled from time-to-time. This can be resolved by automating the disabling of the service.
Automate the disabling of AdaptiveSleepService
Create a .bat file with the contents:
:: Ensure to run this file as admin user / SYSTEM for the Task you will create in Task Scheduler. sc stop AdaptiveSleepService sc config AdaptiveSleepService start=demand
Create a Task in Task Scheduler that runs that .bat file on Workstation Lock, Workstation Unlock. That should automate the disabling of AdaptiveSleepService.
Full instructions can be found on our github.
Edit 24 Feb 2017: If the above solution doesn’t work, AdaptiveSleepService may be corrupt or missing.
AdaptiveSleepService can be corrupt or missing, from my experience.
For me the problem began on the 24 Feb 2017. It could be due to a change in my setup (Hyper-V configurations that resulted in a lot of BSODs, installation of new drivers I did the past few days), or an actual bug due to Windows Updates.
I saw some random wakes-to-Hibernates whenever I slept my PC. So I decided to check out the Event Log, which continue to show Hibernate from sleep events. And I made sure that AdaptiveSleepService was not running. But each time I slept my PC the wakes-to-Hibernate continued.
So I decided to study deeper. Analyzing the Application Log of Event Viewer, multiple entries by AdaptiveSleepService stated that ‘Either the component that raises this event is not installed on your local computer or the installation is corrupted.’ (look at the gif below):
So it appears that stopping and disabling AdaptiveSleepService doesn’t fix that problem, because it’s missing or corrupted. (Probably because the service fails to be stopped and continues to run in the background. Or that it stops, but it is manually started and executed by the a bug in the AMD driver).
Solution? Rollback and reinstall the latest AMD driver.
If you use AMD’s site’s drivers, uninstall and reinstall your video driver.
If you are like me who uses the WHQL drivers delivered via Windows Updates in Windows 10 (which has been stable IMO), then we can simple rollback the driver in Device Manager:
and once done, reinstall the latest driver by searching Windows Update automatically.
That seems to be the fix. Now I don’t see any new Event Viewer Application Log entries by AdaptiveSleepService about it being missing or corrupt.
AdaptiveSleepService is tamed once again.
Edit 8 March 2017: Check your Hibernate settings again! Recent Windows Updates changed mine.
It’s frustrating that the same problem happened recent 7 March 2017. Event Viewer began to show ‘Wake Source: S4 Doze to Hibernate’, even with AdaptiveSleepService disabled.
Ensure Control Panel > System and Security > Power settings > Edit Plan Settings (for the Power Plan you use) > Advanced Power Settings > Sleep > and set Hibernate after to 0 (0 means disabled):
That will solve the Hibernate-from-Sleep problem.
p.s. I was stumped by this one because I really skipped my usual diagnosis process I mentioned above, to ensure Hibernate is disabled. But who would’ve suspected Microsoft to change my Hibernate settings because of a Windows Update (or maybe, AMD driver updates through Windows Updates changed the settings).
Conclusion: If you’re an AMD user - look out for AdaptiveSleepService service
Having tested for a few days, I have good news my system’s good again - no more waking from sleep to hibernate.
The AdaptiveSleepService affects all Windows 10 builds from 10586.xxx up and resurfaced in on the Windows 10 Anniversary Build (my experience, probably from Windows Update’s automatic AMD driver updates - yes again). It seems like some AMD driver versions might include this service as part of their package, while some don’t, so just keep a lookout for any unusual wake activity if you’re an AMD user each time you upgrade drivers / use Windows Update.
AdaptiveSleepService is mostly an annoyance to users, dumping to their SSDs or HDDs and reducing their lifespans, and slowing down system boot times. As discussed, the AMD driver might from time to time get corrupted for some reason, that can lead to a complete misbehavior of the system’s configuration by the user - that is, the insistence that the system should remain in Sleep. I understand the green intentions of building an Auto-Hibernate feature by AMD, but to most users, the power-saving benefit of the service is far outweighed by that of having a available-to-wake-anytime system.