如何从终端手动控制风扇?

如何从终端手动控制风扇?

我正在尝试控制桌面上的风扇速度,希望得到您的帮助。

目标:使用脚本来控制我的电脑的风扇速度。

动机:嵌入式 BIOS“智能风扇”设置不够智能,无法在系统变热时加速风扇转速,导致当其中一个温度超过阈值时崩溃。

配置:

  • Centos 6.3
  • 宏碁 Veriton VN281G-UA425L
  • 缩写 lspci 输出

    00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge
    00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
    00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
    00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
    00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
    00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA Controller [IDE mode] (rev 02)
    00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
    
  • 缩写 /proc/cpuinfo

    processor   : 0
    vendor_id   : GenuineIntel
    cpu family  : 6
    model       : 28
    model name  : Intel(R) Atom(TM) CPU D425   @ 1.80GHz
    
  • Grub 配置

    title CentOS (2.6.32-279.5.1.el6.x86_64)
            root (hd0,0)
            kernel /vmlinuz-2.6.32-279.5.1.el6.x86_64 ro root=/dev/mapper/vg_hadean-lv_root rd_NO_LUKS rd_LVM_LV=vg_hadean/lv_root LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_hadean/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
            initrd /initramfs-2.6.32-279.5.1.el6.x86_64.img
    

先前的尝试:

  • 运行 lm_sensorslm_sensors 只能找到温度输出
  • 运行 yum search fan无匹配
  • 将 acpi 和 acpi=strict 添加到内核选项什么都没发生
  • 检查 /proc/acpi/fan该目录为空

我运行了一下acer_ec.pl regs,输出结果如下:

        00  01  02  03  04  05  06  07  |   08  09  0A  0B  0C  0D  0E  0F
        __  __  __  __  __  __  __  __  |   __  __  __  __  __  __  __  __
00 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
10 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
20 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
30 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
40 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
50 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
60 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
70 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
80 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
90 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
A0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
B0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
C0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
D0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
E0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 255 255 
F0 |    255 255 255 255 255 255 255 255 |   255 255 255 255 255 255 

我不知道它是不是应该这个样子,但这里似乎有些不对劲。


我发现了一个关联这启发了我尝试 pwmconfig。输出为:There are no pwm-capable sensor modules installed 我将尝试找出如何安装这些模块。


我重置了“智能风扇”设置,目前它没有再给我带来任何问题。我不知道这会如何影响它,但当我开始重新给系统增加负载时,我们会看看会发生什么。

我还没有找到适合内核的补丁(或者这是否是问题所在)。如果问题仍然存在,我将尝试更新内核以包含 acpi 支持。使用 arch linux iso 中的硬件工具,我发现我正在使用 BIOS P01-A3L,版本 4/6/2011,修订版 8.16宏碁 Veriton N281G母板。

如果这不起作用,我可能会放弃它并转向 Debian 或 Arch。

答案1

查找 acer_ec.pl 脚本,它可以通过嵌入式控制器的寄存器来控制风扇。它也可以在其它电脑上运行。

答案2

另请查看风扇控制,我的回答是邮政。

答案3

有一个更流行的“fancontrol”在 lm-sensors wiki。另一个答案中的 fancontrol 链接是不同的脚本(更具实验性)。此 fancontrol 包含pwmconfig可检测温度传感器和风扇控制器的实用程序。

相关内容