技术备忘录:华硕 A43S (Ubuntu) 插电限频故障修复

技术备忘录:华硕 A43S (Ubuntu) 插电限频故障修复

1. 故障描述
  • 现象 :接入电源适配器后,CPU 频率被硬件强制锁定在 800MHz,拔掉电源使用电池时频率恢复正常(可达 2.4GHz+)。
  • 根源 :硬件触发了 BD PROCHOT 信号。由于老旧适配器功率波动或主板传感器误报,系统判定为供电风险,强制 CPU 进入最低功耗模式。
2. 系统检测命令
  • 查看实时频率watch -n 1 "grep MHz /proc/cpuinfo"
  • 读取硬件锁状态
bash 复制代码
sudo modprobe msr
sudo rdmsr 0x1FC

结果分析:返回 4005d (奇数) 表示锁定;返回 4005c (偶数) 表示正常。

  • 查看温度与风扇sensors

3. 自动化修复方案
第一步:编写解锁脚本

创建脚本文件:sudo nano /usr/local/bin/fix_cpu_throttling.sh
脚本内容:

bash 复制代码
#!/bin/bash
# 1. 加载驱动
modprobe msr
# 2. 强制抹除硬件限频位 (将 4005d 修改为 4005c)
wrmsr -a 0x1FC 262236
# 3. 设置 CPU 为性能调度模式 (可选)
for cpu in /sys/devices/system/cpu/cpu[0-7]; do
    if [ -d "$cpu/cpufreq" ]; then
        echo "performance" > "$cpu/cpufreq/scaling_governor"
    fi
done

赋予执行权限:

bash 复制代码
sudo chmod +x /usr/local/bin/fix_cpu_throttling.sh
第二步:配置 Systemd 自动服务

创建服务文件:sudo nano /etc/systemd/system/cpu-unlock.service
服务内容:

unit 复制代码
[Unit]
Description=Unlock CPU Throttling for Asus A43S
After=multi-user.target suspend.target hibernate.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/fix_cpu_throttling.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target suspend.target
第三步:激活并启动服务

依次执行以下命令,使设置永久生效并支持开机/唤醒自启:

bash 复制代码
# 重新加载系统配置
sudo systemctl daemon-reload
# 启用开机自启
sudo systemctl enable cpu-unlock.service
# 立即启动服务
sudo systemctl start cpu-unlock.service

4. 运维建议
  • 手动恢复 :如果在使用中途插拔电源导致频率再次下降,可执行 sudo systemctl restart cpu-unlock.service 快速恢复。
  • 硬件对策 :此故障 90% 源于电源适配器老化。如需根治,建议更换一个原装的华硕 90W (19V 4.74A) 适配器。
  • 安全提示:解锁后 CPU 失去了主板的"假过热"保护,虽然目前 51°C 非常安全,但若运行大型计算导致风扇狂转且掌托烫手,请留意实时温度。

记录日期 :2026年3月14日
适用环境:Ubuntu 系统 / 华硕 A43S 及同代 Sandy Bridge 架构笔记本

相关推荐
xywww1682 分钟前
真实后台页实测:Opus 5 看图写前端的可用边界在哪
linux·服务器·前端·数据库·人工智能·gpt
qetfw2 小时前
Debian OpenSSL CA 证书配置参考:根证书、服务证书与验证
linux·debian·ssl·openssl
测试运维日常笔记2 小时前
RHEL/CentOS 离线部署指南:配置本地 ISO 镜像作为 YUM 仓库
linux·运维·centos
梓沂3 小时前
CentOS 7.9 静默安装 Oracle 11gR2 企业版全记录
linux·oracle·centos
蜀道山老天师3 小时前
Zabbix监控Docker容器应用实践完整指南
linux·运维·docker·容器·zabbix
hweiyu003 小时前
Linux命令:info
linux·运维
wsad05324 小时前
CentOS Stream 10 Docker 容器无法访问外网:xt_addrtype 内核模块缺失解决方法
linux·网络·docker·云原生·eureka·centos
x17388062734 小时前
Linux
linux
加油码4 小时前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
不会就选b5 小时前
Linux之线程(二)
linux·运维·服务器