小米Air 13黑苹果之USB蓝牙合盖休眠问题解决

上期的文章中,我们讲解了如何针对小米Air 13初代笔记本电脑做黑苹果的USB端口定制,经过定制后的USB端口已经可以准确的识别USB3.0、USB2.0等接入设备。

但是在实际使用的过程中,仍然有不少人反馈USB设备和蓝牙设备存在机休眠后无法唤醒的问题。今天就该问题做一个深入的记录和探讨。

 

全文目录:

一、异常现象

二、分析前先介绍下我的笔记本硬件

三、可疑点及可能的解决方法

四、解决过程记录

五、总结

 

一、异常现象:

1.笔记本在开盖状态下,进入待机模式后,重新敲击键盘上任意键,系统蓝牙和USB设备可以重新唤醒

2.笔记本在盒盖状态下,进入待机状态后,敲击键盘任意键无法唤醒蓝牙和USB,顶部状态栏蓝牙图标显示灰色不可用状态。只能通过重启电脑解决。

 

小米Air 13黑苹果之USB蓝牙合盖休眠问题解决, TNEXT
小米air 13.3初代6200U opencore安装黑苹果
电子书PDF版39页 | 详细的黑苹果部署指南
$9.99
小米Air 13黑苹果之USB蓝牙合盖休眠问题解决, TNEXT

 

二、分析前先介绍下我的笔记本硬件

1.我在本站的早期黑苹果文章介绍中,有提到过我的小米笔记本Air13.3是做过硬件定制修改的,即:使用了苹果的原装无线模组BCM943602CS,其中蓝牙部分连接到了笔记本右侧的USB物理端口。

也就相当于CPU的一个USB端口同时挂载了BCM943602的蓝牙模块和一个外接的USB3.0端口座子,这样会造成总线冲突吗???后文再讨论

2. 左侧的USB3.0端口和充电口的USB Type C均保持不变。

 

 

三、可疑点及可能的解决方法:

1. 上面讲解的一个USB端口同时挂载了蓝牙和USB3.0外设,会造成冲突,引起休眠问题

2. 蓝牙、摄像头等USB设备没有作为内建模式处理

3. 通过软件电源管理模式,来规避这个休眠的问题。

 

四、解决过程记录:

1. [x] 打开笔记本的后盖,将BCM943602CS的蓝牙差分线拆除,重新开机做实验。现象依旧,此路不通。硬件回退。

2.[x]  用Hacintool 将蓝牙、摄像头等改为内建模式,重新生成USBPort.kext驱动,重新开机做实验。现象依旧,此路不通。

3.[v]  修改系统的休眠模式,有两种方法:

1> 禁止笔记本进入休眠,可以解决

禁止盒盖睡眠

sudo pmset -b sleep 0;

sudo pmset -b disablesleep 1

 

恢复关盖睡眠

sudo pmset -b sleep 5;

sudo pmset -b disablesleep 0

 

2>让内存镜像写入磁盘,唤醒时从磁盘唤醒,速度略慢,可以解决USB失效问题

sudo pmset -a hibernatemode 25

hibernatemode:睡眠模式,支持0,3,25三个值。如果要非常省电,建议写25。

0:是直接休眠不把内存镜像写入硬盘,唤醒时从内存恢复,是桌面版mac的默认设置;

3:是把内存镜像写入磁盘的同时也给内存供电,直到电池临界值。唤醒的时候从内存唤醒,除非内存断电了那就从硬盘唤醒,速度可快可慢,取决于休眠多久,是移动版mac的默认设置;

25:是把内存镜像写入磁盘,断开内存供电,唤醒的时候从硬盘读取,速度较慢。

 

关于前文讲到的右侧USB设备是否冲突的问题:

用Hacintool监测USB设备的插入过程,我们发现右侧的USB接入设备并未和BCM943602CS造成冲突,因为

BCM943602CS作为蓝牙设备接入时走的是低速的USB2.0通道[HS01],当外设USB3.0设备接入时走的是高速的3.0通道[SS01]

小米Air 13黑苹果之USB蓝牙合盖休眠问题解决, TNEXT

 

 

拓展,有关pmset命令的一些讲解

在终端输入:pmset -g custom    这个命令可以显示系统所有的电源设置

lidwake: 当屏幕掀开的时候唤醒Mac,1是开启  0是关闭

autopoweroff: 如果Mac处于睡眠状态经过指定的时间后,自动把内存数据写入硬盘,并切断所有部件的电源,进入休眠状态,1是开启  0是关闭。但是LZ发现就算是处于开启状态,这个功能也并没有起作用,你可以不管它,也可以关掉

autopoweroffdelay: 启用autopoweroff功能的时间,也就是上面说的那个“指定的时间”,单位是秒

standby: 功能跟autopoweroff一样,不过仅在hibernatemode为3的时候起作用,1是开启 0是关闭。不过LZ一直没搞明白autopoweroff跟standby有什么不一样,按理说应该是不一样的

standbydelay: 启用standby功能的时间,单位也是秒
ttyskeepawake: 远程用户正在活动时防止Mac进入睡眠,1是开启  0是关闭

hibernatemode: 睡眠模式,支持0,3,25三个值。如果要非常省电,建议写25。 sudo pmset -a hibernatemode 25

0:是直接休眠不把内存镜像写入硬盘,唤醒时从内存恢复,是桌面版mac的默认设置;

3:是把内存镜像写入磁盘的同时也给内存供电,直到电池临界值。唤醒的时候从内存唤醒,除非内存断电了那就从硬盘唤醒,速度可快可慢,取决于休眠多久,是移动版mac的默认设置;

25:是把内存镜像写入磁盘,断开内存供电,唤醒的时候从硬盘读取,速度较慢。

darkwakes: 这个就是Power Nap,你可以在系统偏好设置里选择开或关,跟在这里设置是一样的,1是开启  0是关闭
hibernatefile: 内存镜像存放的地址,这个也可以更改,不过路径必需是root下的路径

displaysleep: Mac闲置多长时间后进入显示器睡眠,2013款Air的系统偏好设置里已经没有这个选项了,Pro是有的,不过其实你可以通过pmset来修改。单位是分钟,这个时间不能长于sleep下设置的时间

sleep: Mac闲置多长时间后进入睡眠,这个系统偏好设置里也有,单位是分钟
acwake: 电源改变时唤醒,也就是插上或者拔掉外置电源时唤醒Mac,1是开启  0是关闭
halfdim: 显示器睡眠时使显示器亮度改变为当前亮度的一半,1是开启  0是关闭。如果关闭这个功能的话,显示器睡眠会直接关掉显示器。
lessbright: 使用电池时使显示器亮度暗一点,系统偏好设置里也有这个,1是开启  0是关闭

disksleep: Mac闲置多长时间后关闭硬盘。这个系统偏好里也有,只不过换了一个字眼—如果可能,使硬盘进入睡眠—勾上这个的话系统就会自动根据sleep的时间设一个合适的时间。单位是秒,这个时间不能长于sleep下设置的时间

sleepservice: LZ还没搞清楚这个是干嘛的
womp: 网络远程唤醒,1是开启  0是关闭
networksleep: 这个设置影响Mac在睡眠的过程中如何提供网络共享服务。

 

五、总结

1. 这个解决办法并不完美,如果能通过驱动的方式解决是最好的,这里是曲线救国,在用户体验上有所取舍

2.改成从硬盘读取后,速度略慢,比较考验硬盘的读写能力。另外,每次重新唤醒时,明显的有个加载的界面,对于强迫症患者可能有点不爽。

3.之前从内存读取时,可以按任意键唤醒,这个修改成硬盘读取后,需要 短按 电源键才能唤醒。

4.如果采用直接关闭休眠的方式,比较费电也很费硬盘,请同志们酌情处理

 

双ISP家庭宽带美国原生IP超大带宽不限流量解锁ChatGPT、流媒体、TikTok, Lisahost新品4837线路。国际贸易、跨境出海企业级IPLC/CN2 GIA国际互联网专线 JustMySocksBandwagonHost

本文由作者 Frank Chen 发布在 TNEXT , 转载请联系客服授权处理,获得授权后请保留文章的完整性并附上原文链接: https://tnext.org/6545.html

11
无限制访问资源 | 下载VIP专享资源 | 享受VIP会员专区优惠折扣 | 会员独享专栏| 去除广告| 会员订阅更多详情说明 订阅会员
2 Comments
  1. 你好,我的问题是合盖再打开之后无法使用usb设备,请问您这篇文章是解决这个问题的吗?

  2. 不错的解决方法

    Leave a reply

    error: Content is protected !
    TNEXT
    Logo