Ubuntu/东芝风扇转速问题

Ubuntu/东芝风扇转速问题

我在东芝笔记本电脑上使用 Ubuntu 11.10 AMD64(L505D-S5965)启动操作系统后,风扇运转正常,基本无噪音。最近,我注意到每当我从系统挂起状态恢复时,风扇就开始发出噪音。这种情况一直发生,即使没有任何程序或进程在运行。它会一直发出噪音,直到我重新启动计算机,然后它才会恢复正常。当风扇发出噪音时,CPU 温度为 53°C,一点也不热。我尝试使用pcie_aspm=forceGRUB 选项文件进行启动,但没有成功。有解决办法吗?

答案1

这是 Ubuntu 中的一个已知错误,可以追溯到 2006 年:
错误 #77370:笔记本电脑从挂起状态恢复到 RAM 后风扇始终开启

上面是一个持续了 6 年的很长的帖子,结论是这个问题发生在某些内核版本上,但不是全部。

列出了一些解决方案,从拔下/重新插入电源线到创建恢复后运行的脚本以停止风扇。

有问题的脚本被创建为文件/etc/pm/sleep.d/99fancontrol(记住 chmod 755):

#!/bin/sh
#
# Stop the fan.
# Source: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.17/+bug/77370

case "$1" in
 hibernate|suspend)
  # Stopping is not required.
  ;;
 thaw|resume)
# In background.
   ( sleep 10 ; echo -n "0" > /sys/devices/virtual/thermal/cooling_device1/cur_state ) &

  ;;
 *) exit $NA
  ;;
esac

答案2

您可以尝试根据温度配置风扇速度。操作方法如下

(请注意,此示例是我为 Ubuntu Karmic Koala 撰写的一篇法语旧博客文章的翻译......希望我的“散文”用英文也能读懂!)

风扇监控和控制

在终端中输入:pwmconfig并按照以下步骤操作

例子:

1) 第一步:pwmconfig 搜索 Power Waves Monitors

Found the following devices:
hwmon0/device is w83697hf

Found the following PWM controls:
hwmon0/device/pwm1
hwmon0/device/pwm2

Giving the fans some time to reach full speed…
Found the following fan sensors:
hwmon0/device/fan1_input     current speed: 0 … skipping!
hwmon0/device/fan2_input     current speed: 4326 RPM

2) 第二步:

pwmconfig 通过尝试停止 PWM 控制来检查风扇是否与 PWM 控制相关。通过向 pwmconfig 确认风扇确实已停止,这将 pwmconfig 与特定风扇关联起来。

Testing pwm control hwmon0/device/pwm1 …
hwmon0/device/fan2_input … speed was 4326 now 4326
no correlation

{如果 pwmconfig 没有检测到这样的风扇,它会要求您确认…}

No correlations were detected.
There is either no fan connected to the output of hwmon0/device/pwm1,
or the connected fan has no rpm-signal connected to one of the tested fan sensors.

Did you see/hear a fan stopping during the above test (n)? n

{此处 pwmconfig 检查下一个 pwm 控制…}

Testing pwm control hwmon0/device/pwm2 …
hwmon0/device/fan2_input … speed was 4326 now 0
It appears that fan hwmon0/device/fan2_input
is controlled by pwm hwmon0/device/pwm2

{此处 pwmconfig 已找到相关性并将其保存在配置文件 /etc/fancontrol 中}

3) 第三步:也可以设置 pwmconfig 变量

传感器检测到的最低温度:MINTEMP 传感器检测到的最高温度:MAXTEMP 风扇启动的最低温度:MINSTART 风扇停止的最低温度:MINSTOP

如果您收到类似以下消息:“文件 /var/run/fancontrol.pid 存在。”这通常意味着 fancontrol 守护进程正在运行。您应该在运行 pwmconfig 之前将其停止。如果您确定 fancontrol 没有运行,那么您可以手动删除 /var/run/fancontrol.pid。

4) 第四步:运行此命令“fancontrol stop”,然后运行“pwmconfig”,它将为您提供如下输出:

Select fan output to configure, or other action:
1) hwmon0/device/pwm2  3) Just quit          5) Show configuration
2) Change INTERVAL     4) Save and quit
select (1-n): 1

4.1 {这里我选择“1“:与正在使用的传感器对应的pwm控制}

Devices:
hwmon0/device is w83697hf

Current temperature readings are as follows:
hwmon0/device/temp1_input    30
hwmon0/device/temp2_input    57

Select a temperature sensor as source for hwmon0/device/pwm2:
1) hwmon0/device/temp1_input
2) hwmon0/device/temp2_input
3) None (Do not affect this PWM output)
select (1-n): 2

4.2 {这里我选择“2“:le contrôle pwm 控制对应于有源传感器}

Enter the low temperature (degree C)
below which the fan should spin at minimum speed (0): 38

4.3 {这里我选择“三十八“:风扇转速最低时的最低温度 }

Enter the high temperature (degree C)
over which the fan should spin at maximum speed (60): 48

4.5 {这里我选择“四十八“:风扇转速达到最大温度 }

Enter the minimum PWM value (0-255)
at which the fan STARTS spinning (press t to test) (150): t

4.6 {这里我选择““:尝试在最大 pwm 值 = 风扇启动时输入“y” }

Now we increase the PWM value in 10-unit-steps.
Let the fan stop completely, then press return until the
fan starts spinning. Then enter ‘y’.
We will use this value +20 as the starting speed.
Setting hwmon0/device/pwm2 to 10…
Setting hwmon0/device/pwm2 to 20…
Setting hwmon0/device/pwm2 to 30…
Setting hwmon0/device/pwm2 to 40…
Setting hwmon0/device/pwm2 to 50…
Setting hwmon0/device/pwm2 to 60…  y
OK, using 60

Enter the minimum PWM value (0-255)
at which the fan STOPS spinning (press t to test) (100): t

4.7 {这里我选择““:尝试在 pwm 最小值 = 风扇停止时输入“y”}

Now we decrease the PWM value in 10-unit-steps.
Let the fan reach full speed, then press return until the
fan stops spinning. Then enter ‘y’.
We will use this value +20 as the minimum speed.
Setting hwmon0/device/pwm2 to 245…
Setting hwmon0/device/pwm2 to 235…
Setting hwmon0/device/pwm2 to 225…
Setting hwmon0/device/pwm2 to 215…
Setting hwmon0/device/pwm2 to 205…
Setting hwmon0/device/pwm2 to 195…
Setting hwmon0/device/pwm2 to 185…
Setting hwmon0/device/pwm2 to 175…
Setting hwmon0/device/pwm2 to 165…
Setting hwmon0/device/pwm2 to 155…
Setting hwmon0/device/pwm2 to 145…
Setting hwmon0/device/pwm2 to 135…
Setting hwmon0/device/pwm2 to 125…
Setting hwmon0/device/pwm2 to 115…
Setting hwmon0/device/pwm2 to 105…
Setting hwmon0/device/pwm2 to 95…
Setting hwmon0/device/pwm2 to 85…
Setting hwmon0/device/pwm2 to 75…
Setting hwmon0/device/pwm2 to 65…
Setting hwmon0/device/pwm2 to 55…
Setting hwmon0/device/pwm2 to 45…  y
OK, using 45

4.8 {最后输入最小和最大 pwm 值…}

Enter the PWM value (0-45) to use when the temperature
is below the low temperature limit (0): 24

Enter the PWM value (45-255) to use when the temperature
is over the high temperature limit (255): 255

==>>请注意,这些值稍后可能会进行调整以满足您的需要...

==>>不要忘记保存配置!

Select fan output to configure, or other action:
1) hwmon0/device/pwm2  3) Just quit          5) Show configuration
2) Change INTERVAL     4) Save and quit
select (1-n): **4**

完毕! :)

希望这能帮助您减少风扇噪音!让我们知道。:)

答案3

首先,确定哪个服务控制着你的风扇。它可能是“fancontrol”,但在笔记本电脑中可能是另一个。

安装 hibernate 包。尝试“hibernate-ram”和“hibernate-disk”命令。如果问题仍然存在,请编辑“ususpend-disk.conf”和/或“ususpend-ram.conf”,并添加“RestartServices foo”行,其中“foo”是管理风扇的服务名称。在我的系统中,“ususpend-disk.conf”中有“RestartServices fancontrol”,但在您的系统中,它可能是另一个服务。

相关内容