如何让风扇控制工作?

我知道有一种叫做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 fancontrolsudo pwm-config将判断是否存在支持pwm的风扇

包lm-sensors 安装lm-sensors 可能就是你要找的东西。

正如你建议的fancontrol 安装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/