解决禁用睡眠唤醒定时器后,电脑睡眠时仍会唤醒的问题
izilzty 发布于 阅读:6722
按照惯例,先写出解决方案:在设备管理器内将网卡的“样式对比唤醒”调整为“禁用”即可。
距离上次解决打开WOL后电脑无法关机的问题已经有好几个月了,这期间使用一直没有问题,不管是待机还是休眠状态,都可以用魔术包唤醒电脑。但是好景不长,就在前天晚上,伴随着风扇的嗡嗡声和显示器刺眼的光亮,我被电脑从睡眠状态唤醒了...
由于之前出现过凌晨自动唤醒的问题,当时找到的根源就是Windows的垃圾自动更新唤醒的,我关掉了睡眠唤醒定时器以后就没有再出现过问题了,结果这没过多久就又出问题了。
我从床上爬起来,打开了事件查看器,找到唤醒原因,不出所料,原因:未知。我骂骂咧咧的又把电脑放到睡眠状态,打算第二天再来找是哪里的问题,结果没想到十几分钟以后,电脑竟然又自动唤醒了。我心里咯噔一下,想着别是老问题又出现了。
第二天在脑子里捋了一下事件经过:首先唤醒比较有规律,一般是十几分钟半个小时就会唤醒,但只有睡眠时会出现问题,关机时正常,这样就能排除是外部对电路干扰造成误唤醒,估计还是软件或设置上问题。其次是唤醒源为未知,结合上次的经验,未知唤醒源一般就是PCIE上面的什么设备,不是键盘鼠标之类的。结合这几点,网卡就再次顺利变为怀疑的对象。(网卡:WDNMD)
后面又测试了几次,发现白天睡眠也会被唤醒,那就排除了系统更新导致的唤醒,于是我就开始在网卡设置里扒拉。翻了翻发现能唤醒的只有魔术封包唤醒和样式对比唤醒,因为我还需要魔术封包唤醒,所以抱着试试的心态禁用了样式对比唤醒,在禁用后真的就起作用了,可以正常睡眠不被唤醒。
事后查了一下,样式对比唤醒的功能是可以由操作系统指定唤醒模式,不局限于单一的魔术包,在Windows7上默认的可唤醒模式是:魔术包、NetBIOS名称查询、TCPv4 SYN、TCPv6 SYN、IPv6邻居请求。这样就可以大概推断问题所在了,可能是局域网上的某个设备有意无意对这台电脑发送了请求,导致电脑被唤醒。因为我不需要这些额外的唤醒模式,只需要魔术包就足够了,也暂时没有时间抓包分析是哪台设备唤醒了电脑,所以禁用样式对比唤醒就解决了问题。
关于样式对比唤醒的原文可参考以下链接: