解决macOS 10.11唤醒后蓝牙连接丢失的问题

Mac Mini,不关机,晚上睡觉时手动睡眠,早上再唤醒。每次唤醒时蓝牙音箱就断了,必须手动进设置里面重新连接一下。

因为鼠标用得胳膊酸疼,昨天入了个Trackpad 2,彻底抛弃了鼠标,今早唤醒后才意识到不光是音箱,Trackpad也断了……悲剧。于是痛下决心一定要把蓝牙问题解决掉。

搜索了一下,都说要手动重载一下蓝牙驱动才行:

kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport

然而我没有接鼠标,让我如何在Trackpad嗝儿屁之后做这个操作?
好在后来找到这个gist,看上去很不错的样子:
https://gist.github.com/Tyilo/c92684d277acb62272b5

#!/bin/bash
# Install sleepwatcher
cd /tmp
curl -O http://www.bernhard-baehr.de/sleepwatcher_2.2.tgz
tar -zxvf sleepwatcher_2.2.tgz
cd sleepwatcher_2.2
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8
sudo cp sleepwatcher /usr/local/sbin
sudo cp sleepwatcher.8 /usr/local/share/man/man8
sudo cp config/de.bernhard-baehr.sleepwatcher-20compatibility.plist /Library/LaunchAgents
sudo cp config/rc.* /etc
cd ..
rm -r sleepwatcher_2.2*

# Add bluetooth script to /etc/rc.wakeup (the script requires root)
sudo tee -a /etc/rc.wakeup <<EOF
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
EOF

# Load the agent to start sleepwatcher
sudo launchctl load /Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility.plist

先用了试试,等明天早上看效果后再来补充。

PS:Trackpad 2挺好用,可惜蓝牙的延迟较明显,跟MacBook自带的触摸板没法比。试了Smoothcursor和Smoothmouse调节加速度,始终无法满意,只能让自己去适应它了。


Update:

试验之后,貌似有用,force touch一下后就唤醒了,只是有点疑问,不是说这货的作用是在唤醒时重载驱动,怎么变成了直接由Trackpad唤醒了呢?难道机器并未睡眠……先不深究了,就这样吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据