Temperature

如何強制風扇始終旋轉?

  • August 8, 2013

我在有過熱問題的 HP Pavilion dv9000t 上使用 ArchLinux。我盡我所能在筆記型電腦中獲得更好的氣流並塗上更好的導熱膏,但仍然存在問題:

當 CPU 溫度低時風扇停止旋轉(即使 GPU 溫度高,這是有問題的)。

我發現我可以通過啟動一些繁重的處理命令(如yes命令)來讓風扇執行。但是,這不是一個解決方案,因為我需要在 CPU 過熱時停止此命令,並在風扇停止時再次啟動它(這樣 GPU 不會變熱)。

我嘗試使用此 wiki控制風扇,但是當我執行時pwmconfig,我收到此錯誤:

/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed

你知道我該怎麼做才能讓風扇一直旋轉嗎?

編輯:

sensors-dectect輸出如下:

~/ sudo sensors-detect 
# sensors-detect revision 6170 (2013-05-20 21:25:22 +0200)
# System: Hewlett-Packard HP Pavilion dv9700 Notebook PC [Rev 1] (laptop)
# Board: Quanta 30CB

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): 
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Intel digital thermal sensor...                             Success!
   (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (YES/no): 
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): 
Using driver `i2c-i801' for device 0000:00:1f.3: Intel 82801H ICH8
Module i2c-dev loaded successfully.

Next adapter: nouveau-0000:01:00.0-0 (i2c-0)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: nouveau-0000:01:00.0-1 (i2c-1)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: nouveau-0000:01:00.0-2 (i2c-2)
Do you want to scan it? (yes/NO/selectively): 

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp':
 * Chip `Intel digital thermal sensor' (confidence: 9)

Do you want to overwrite /etc/conf.d/lm_sensors? (YES/no): 
Unloading i2c-dev... OK
Unloading cpuid... OK

該文件/etc/conf.d/lm_sensors包含:

HWMON_MODULES="coretemp"

該文件/etc/modules-load.d/lm_sensors.conf包含:

coretemp
acpi-cpufreq

該命令sensors輸出以下內容:

~/ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +46.0°C  (high = +85.0°C, crit = +85.0°C)
Core 1:       +47.0°C  (high = +85.0°C, crit = +85.0°C)

acpitz-virtual-0
Adapter: Virtual device
temp1:        +49.0°C  

nouveau-pci-0100
Adapter: PCI adapter
temp1:        +60.0°C  (high = +95.0°C, hyst =  +3.0°C)
                      (crit = +115.0°C, hyst =  +5.0°C)
                      (emerg = +115.0°C, hyst =  +5.0°C)

我最終決定選擇硬體解決方案。

我從風扇上剪斷了兩根電線,現在風扇總是旋轉(雖然在最高級別)。

我在這篇博文中找到了這個解決方案。

我進行了一些探勘,發現您的筆記型電腦存在製造商(特別是 NVIDIA 晶片)的缺陷,唯一的解決方案是按照此處的說明進行“回流” 。

可以暫時買個散熱墊,讓筆記本壽命更長,但不能解決溫度問題。

關於無法執行 pwmconfig,BIOS 不包括(來自 HP 文件)任何手動修改風扇速度的方法,因此 pwmconfig 失敗,因為沒有任何模組可以控制此值。

對於其他筆記型電腦,我建議查看您的手冊/規格,看看它們是否包含對這個模組的支持。如果您不確定或您的文件未包含該資訊,則執行 sensors-detect 不會受到傷害。還要記住,即使您的機器包含支持,有時 Linux 也不包含這些模組,因此您必須不斷更新最新的核心版本並祈禱。

引用自:https://unix.stackexchange.com/questions/78947