chrisia
2021-01-24 02:53:08 +08:00
好消息(这次是真的...),已经完全解决并测试一天发现没有再被唤醒。
经过我不断的调查研究,发现确实是 powernap 的问题。外接设备被自动唤醒并不是 bigsur 的 bug 。
使用命令 pmset -g log | grep DarkWake 查看 DarkWake 唤醒日志,发现有两个事件导致我的 MacBook 被唤醒。如下:
1. DarkWake DarkWake from Deep Idle [CDNP] : due to SMC.OutboxNotEmpty smc.70070000 wifibt wlan/ Using AC (Charge:100%) 6 secs
2.DarkWake DarkWake from Deep Idle [CDNPB] : due to NUB.SPMISw3IRQ nub-spmi.0x02 rtc/Maintenance Using AC (Charge:92%) 45 secs
这两个事件均是由于 m1 macbook 强制启用 powernap 导致的。但是我们也有解决方案(需要升级到最新的 macos11.2 RC ):
对于第一个问题:这个是由于 tcpkeepalive 引起的,只需在终端使用命令关闭:sudo pmset -a tcpkeepalive 0
对于第二个问题:这个是由于 powernap 引起的,首先使用命令关闭 powernap 的 DarkWake 模式下允许进程活动:sudo pmset -a powernap 0 。
此时还没有结束,因为还有一个进程依然会在 DarkWake 模式下唤醒电脑。这个进程的目录为: /System/Library/LaunchDaemons/com.apple.PowerUIAgent.plist 。想要关闭这个进程,首先需要关闭 sip (具体可以百度),然后使用命令来永久停用这个进程:sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.PowerUIAgent.plist