如何让风扇控制工作?
我知道有一种叫做fancontrol的东西,可以让你控制系统通风的速度。 因为我的笔记本电脑非常容易升温,所以我想让我的粉丝旋转得更快一些。 我发现的所有教程和内容都是旧版本的Ubuntu,似乎不再起作用了。
任何人都可以向我解释或给我一个很好的链接,我如何让它在Ubuntu上工作? 不同的东西也有同样的效果。
i8kutils适用于控制戴尔Vostro 3350笔记本电脑的风扇。
#仅限戴尔笔记本电脑: $ sudo apt-get install i8kutils $ i8kfan 1 2#设置左风扇低速(1); 正确的高速(2)。
您最有可能通过本答案中给出的方法覆盖您的i8kctl粉丝命令来解决您的问题。 为了完整i8kutils
,我将在戴尔笔记本电脑上提供有关风扇控制的一般说明,以及i8kutils
完整说明。
什么可能不会起作用
在笔记本电脑上控制风扇的两种常见且直接的方法是通过ACPI和PWM引脚,但不幸的是:
-
戴尔笔记本电脑缺乏ACPI风扇控制function(* 1)
- 因此,尝试使用ACPI启动参数等将失败
-
据我所知,戴尔Latitude笔记本电脑缺乏pwm可控风扇(* 2)
- 因此,
fancontrol
/pwmconfig
程序将无法正常工作
- 因此,
使用i8kutils
但是,有一个名为i8kutils
的软件包,用于通过SMM BIOS控制Dell Inspiron笔记本电脑上的风扇。 一些用户也报告了他们的戴尔Laitude笔记本电脑的成功(我是其中之一,戴尔Latitude E7440) – 但是,通常需要一个技巧来摆脱干扰BIOS风扇控制。 根据之前的评论你也会受到影响。
安装i8kutils
:
$ sudo apt-get install i8kutils
试试吧:
$ i8kfan 2 2 # set to max speed $ i8kfan 0 0 # set to 0 speed
……听听它是否有效。
禁用BIOS风扇控制
如果它可以工作,但其他一些东西正在反击设定的速度(戴尔Latitude笔记本电脑上的许多用户报告),这是由于计划的SMM会话设置风扇速度回来。 幸运的是,有一种方法可以通过写入SMM寄存器来禁用BIOS风扇控制 。
警告:请参阅smm.c顶部的警告。 此方法将写入SMM寄存器。 但是,我没有看到有关此问题的用户报告导致问题。 此外,所有关于尝试此操作的报告都表明在禁用BIOS风扇控制方面取得了成功。
i8kutils
包含程序smm
的源代码,但i8kutils
包不包含已编译的二进制文件。 我们要做的是下载i8kutils
的源代码,编译程序smm
,并使用适当的参数运行它,通过写入SMM寄存器来禁用BIOS风扇控制。
下载构建所需的包:
$ sudo apt-get build-dep i8kutils
下载i8kutils
源代码,解压缩并输入目录(具体名称取决于i8k版本):
$ apt-get source i8kutils $ tar xvf i8kutils_1.33.tar.gz $ cd i8kutils-1.33/
编译smm
:
-
如果在32位系统上:
$ make
(上面将执行
gcc -g -O2 -Wall -I. -o smm smm.c
) -
如果在64位系统上:
$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
使用参数30a3
运行smm
以禁用SMM风扇控制:
$ sudo ./smm 30a3
现在,应禁用BIOS风扇控制。 尝试使用i8kctl
设置速度,听取风扇并确保速度持续。
注意:此设置将持续重新启动和关闭电源。 可以使用$ sudo ./smm 31a3
再次启用BIOS风扇控制。
* 1:我见过这方面的官方消息来源,现在找不到它。 如果要validation硬件是否缺少,请按照以下说明操作: https : //wiki.ubuntu.com/DebuggingACPI
* 2:为validation这一点,运行pwmconfig: sudo apt-get install fancontrol
, sudo pwm-config
将判断是否存在支持pwm的风扇
包lm-sensors 可能就是你要找的东西。
正如你建议的fancontrol 。
确保您尝试通过软件控制的所有风扇都具有4针连接器。
“具有PWMfunction的风扇通常连接到4针连接器(引脚排列:接地,+ 12V,感应,控制)。” 资源
当我运行pwmconfig
,我得到了fancontrol的一部分
/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed
如果你有兼容的硬件,它将指导你。
以下是与生成的配置文件一起使用的一些脚本。 我假设你可以在这里设置更高的值。
label fan1 "Side Fan" set fan1_min 1000 label fan2 "PSU Fan" set fan2_min 1000 label fan5 "CPU Fan" set fan5_min 1000
但正如我所说,我不能自己测试,因为我的硬件不支持它,我可以控制我的粉丝,但它是3级。我用它来保持我的粉丝缓慢和沉默。
好吧,这可能不是您正在寻找的答案,但是当通过在通风入口处放置真空吸尘器去除灰尘时,我的过热问题得以解决。 如果您在低CPU频率下遇到过热,这可能值得一试。 请注意,可能会有小部件被吸入。如果您很幸运,这种方法可能会解决您的过热问题。
我有一个戴尔Latitude e4200,以下为我工作,因为BIOS覆盖了i8kfan设置。 我的电脑初始温度为105°F,使用这些步骤后约10分钟(风扇设置= 2)CPU /核心温度降至96°F。 此过程已由某人发布:
步骤1.下载并安装i8ktutils:
# sudo apt-get install i8kutils
步骤2.覆盖BIOS以防止其中断自定义风扇设置。 下载源代码并编译程序(SMM)来执行此操作:
# sudo apt-get build-dep i8kutils
然后:
# apt-get source i8kutils
步骤3.提取源代码并cd进入目录:
# tar xvf i8kutils_1.33.tar.gz
然后:
# cd i8kutils-1.33/
步骤4.编译SMM
For 32-bit systems: # make SMM (Output: # gcc -g -O2 -Wall -I. -o smm smm.c.) For 64-bit systems # make SMM: (Output: # gcc -g -O2 -Wall -I. -o smm -m32 smm.c)
步骤5.使用参数执行SMM:
# sudo ./smm 30a3
步骤6.设置风扇速度:
# i8kfan 2 2 (Listen as this will set fans to maximum speed) # i8kfan 1 1 (This will set fans to slow speed)
现在BIOS风扇控制不应该覆盖风扇设置。 即使重新启动系统,此设置也将保留。 要出于某种原因将控制权交还给BIOS,请执行以下步骤:
# sudo ./smm 31a3.
还有一种方法可以使用lm_sensors来检查temp:
http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/