如何通过 procfs 控制 thinkpad_acpi,RHEL 6.4

如何通过 procfs 控制 thinkpad_acpi,RHEL 6.4

我的 Thinkpad T400 上的 thinkpad_acpi 模块遇到问题。虽然处理器温度可能会有所不同,具体取决于 CPU 活动,从 40 到 85 度不等。摄氏温度下,我的风扇转速几乎保持恒定,在 2600-3000 rpm 的范围内。我原以为风扇会随着温度升高而加速,但事实并非如此。

在深入研究为什么它不能像人们预期的那样工作之前,我尝试检查手动提高风扇速度是否有效。根据本自述文件,我应该能够通过写入level [1-7]来控制风扇速度/proc/acpi/ibm/fan,但无论值是什么,我都会收到“无效参数”错误。

我意识到这是一个晦涩的问题,但可能有人知道可能是什么有效的论点。以下是我的一些尝试:

# cat /proc/acpi/ibm/fan
status:     enabled
speed:      2966
level:      auto
# echo 5 >/proc/acpi/ibm/fan
bash: echo: write error: Invalid argument
# echo 'level 5' >/proc/acpi/ibm/fan
bash: echo: write error: Invalid argument
# echo 'enable' >/proc/acpi/ibm/fan
bash: echo: write error: Invalid argument
# echo 'level auto' >/proc/acpi/ibm/fan
bash: echo: write error: Invalid argument

答案1

我认为你遇到了这个:

摘自 thinkwiki -如何控制风扇转速

出于安全原因,默认情况下禁用风扇控制操作。要启用风扇控制,必须为 thinkpad-acpi 提供模块参数 fan_control=1。

您应该能够创建以下文件,/etc/modprobe.d/thinkpad_acpi.conf其中包含: options thinkpad_acpi fan_control=1 。启用该fan_control选项后,您应该能够执行以下类型的命令:

$ echo level 0 > /proc/acpi/ibm/fan    # (fan off)
$ echo level 7 > /proc/acpi/ibm/fan    # (maximum speed)
$ echo level auto > /proc/acpi/ibm/fan # (automatic - default)

如果您收到 PERMISSION DENIED 错误,您可以使用以下命令语法作为解决方法:

$ echo level 0 | sudo tee /proc/acpi/ibm/fan    # (fan off)
$ echo level 7 | sudo tee /proc/acpi/ibm/fan    # (maximum speed)
$ echo level auto | sudo tee /proc/acpi/ibm/fan # (automatic - default)

答案2

你必须写一个/proc/acpi/ibm/fan没有单词 的数字level。例如,

echo 4 > /proc/acpi/ibm/fan

暗示:要以非 root 用户身份写入该文件,您可以使用teesudo

echo 4 | sudo tee /proc/acpi/ibm/fan

相关内容