我刚刚在我的新迷你电脑 Vorke V1 plus(Intel Apollo Lake Celeron J3455)上安装了 Ubuntu 17.10。在 Windows 10 下,风扇可以正常上下旋转,但在运行 Ubuntu 时,它会一直全速运转。
我运行了传感器检测,运行传感器后,我得到了核心温度,但没有风扇状态。如果我运行 sudo pwmconfig,即使在将 acpi_enforce_resources=lax 添加到 grub 配置后,我仍会得到“usr/sbin/pwmconfig:没有安装支持 pwm 的传感器模块”。
我看到 /sys/class/thermal/ 下有 7 个冷却设备和 5 个热区。我可以通过将 /sys/class/thermal/cooling_device0/cur_state 从 0(风扇关闭)更改为 11(最大速度)来控制风扇速度,但我不知道如何配置 ubuntu 来自动管理速度。
谨此致以最诚挚的问候和感谢。
编辑:我还尝试将“acpi=off”添加到 /etc/defaults/grub 文件,在这种情况下,风扇以低速运行(BIOS 在启动时设置的默认速度),并且不会随着 CPU 负载而变化。同样在这种情况下,在 /sys/class/thermal 目录中没有任何 cooling_devices,只有两个 thermal_zones。运行 pwmconfig 实用程序也会显示“未安装支持 pwm 的传感器模块”消息。
EDIT2:好的,我尝试了第二个针对 Thinkpad 的响应。我安装了 thinkfan 包。我按照所示配置了它。运行时find /sys/devices -type f -name "temp*_input"
我得到:
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp5_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp4_input
/sys/devices/virtual/hwmon/hwmon2/temp1_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input
我在 thinkfan.conf 中输入了这些条目。命令sudo thinkfan -n
会给我发送消息/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input: No such file or directory
,但文件存在,并且可以使用 读取sudo cat
。如果我删除此条目的行(第一个),则第二个条目会出现错误,重复此过程所有条目都会出现相同的错误。我猜是因为硬件不是 Thinkpad。
第三个回应与接受的回应中提出的解决方案相同,但对我来说不起作用。
最后一个响应也不起作用。ik8 模块安装失败,dell_smm_hwmon: unable to get SMM Dell signature
dmesg 中显示消息。
答案1
最后,我认为编写自己的守护进程会更省力,所以我这样做了:https://github.com/patxitron/vorke-temp-daemon
守护进程只读取所有核心温度,并使用固定表根据最高温度设置风扇速度。低于 45C 时风扇停止,高于 74C 时风扇速度达到最大。它会为介于两者之间的温度分配不同的速度。
该循环每秒运行四次,此时,这是一个快速而粗糙的解决方案,没有滞后,并且所有路径和温度设置都是硬编码的。
还有一些需要改进的地方,比如已经提到的滞后问题。如果能将读取温度的文件、写入风扇速度的文件以及将风扇速度与温度对应的表格移到配置文件中就更好了。
与此同时,我希望它对某些人有用。
此致。