0. 前言
很多使用微星 (MSI) B660M系列主板的用户会发现,系统默认的 sensors 命令识别不到风扇转速。这是因为微星在这代主板上使用了 Nuvoton NCT6687D 传感器芯片,而 Linux 标准驱动并不包含它。今天分享如何通过手动编译驱动,完美打通硬件监控的最后一步。
1. 硬件环境
- 系统: 飞牛系统 (FnOS) - 基于 Debian 12
- 主板: 微星 MAG B660M MORTAR (MAX WIFI DDR4)
- CPU: Intel i5-12500
- 核心芯片: Nuvoton NCT6687D (芯片 ID:
0xd592)
2. 准备工作:安装编译环境
由于我们要从源代码编译驱动,首先需要安装 Debian 的编译工具链和内核头文件。打开 FnOS 的终端(SSH),执行:
Bash
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) -y
3. 获取并编译 Nuvoton 专用驱动
微星 B660 系列主板不能使用通用的 it87 驱动,必须使用专为新一代 Nuvoton 芯片开发的驱动仓库。
下载源码
Bash
cd /tmp
# 创建工作目录
mkdir -p cc && cd cc
# 克隆驱动仓库(使用了镜像加速)
git clone https://ghfast.top/https://github.com/Fred78290/nct6687d.git
cd nct6687d
编译与安装
执行以下命令进行编译并将驱动文件放入系统目录:
Bash
make clean && make
sudo make install
编译成功后,系统驱动目录下会生成 nct6687.ko 文件。
4. 驱动加载与实时测试
现在,尝试加载驱动模块:
Bash
sudo modprobe nct6687
注意: 如果加载时报错 Operation not permitted,请去 BIOS 中关闭 Secure Boot(安全启动)。
加载成功后,输入终极命令查看果实:
Bash
sensors
预期输出:
你会看到 nct6687-isa-0a20 下整齐排列的数据,包括 CPU Fan、System Fan 的实时转速,以及 VRM MOS(供电)、PCH(南桥)的精确温度。
5. 关键一步:持久化配置(重启不失效)
很多教程只教到加载驱动,结果 NAS 一重启数据就没了。为了让配置“焊”在系统里,我们需要做两件事:
第一步:设置开机自启
将驱动名称加入系统模块清单:
Bash
echo "nct6687" | sudo tee -a /etc/modules
第二步:配置强制访问参数
微星主板的 BIOS 经常会锁定 ACPI 资源,我们需要给驱动增加“强制访问”权限:
Bash
echo "options nct6687 force=1" | sudo tee /etc/modprobe.d/nct6687.conf
完成这两步后,无论你怎么重启 NAS,硬件监控数据都会静静地在那里等你。
6. 总结
通过手动编译 nct6687d 驱动,我们成功让飞牛系统掌握了微星主板的底层硬件信息。这不仅能让我们在终端随时查看状态,更为下一步的自动化调速打下了基础。
预告:
单纯“看”转速是不够的。在下一篇博文中,我将分享如何利用 CoolerControl 工具,根据 CPU 或硬盘温度自定义风扇曲线,真正实现“低负载静音,高负载强冷”的智能 NAS 体验!
💡 技术小贴士:
- 芯片识别: 如果你不确定自己的主板芯片,可以运行
sudo sensors-detect,如果最后看到 Found unknown chip with ID 0xd592,那么这篇教程就是为你准备的。
- 驱动更名: 仓库名叫
nct6687d,但系统识别的模块名是 nct6687(不带 d),操作时请注意区分。