恋爱spy 发表于 2022-6-6 19:22

[搬运]解决博通网卡唤醒蓝牙失效、蓝牙鼠键无法唤醒系统、bluetoothd进程异常问题

本帖最后由 恋爱spy 于 2022-6-8 16:02 编辑

解决博通网卡唤醒蓝牙失效、蓝牙鼠键无法唤醒系统、唤醒bluetoothd进程异常问题

   本机使用白果拆机卡加转接卡,系统版本monterey 12.4,日常使用的蓝牙设备为苹果二代妙控鼠键。在catalina及以下系统时蓝牙一切正常,升级big sur后蓝牙开始出现异常,包括现在monterey问题依旧。具体表现为:
               1.睡眠无法使用蓝牙鼠标键盘唤醒系统;
             2.使用有线鼠键可正常唤醒,但唤醒后所有蓝牙设备无法连接;
             3.无论什么情况系统从睡眠状态唤醒后bluetoothd进程持续占用大量cpu资源。


      当然之前的解决办法也很简单,接一套有线或者2.4G无线鼠标键盘,唤醒正常进入桌面后,关闭蓝牙并重新打开或者使用终端执行"sudo killall bluetooth"重启bluetoothd进程即可。但是没有有线或者2.4G无线鼠标键盘时就抓瞎。
       之前有看过国外一个帖子说可以使用sleepwatcher这个程序在唤醒时执行自动重启蓝牙进程来解决这个问题,我也翻译搬运过相关内容,但是想着苹果在后续升级时应该会解决这个问题,毕竟白果上也有很多用户反应有这个问题,所以自己并没有试过。但是过了那么多版本了问题依旧被逼无奈继续查资料找解决办法。以下内容为github上找到的解决办法,原理为通过sleepwatcher和blueutil配合在系统在唤醒时自动执行蓝牙进程的重启动作,亲测有效。参考原帖地址:
https://gist.github.com/ralph089/a65840c4f5e439b90170d735a89a863f
   实施步骤:

      一:安装homebrew(不知道homebrew是什么自己去做功课)
       打开终端输入以下内容并执行直到安装完毕:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


注:homebrew官网有详细安装步骤https://brew.sh/index_zh-cn


    二:安装sleepwatcher和blueutil
         通过步骤一安装的homebrew来安装sleepwatcher和blueutil程序:复制下方代码到终端执行


brew install sleepwatcherbrew install blueutil





      二:配置唤醒后自动执行的脚本.wakeup内容
          1.在终端执行以下内容使用nano编辑器对.wakeup脚本内容进行修改:

cd ~



          2.在窗口中最上端输入以下内容:

#!/bin/bash
#
# Restart Bluetooth Module on Mac OS X
#
# Requires Blueutil to be installed: http://brewformulas.org/blueutil

BT="/usr/local/bin/blueutil"

log() {
      echo "$@"
      logger -p notice -t bt_restarter "$@"
}

err() {
      echo "$@" >&2
      logger -p error -t bt_restarter "$@"
}

if [ -f "$BT" ]; then
      if [[ $("$BT" -p) == *1 ]];
                then
                echo "Bluetooth on, restarting ..."
                ($("$BT" -p 0) &> /dev/null && echo "Bluetooth Module stopped") || (err "Couldn't stop Bluetooth Module" && exit 1)
                ($("$BT" -p 1) &> /dev/null && echo "Bluetooth Module started") || (err "Couldn't start Bluetooth Module" && exit 1)
                log "Successfully restarted Bluetooth" && exit 0
      else
                echo "Bluetooth is off, nothing to do ..."
      fi
else
      err "Couldn't find blueutil, please install http://brewformulas.org/blueutil" && exit 1
fi
按ctrl+x (mac键盘按control+x)退出编辑,终端会询问是否保存,按Y选择保存



            3.更改.wakeup脚本权限:
          在终端执行以下命令更改脚本权限
chmod +x ~/.wakeup
      三:使用brew services来设置sleepwacher开机自启
       在终端执行以下命令:
brew services start sleepwatcher系统会跳出安全与隐私设置,在输入监听项目下将相应项目勾选上即可。

快去试试吧!!

lwchangbing 发表于 2022-6-6 22:03

我换了一根USB线解决这个问题了,原来转接卡的USb线4根线,换了个只有2根的。不带供电的,直接接主办的USB3.0 接口了。这个问题神奇的消失了

seac2012 发表于 2022-6-7 07:18

lwchangbing 发表于 2022-6-6 22:03
我换了一根USB线解决这个问题了,原来转接卡的USb线4根线,换了个只有2根的。不带供电的,直接接主办的USB3 ...

把原来的线的红黑两根线去掉只留信号线就行了吗?

seac2012 发表于 2022-6-7 07:20

lwchangbing 发表于 2022-6-6 22:03
我换了一根USB线解决这个问题了,原来转接卡的USb线4根线,换了个只有2根的。不带供电的,直接接主办的USB3 ...

换完线,直接接主板2.0的插针上不行吗

lwchangbing 发表于 2022-6-7 08:43

seac2012 发表于 2022-6-7 07:20
换完线,直接接主板2.0的插针上不行吗

我的迫击炮主板的2.0是hub转出来的,有些问题,我直接转接到3.0上了。

恋爱spy 发表于 2022-6-8 15:56

论坛的编辑器真心不好用

hit_zhimu 发表于 2022-6-8 20:50

seac2012 发表于 2022-6-7 07:20 https://bbs.pcbeta.com/static/image/common/back.gif
换完线,直接接主板2.0的插针上不行吗

有后续吗,层主。

seac2012 发表于 2022-6-8 22:34

hit_zhimu 发表于 2022-6-8 20:50 https://bbs.pcbeta.com/static/image/common/back.gif
有后续吗,层主。

还没弄呢。。。。。。。

simon126 发表于 2025-1-13 00:47

seac2012 发表于 2022-6-7 07:18
把原来的线的红黑两根线去掉只留信号线就行了吗?

bcm943602cd蓝牙内建,睡眠后唤醒bluetoothd进程很高,蓝牙设备都不能重连,必须关闭再打开才行,困扰很久。即使把蓝牙改成USB2但机器不睡眠了。试过很多驱动、其他方法都不行。

测试后,他的方法有效果,原来转接卡的USb线4根线,去除了最外边两头的线,只用中间两根信号线,还是插主板USB针脚。

睡眠后唤醒bluetoothd进程不高了,蓝牙设备都能自动重新连接了。

seac2012 发表于 2025-4-2 16:12

simon126 发表于 2025-1-13 00:47
bcm943602cd蓝牙内建,睡眠后唤醒bluetoothd进程很高,蓝牙设备都不能重连,必须关闭再打开才行,困扰很 ...

这么神奇的吗,我也来试一试。外面两根线是红色和黑色的对吧

seac2012 发表于 2025-4-2 20:04

真神奇,果然成功了。这下睡眠唤醒舒服多了。
页: [1]
查看完整版本: [搬运]解决博通网卡唤醒蓝牙失效、蓝牙鼠键无法唤醒系统、bluetoothd进程异常问题