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

相关推荐
浦信仿真大讲堂9 小时前
CST FAQ 006:Linux系统CST安装指导
linux·运维·服务器·仿真软件·达索软件
AI+程序员在路上9 小时前
Linux C 条件变量阻塞线程用法:等待时CPU占用率为0
linux·运维·c语言
HABuo9 小时前
【linux线程(三)】生产者消费者模型(条件变量阻塞队列版本、信号量环形队列版本)详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
Milu_Jingyu9 小时前
Windows与Ubuntu文件共享详细指南
linux·windows·ubuntu
Java面试题总结10 小时前
Linux根分区爆满(占用81%)排查与解决实战
linux·运维·服务器
Bert.Cai10 小时前
Linux touch命令详解
linux·运维
想要入门的程序猿10 小时前
VTK与PCL源码编译(Ubuntu 20.04.6)
linux·运维·服务器
EmbeddedCore10 小时前
轻量级消息防重模块全解析:从原理到高性能优化
linux·运维·服务器·嵌入式硬件
海兰10 小时前
【实战】HiMarket本地化部署指南
人工智能·ubuntu·架构·银行系统
回到原点的码农10 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos