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

jba*_*ter 5 linux acpi sensors lm-sensors centos-6

我正在尝试控制桌面上的风扇速度,非常感谢您的帮助。

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

动机:嵌入式 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)
    
    Run Code Online (Sandbox Code Playgroud)
  • 缩写为 /proc/cpuinfo

    processor   : 0
    vendor_id   : GenuineIntel
    cpu family  : 6
    model       : 28
    model name  : Intel(R) Atom(TM) CPU D425   @ 1.80GHz
    
    Run Code Online (Sandbox Code Playgroud)
  • 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
    
    Run Code Online (Sandbox Code Playgroud)

以前的尝试:

  • 运行 lm_sensors lm_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 
Run Code Online (Sandbox Code Playgroud)

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


我找到了一个启发我尝试 pwmconfig的链接。输出是:There are no pwm-capable sensor modules installed 我将尝试找出如何安装这些模块。


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

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

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

Mic*_*ega 4

查找acer_ec.pl脚本,它可以通过嵌入式控制器的寄存器来控制风扇。它也适用于其他电脑。