我有一台双启动的华硕 TP301UJ 笔记本电脑,我的风扇一直很响。我正在尝试在 Ubuntu 中配置我的风扇速度(我在 Windows 10 中很容易做到),但我遇到了问题。
这是我所做的:
我安装了lm-sensors、psensor和fancontrol。psensor运行良好,并读取了风扇速度和所有温度。
Ran
sudo sensors-detect
只说我需要将coretemp添加到/etc/modules
. coretemp已经在模块中,所以我什么也没做。重新启动。跑
sudo pwmconfig
,它输出:找到以下设备:
hwmon0 is acpitz
hwmon1 is coretemp
hwmon2 is asus找到以下 PWM 控件:
hwmon2/pwm1 当前值:0hwmon2/pwm1 当前设置为自动速度控制。
一般来说,自动模式比手动模式更受欢迎,因为它更有效并且反应更快。您确定要将此输出设置为手动控制吗?(n)输入“y”,输出为:
给粉丝一些时间来达到全速...
发现以下风扇传感器:
hwmon2/fan1_input 当前速度:0 ... 跳过!
没有工作风扇传感器,所有读数均为 0。确保连接了 3 线风扇。
您可能还需要增加风扇除数。
有关更多信息,请参阅 doc/fan-divisors。
所以我的风扇进入“手动模式”并开始全速运行但pwmconfig
退出,让我的风扇全速运行。将数字/sys/class/hwmon/hwmon2/pwm1_enable
从 1 更改回 2,使其再次自动。
这是我的问题(我认为):当我的风扇处于“手动模式”时,sensors
显示-1
为它的速度。它没有被检测到!但是在自动模式下,完全没有问题。这使我无法使用pwmconfig
.
我已经尝试添加acpi_enforce_resources=lax
到 grub 文件中的变量GRUB_CMDLINE_LINUX_DEFAULT
。结果是一样的。
我应该怎么办?
首先
man fancontrol
来了解一下可以在/etc/fancontrol
. 构建配置时,您将需要以下内容:INTERVAL、FCTEMPS、FCFANS、MINTEMP、MAXTEMP、MINSTART、MINSTOP。实际样品:
[[:print:]] 表示 hwmon 编号。您可以使用实际数字或 [[:print:]],有时数字会在引导之间发生变化,并且 [[:print:]] 允许它找到正确的 hwmon 编号。
问题将是 FCFANS,fan1_input 是否有有效数据,如果没有,fancontrol 是否会在没有它的情况下继续工作。
或者,您可以尝试编写自己的脚本来设置 hwmon2/pwm1 的值,它的范围在 0 到 255 之间。
nct6775 可以通过硬件控制风扇。它允许将某个温度源设置为输入,然后根据温度逐步控制风扇。因此,除了加载芯片的设置外,不需要任何脚本。上面的风扇控制工具的缺点是当它卡住时,有错误或错误它可能无法运行。
在 /sys/devices/platform/nct6775.656/hwmon/hwmonX 目录中。
下面的 X 是 FAN。某些设置可能已由 bios 设置。
pwmX_mode 设置风扇模式。0 为 PWM,1 为电压控制。你可以设置它。但是阅读总是给出 1。
pwmX_temp_sel 是为该风扇供电的温度传感器。
echo 5 > 到 pwmX_enable 将风扇设置为智能模式。这意味着硬件(nct6775 芯片)正在控制风扇。
pwmX_auto_point1_pwm 到 pwmX_auto_point5_pwm 设置风扇速度步长。值从 0 到 255。我的粉丝开始在 85 左右旋转。所以我有 85 90 100 140 255 作为步长。
相应的温度在 pwmX_auto_point(1-5)_temp 中设置。以摄氏度为单位的值。