MacBook ArchLinux 休眠Hibernate


mbp安装archlinux后无法正常休眠。试过官方wikih上的常见问题无法解决,查阅了a一天半资料后,偶然发现一片外网零几年的老帖子提到可能相关的问题。于是尝试,最终解决。

原因:无线网卡导致

macbook笔记本无线网卡导致休眠hinernate失败,可以在休眠时先卸载wifi模块(内核模块),模块名叫brcmfmac ,它被brcmfmac_wcc引用,因此要先卸载brcmfmac_wcc模块。

休眠再恢复时启动失败,可以从启动日志看到该模块的错误日志。

查看上一次启动日志:journalctl -b -1 | grep brcm

解决过程

  1. 使用sudo modprobe -r brcmfmac_wcc

  2. 使用sudo modprobe -r brcmfmac

  3. 使用sudo systemctl hibernate命令测试能否正常休眠/唤醒。

  4. 如果正常则说明问题由上面两个模块导致。否则建议使用上面的journalctl -b -1 命令仔细查看是否有其他硬件存在问题,想办法找到他的内核模块并卸载再次h尝试休眠/唤醒,直到找到罪魁祸首,或者另寻他法。

休眠时自动卸载模块

每次总是手动执行卸载很麻烦,做成系统服务自动调用。aur仓库提供了一个休眠自动卸载模块的脚本工具,安装:yay -S systemd-suspend-modules
成功安装后文件在如下目录:

在这里插入图片描述

主要用的了/etc/suspend-modules.conf配置文件。将需要在休眠时卸载的模块名字写进去就行,有先后顺序,用空格分隔。
在这里插入图片描述

配置完这两个模块就大功告成了,测试休眠/重启正常主要原理是利用系统msysted钩子在sleep之前执行一些自定义操作。利用这个特性还可以在休眠时快速关闭mbp的显示器(因为之前macos盖上盖子后显示器/logo就熄灭,arch要等休眠断电之后才熄灭),此处不再赘述,可查看Arch wiki Hibernate相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值