macos连接蓝牙外设休眠异常唤醒问题
问题描述
在 Apple Silicon Mac、macOS 26.6.2 上,连接 BLE 蓝牙键盘后合盖,系统会频繁从 Deep Idle 状态被唤醒,形成 DarkWake 循环,并
可能导致睡眠期间电池快速消耗。
日志反复出现:
```text
DarkWake from Deep Idle [CDNP] :
due to smc.sysState.Wake(0x70070000)
wifibt SMC.OutboxNotEmpty centauri-beta
```
同时多次出现:
```text
com.apple.bluetooth.sleep is slow
```
测试环境
- macOS 26.6.2(25G83)
- Apple Silicon
- Apple N1 Bluetooth Controller
- 蓝牙键盘:NUT65 BT1
- 键盘固件:0.2.8
- powernap=1
- tcpkeepalive=1
- SleepDisabled=0
测试结果
- 键盘保持连接后合盖:约 5 分钟出现 23 次 DarkWake;
- 键盘已配对但未连接后合盖:约 13 分钟出现 61 次 DarkWake;
- 关闭系统蓝牙、保持 Wi‑Fi 开启:约 4 分钟没有 DarkWake;
- 忽略键盘、仅保留已配对但未连接的蓝牙耳机:短时间测试未复现;
- Yurain、Helper 及其他第三方睡眠阻止程序均未运行。
问题最早在 8 月 26 日出现,早于 Yurain 项目的首次构建,因此与 Yurain 无关。
当前判断
问题可能与 macOS 蓝牙睡眠状态、BLE HID 自动重连机制及 Apple N1 蓝牙控制器有关。蓝牙键盘是目前最强的触发条件,但还不能完全
排除附近 BLE 环境或其他已配对设备的共同影响。
临时解决方法
- 合盖前关闭蓝牙;
- 使用有线或 2.4GHz 接收器;
- 更新并重置蓝牙键盘固件;
- 暂时忘记并重新配对蓝牙设备。
预期行为
蓝牙键盘保持配对或连接时,Mac 合盖后应正常进入 Deep Idle,不应因 SMC.OutboxNotEmpty centauri-beta 持续产生高频 DarkWake。
MacBook Air 13″, macOS 26.6