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