背景
自Windows 8.1以来,我一直遇到计算机无法进入睡眠以及也从睡眠中唤醒的问题。我曾希望Windows 10能够解决这些问题,但不幸的是事实并非如此。我已经注意到,只要插入耳机(Hyper X Cloud II),就会出现此问题,但是插入时并非仅会发生此问题。
最近,我非常厌倦了计算机始终如一地从睡眠中醒来,并再次决定尝试解决该问题。
尝试的修复
首先,在电源管理中:
- 禁用唤醒定时器
- 启用USB选择性挂起
- 将计算机的睡眠时间设置为不活动1分钟,以查看是否有任何影响
为了确定导致计算机无法唤醒的原因,我在提升的命令提示符下使用了powercfg:
powercfg -requests
返回以下内容:
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
我在耳机中注意到的内容已通过USB Audio Device
系统下的条目确认。如果拔下耳机,则USB Audio Device
和Legacy Kernel Caller
条目都将在powercfg -requests
再次运行时消失。
拔掉耳机后问题仍然存在。因此,我然后运行以下命令来防止Realtek High Definition Audio
驱动程序阻止睡眠。
powercfg -REQUESTSOVERRIDE DRIVER "Realtek High Definition Audio" SYSTEM
实际上,这确实使我的计算机进入了睡眠状态。再次插入耳机后,问题再次出现。所以自然地,我REQUESTSOVERRIDE
再次执行了相关的耳机驱动程序:
powercfg -REQUESTSOVERRIDE DRIVER "USB Audio Device" SYSTEM
powercfg -REQUESTSOVERRIDE DRIVER "Legacy Kernel Caller" SYSTEM
不幸的是,这不能解决问题。为了确保我的REQUESTSOVERRIDE
命令生效,我运行了:
powercfg -REQUESTSOVERRIDE
这确实表明我的覆盖请求有效:
[DRIVER]
Realtek High Definition Audio SYSTEM
USB Audio Device SYSTEM
Legacy Kernel Caller SYSTEM
在此之后,我尝试:
- 使用设备管理器并确保允许每个USB端口关闭设备以进入睡眠状态
- 卸载Hyper X Cloud II设备并重新安装
powercfg -requests
通过powercfg -energy
报告确认输入- 控制面板->声音->头戴式耳机->高级且未选中“允许应用程序对此设备进行独占控制”
TL; DR
如何防止USB音频设备(在本例中为Hyper X Cloud II耳机)阻止计算机进入睡眠状态?
我曾经powercfg -REQUESTSOVERRIDE
删除过所有出现powercfg -requests
在设备管理器中的条目,并确保所有USB端口都能够关闭设备以使计算机进入睡眠状态。