Background
I have been having issues with my computer not entering sleep and also waking from sleep since Window 8.1. I had hoped that Windows 10 would resolve these issues, but unfortunately this is not the case. I had noticed that the problem would occur whenever my headset (Hyper X Cloud II) was plugged in, but it was not exclusively occurring when plugged in.
I recently got extremely fed up with my computer waking from sleep very consistently and decided once again to try and solve the problem.
Attempted Fixes
To start off, in Power Management:
- Disabled wake timers
- Enabled USB selective suspend
- Set the computer sleep time to 1 minute of inactivity to see if any changes had an effect
To identify the cause of what's keeping the computer from waking I used powercfg in an elevated command prompt:
powercfg -requests
Which returns the following:
SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_1043860B&REV_1003\4&165326bb&0&0001)
An audio stream is currently in use.
[DRIVER] USB Audio Device (USB\VID_0951&PID_16A4&MI_00\6&3321d09b&1&0000)
An audio stream is currently in use.
[DRIVER] Legacy Kernel Caller
What I had noticed with my headset was confirmed by the USB Audio Device
entry under system. If I unplugged my headset, both the USB Audio Device
and the Legacy Kernel Caller
entries were gone upon running powercfg -requests
again.
The problem still persisted after unplugging the headset. So I then ran the following command to prevent the Realtek High Definition Audio
driver from preventing sleep.
powercfg -REQUESTSOVERRIDE DRIVER "Realtek High Definition Audio" SYSTEM
This did in fact allow my computer to enter sleep. Upon plugging in my headset again, the problem came back. So naturally I executed REQUESTSOVERRIDE
again for the related headset drivers:
powercfg -REQUESTSOVERRIDE DRIVER "USB Audio Device" SYSTEM
powercfg -REQUESTSOVERRIDE DRIVER "Legacy Kernel Caller" SYSTEM
Unfortunately this did not fix the problem. To ensure that my REQUESTSOVERRIDE
command took effect I ran:
powercfg -REQUESTSOVERRIDE
Which did show that my override requests were in effect:
[DRIVER]
Realtek High Definition Audio SYSTEM
USB Audio Device SYSTEM
Legacy Kernel Caller SYSTEM
After this I tried:
- Using Device Manager and ensuring every USB port was permitted to turn off devices in order to enter sleep
- Uninstalling the Hyper X Cloud II device and reinstalling
- Confirming the
powercfg -requests
entries withpowercfg -energy
report - Control Panel -> Sound -> Headset Earphone-> Advanced and unticked "Allow applications to take exclusive control of this device"
TL;DR
How can I prevent my USB Audio Device (in this case Hyper X Cloud II Headset) from preventing my computer to enter sleep?
I have used powercfg -REQUESTSOVERRIDE
to remove all entries that come up in powercfg -requests
and ensured in Device Manager that all USB ports are able to turn off devices to allow the computer to sleep.