技术备忘录:华硕 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 架构笔记本

相关推荐
web守墓人3 分钟前
【AI编程】小米mimo模型400错误处理,以及roocode修复指南
linux·ubuntu·ai编程
xingfujie4 分钟前
前言:从零到一,系统掌握 K8s + DevOps + 微服务
linux·运维·微服务·云原生·容器·kubernetes·devops
坐吃山猪7 分钟前
Python34_装饰器知识
开发语言·python·ubuntu
Fanfanaas8 分钟前
Linux 系统编程 文件篇 (一)
linux·运维·服务器·c++·学习
j_xxx404_19 分钟前
Linux信号机制:从键盘到内核、进阶实战硬核剖析
linux·运维·服务器·c++·人工智能·ai
Mr. zhihao19 分钟前
从 `cat file.txt` 到屏幕:一次 Linux 文件读取的完整旅程
linux·运维·服务器
李日灐24 分钟前
< 12 > Linux进程:进程虚拟地址空间机制 —— 内存管理的美学
linux·运维·算法
码完就睡30 分钟前
Linux——进程间通信
linux·运维·服务器
AOwhisky31 分钟前
Docker 学习笔记:Docker Compose 多容器编排
linux·运维·笔记·学习·docker·容器
j_xxx404_34 分钟前
Linux进程信号:内核数据结构与捕捉递达全流程
linux·运维·服务器·人工智能·ai