飞牛升级 1.1.3104 后 it87 驱动无法加载导致 FanControlServer 无法控制/读取风扇的解决方案
📌 问题核心与原因
飞牛系统升级至 1.1.3104 后,应用中心原有的 ite-it87 驱动由于自带的预编译内核模块与新内核版本不匹配,导致驱动无法正常加载。
核心影响:
驱动加载失败直接导致 FanControlServer 应用无法控制和读取风扇问题。
通过 DKMS(Dynamic Kernel Module Support) 从源码重新编译安装,不仅能立即使驱动恢复正常、让 FanControlServer 重新接管风扇,还能确保在未来的系统内核升级时自动重新编译,一劳永逸。
⚙️ 适用场景
- 飞牛升级到
1.1.3104 后,FanControlServer 提示找不到传感器或无法读取/控制风扇转速。
- 论坛参考:https://club.fnnas.com/forum.php?mod=viewthread&tid=61235&highlight=
🛠️ 详细操作步骤
第一步:卸载旧版驱动
如果之前是通过飞牛 Web 后台应用中心安装的,请先在应用中心将其卸载(卸载脚本会自动清理旧的模块冲突文件)。
第二步:安装编译所需工具
SSH 连接到飞牛 NAS,执行以下命令更新源并安装基础编译环境及 DKMS:
sudo apt update
sudo apt install -y build-essential dkms
第三步:获取 it87 驱动源码
进入临时目录并克隆最新的驱动源码:
cd /tmp
git clone [https://github.com/frankcrawford/it87.git](https://github.com/frankcrawford/it87.git)
第四步:编译并安装模块
进入源码目录,清理并开始编译、安装:
cd /tmp/it87
sudo make clean
sudo make
sudo make install
第五步:注册到 DKMS(实现内核升级自动重编)
将模块注册进 DKMS 管理系统,这样后续飞牛再次更新内核时,系统会自动在后台编译好此驱动,无需手动重复操作:
sudo make dkms
第六步:加载驱动并验证
手动加载刚刚编译好的 it87 驱动,并查看传感器状态:
sudo modprobe it87
sensors
执行 sensors 后,若能正常显示风扇转速、各部件温度等传感器信息,说明底层驱动已成功修复。
第七步:设置开机自动加载
为了保证 NAS 重启后驱动依然有效,需要将其加入系统开机加载列表:
echo "it87" | sudo tee /etc/modules-load.d/it87.conf
第八步:重启 FanControlServer 服务
底层驱动恢复并配置好开机自启后,重启 FanControlServer 应用使其能够重新扫描、读取新生成的硬件传感器通道并恢复控制权。
第九步:重启验证(可选)
建议重启系统以验证开机自启以及 FanControlServer 是否能正常控制风扇:
sudo reboot
重启完毕后,检查底层驱动状态与 FanControlServer 前端控制是否恢复正常:
lsmod | grep it87 # 应输出包含 it87 的模块信息
sensors # 应能正常看到传感器数据