MBP 在合盖,并关闭 Power Nap(电能小憩)的情况下,每隔 2 小时左右会唤醒一次外接显示器

发布于 2021-11-05 10:53:23

具体配置及系统信息

  • 2019 款的 16 寸 Intel MacBook Pro
  • Monterey 正式版
  • DELL 2720QM (使用原装 TypeC 连接)
  • 妙控键盘(蓝牙)
  • 罗技 G903 (拓展坞接 MBP C 口,然后插上适配器)

终端输出信息

$ pmset -g log | grep DarkWake

2021-11-04 00:43:29 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 02:44:19 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 04:45:09 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 46 secs
2021-11-04 06:46:00 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 08:36:59 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 10:37:49 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 12:38:38 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 14:39:27 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-04 16:40:16 +0800 DarkWake            	DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs

发现 V 站以及其他论坛也有很多人提,没想到 Monterey 也没修好这个问题

  • With Power Nap off, what causes MacBook Pro 2018 battery drain with lid closed and wake-ups every 2 hours?

    • 这个帖子下,有人给出了解决方案,并解释了他认为的原因;简单总结一下就是:计算机从未进入待机模式,因为它被配置为在 3 小时后进入待机模式,但 TCPKeepAliveDuringSept 每 2 小时将其唤醒一次
    • 不过有一个地方还存在歧义:Confirming the TCPKeepAlive setting hasn't been fiddled with (the command was run while on battery), 他说:“the command was run while on battery”,即「该命令在使用电池时运行」,或许是我理解错了,毕竟我的显示器是 DELL 2720QM ,可以提供反向供电,那这种情况下(外接电源),我的 MBP 还算不算使用电池?
      • 如果不算,那我应该不受这个命令影响才对;但如果显示器进入待机,是不是就不会向 MBP 供电了?看起来不会,这也是为什么我的 MBP 电量一直保持在 100%;而很多帖子里他们的 MBP 都存在掉电问题
  • 外置屏幕频繁被唤醒又休眠。这是 m1 的通病?

    • 有一位 V 站老哥 @chrisia 回复了很多;讲的解决方案也跟楼上那位差不多,不过我还没试过楼上的解决方案,就已经看到 @chrisia 说「方法全部作废,macOS 11.3 beta2 自动唤醒更严重了,本人已经放弃研究,以后准备 hdmi 的扩展坞将就用。」、「可以看我的帖子,使用命令能够缓解这个问题,终极解决方案还是换显示器」(无奈
    • 这里汇总一下 @chrisia 老哥的发言: https://imgur.com/a/dkCzzDq
    • 引用一些重要的回复:站在苹果的角度那就是戴尔的问题,因为每当 Macbook 发生 DarkWake 事件,就会枚举所有外接设备,LG Ultrafine 在收到信号后会判断是否应该亮屏,显然 dell 没有。Macbook 的 DarkWake 事件无法避免,所有只能换显示器,还只能是特定的那几款显示器。只能期望苹果能提供关闭 DarkWake 的功能,我个人认为可能性很小。
  • macOS 这一年吭哧瘪肚的更新到了 11.6 ,然而外接显示器的问题还没解决

  • M1 Mac 睡眠后老是点亮 U2720Q

    • 34L @chrisia 也现身发言了:darkwake 的问题,darkwake 事件发生时,mac 会枚举所有外接设备,但不会点亮屏幕(所以叫 darkwake );还有一种解释是会避免枚举显示器接口(不知道这个判断机制是什么)。但是,dell 的显示器默认情况下,有任何外接设备接入时,会先无脑点亮屏幕等待信号到来,即使不接 mac ,接手机等设备也会导致这个问题。想解决这个问题,可以到显示器设置面板中关闭显示器睡眠,此时显示器会判断是否为外接显示器信号以决策是否点亮屏幕。...
  • M1 开盖秒唤醒的工作原理竟是系统偷偷运作?

    • @chrisia:其实可以用命令关掉的,会好很多
  • Intel MBP 2019 睡眠后频繁周期性唤醒显示器和外接硬盘

    • @chrisia:m1 的话是 Darkwake 的问题;不过我证明 Interl 也是 Darkwake 事件唤醒的显示器
  • 我为什么不推荐你买 M1 Macbook

    • 因为 @chrisia 在很多提到外接屏幕被唤醒的帖子下都说了「具体可以看看我的帖子」,我实在好奇就找到了这个;里面确实提到了相关的信息,有兴趣可以看一下
Questioner
lbyo
Viewed
165
22 个回答
zhaidoudou123 2021-11-05 13:06:41
插着电源就无所谓了,不插电源的时候我直接把显示器拔掉了
lbyo 2021-11-05 14:27:24
@zhaidoudou123 #1 不,它会半夜亮起,导致我接连做噩梦;总得睡觉前手动关闭显示器
zhaidoudou123  1 2021-11-05 14:54:03
@lbyo #2 把显示器在家这茬忘了,那确实挺难受的😂
crysislinux 2021-11-05 15:05:46
你安装 Dell display manager 了没。这个可能导致屏幕自己点亮。我遇到了。
lbyo 2021-11-05 15:12:22
@crysislinux #4 我买来显示器没有额外安装过什么,通过 log 看应该就是 darkwake 事件导致的
lanlanye 2021-11-05 15:36:19
但凡有间单独的卧室……哦,我也没有 TnT
我之前用英特尔款的点亮都是因为各种应用的通知信息(比如 QQ ),这个问题是只有 M1 会出现还是都会啊?
lbyo 2021-11-05 15:42:31
@lanlanye #6 你可以仔细看一下我的标题和开头。。
akinoniku 2021-11-05 15:48:03
之前也有这个问题,升级到 Monterey 就好了。两个 M1 都是这样。
luhe 2021-11-05 15:59:04
我遇到的情况是蓝牙键盘唤醒的,换了妙控键盘就没出现了。或者直接把蓝牙唤醒关掉。
volvo007 2021-11-05 19:58:29
屏幕使用时间, 这个功能开了吗, 关掉看看会不会好一点
putin541 2021-11-05 20:11:19
插上电源,勾选 Prevent your Mac from automatically sleeping when the display is off ,锁屏,esc ,睡觉~
lbyo 2021-11-05 21:04:07
@akinoniku #8 我的 Intel 还是不行

@luhe #9 我是妙控键盘,今天出门前拔掉了拓展坞,发现依旧会每隔两小时唤醒一次

@volvo007 #10 好的,我会挨个测试


@putin541 #11 今晚睡觉前我会试试这个
lbyo 2021-11-06 08:06:41
@putin541 #11 thx ,这个真的有效;我现在唯一的顾虑(或者说矫情)可能就是它的提示了:会减少电池寿命、功率变大之类

lbyo 2021-11-06 08:31:20
测试了一下,确认《 With Power Nap off, what causes MacBook Pro 2018 battery drain with lid closed and wake-ups every 2 hours?》这个帖子下的方案只针对不接电源适配器的情况生效(谁会长期不接电源适配器而去连接外置显示器呢,更何况我的显示器会反向充电。
lbyo 2021-11-06 21:18:17
@volvo007 #10 下午出门前测试了一下,这个不行
volvo007 2021-11-07 07:49:49
@lbyo 我的 mbp 是 2020 intel 款,从 13 年的 mbp 迁移数据过来,除了睡眠中会唤醒,还有就是雷电显卡插拔会六国

一气之下重做系统(个人数据保留配置和程序全删)然后才解决的睡眠问题……
lbyo 2021-11-07 13:32:17
@volvo007 #16 你有用 `pmset -g log | grep DarkWake` 命令看过 log 吗
volvo007 2021-11-07 16:55:50
@lbyo 刚跑了一下
2021-11-06 21:36:11 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.RTC/Maintenance Using AC (Charge:100%) 45 secs
2021-11-06 22:34:37 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to TDM0 TDM1 XHC1/ Using AC (Charge:100%) 5 secs
2021-11-06 22:34:42 +0800 Wake DarkWake to FullWake from Deep Idle [CDNVA] : due to UserActivity Assertion Using AC (Charge:100%) 5968 secs
2021-11-07 00:14:19 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to TDM0 TDM1 XHC1/ Using AC (Charge:100%) 45 secs
2021-11-07 00:19:52 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-07 00:25:25 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-07 00:30:58 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-07 00:36:31 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-07 00:42:04 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs
2021-11-07 00:47:38 +0800 DarkWake DarkWake from Deep Idle [CDN] : due to EC.ARPT/Maintenance Using AC (Charge:100%) 45 secs


6 、7 两日均有类似记录, 再早只有零星记录, 而且都是 2 秒以下由电池引起的

但是这个横跨 6 、7 两日的记录, 我这边是因为昨晚 Xcode 更新没有关机, 机器运行一阵之后应该是黑屏而不是休眠状态

所以也只能当作偶发情况, 和你的情况还是不大对的上的
lbyo 2021-11-07 17:09:03
@volvo007 #18 看起来确实是没有我这个问题,那你有打开「当显示器关闭时,防止 Mac 自动进入睡眠」这个功能吗
volvo007 2021-11-07 22:48:09
@lbyo 这个功能我开了, 因为不喜欢接电的时候它自己休眠
chrisia 2021-11-07 23:36:58
hi ,谢谢你提到我并关注这个问题,我应该是这个地球上对这个问题了解最深入的人了 :( ,外网论坛上也只有我给我出了最佳解决方案。我之前提到过四个步骤「见 https://www.v2ex.com/t/739371 」:1.关闭 powernap 2.关闭 tcpkeepalive 3.关闭优化电池充电 4.关闭网络唤醒 5.重启。在我 m1 上,执行这几个操作后,可以避免所有的 maintenance 事件,这些事件会定时触发 darkwake 以导致自动唤醒。目前我没有发现其他功能会触发 maintenance 事件。还有个方案就是关闭显示器的睡眠,会增加 5w 功耗。
这个问题我已经向苹果反馈了无数次了却无济于事,麻了。我不得不说 darkwake 真的很折磨人,它会导致一大堆问题,而且有些问题你根本察觉不到,但它却发生了。
还有一点我很惊讶,提到这个问题的人并不多,我想,要彻底解决这个问题只能等我加入苹果之后吧 :)
lbyo 2021-11-07 23:59:42
@volvo007 #20 那就对了,开启这个功能的话就不会出现这个问题,前面几楼我试过,具体原因不明

@chrisia #21
> 1.关闭 powernap 2.关闭 tcpkeepalive 3.关闭优化电池充电 4.关闭网络唤醒 5.重启。在我 m1 上,执行这几个操作后,可以避免所有的 maintenance 事件,这些事件会定时触发 darkwake 以导致自动唤醒。
我今天睡觉前会照做,观察一下

目前 @putin541 提到的勾选 Prevent your Mac from automatically sleeping when the display is off (当显示器关闭时,防止 Mac 自动进入睡眠) 确实有效。

不过我已经试过,在连接电源适配器的情况下,命令行执行 `sudo pmset -b tcpkeepalive 0` 后,`pmset -g` 看到的输出依旧是 `tcpkeepalive 1`,只有拔掉电源适配器,使用笔记本自身电池供电,才能看到 `tcpkeepalive 0`,感觉这个不是主要问题