如何让风扇控制工作?

Rob*_*inJ 36 fan overheating fancontrol

我知道有一种叫做风扇控制的东西,它使您能够控制系统通风的速度。我想让我的风扇转得更快一点,因为我的笔记本电脑很容易升温。我发现的所有教程和内容都适用于旧版本的 Ubuntu,似乎不再适用。

任何人都可以向我解释或给我一个关于如何让它在 Ubuntu 上工作的好链接吗?具有相同效果的不同的东西也可以。

fil*_*aps 14

lm-sensors 安装lm-sensors 可能是你正在寻找的。

正如你所建议的那样 安装风扇控制.

确保您尝试通过软件控制的所有风扇都具有 4 针连接器。

“具有 PWM 功能的风扇通常连接到 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
Run Code Online (Sandbox Code Playgroud)

但正如我所说,我不能自己测试这个,因为我的硬件不支持它,我可以从 bios 控制我的粉丝,但它是 3 级。我用它来保持我的粉丝的缓慢和安静。


Car*_*arl 14

您很可能能够通过本答案中给出的方法通过其他方法覆盖您的 i8kctl 风扇命令来解决您的问题。为完整起见,我将包括一些有关戴尔笔记本电脑风扇控制的一般说明,以及i8kutils.

什么可能行不通

控制笔记本电脑风扇的两种常见且直接的方法是通过 ACPI 和通过 PWM 引脚,但是,不幸的是:

  • 戴尔笔记本电脑缺乏ACPI风扇控制功能 (*1)

    • 因此,尝试使用 ACPI 启动参数等将失败
  • 据我所知,戴尔 Latitude 笔记本电脑缺少 pwm 可控风扇 (*2)

    • 因此,fancontrol/pwmconfig程序将无法工作

使用i8kutils

但是,有一个名为的包i8kutils,用于通过SMM BIOS控制戴尔 Inspiron 笔记本电脑上的风扇。一些用户也报告说在他们的戴尔Latitude笔记本电脑上也取得了成功(我就是其中之一,使用的是戴尔 Latitude E7440)——但是,通常需要一个技巧来摆脱干扰 BIOS 风扇控制。根据之前的评论,您也遭受了这种痛苦。

安装i8kutils

$ sudo apt-get install i8kutils
Run Code Online (Sandbox Code Playgroud)

尝试一下:

$ i8kfan 2 2     # set to max speed
$ i8kfan 0 0     # set to 0 speed
Run Code Online (Sandbox Code Playgroud)

...并听听它是否有效。

禁用 BIOS 风扇控制

如果它有效,但有其他东西在反击设置的速度(戴尔 Latitude 笔记本电脑上的许多用户报告),这是由于预定的 SMM 会话设置了风扇速度。幸运的是,有一种方法可以通过写入 SMM 寄存器禁用 BIOS 风扇控制

警告:请参阅 smm.c 顶部的警告。此方法将写入 SMM 寄存器。但是,我没有看到用户报告这引起了麻烦。此外,所有尝试此操作的报告都表明禁用 BIOS 风扇控制是成功的。

i8kutils包括程序的源代码,smmi8kutils包不包括编译后的二进制文件。我们要做的是下载 的源代码i8kutils,编译程序smm,并使用适当的参数运行它,通过写入 SMM 寄存器来禁用 BIOS 风扇控制。

下载构建所需的包:

$ sudo apt-get build-dep i8kutils
Run Code Online (Sandbox Code Playgroud)

下载i8kutils源代码,解压并进入目录(具体名称取决于 i8k 版本):

$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/
Run Code Online (Sandbox Code Playgroud)

编译smm

smm使用参数运行30a3以禁用 SMM 风扇控制:

$ sudo ./smm 30a3
Run Code Online (Sandbox Code Playgroud)

现在,应该禁用 BIOS 风扇控制。尝试使用 设置速度i8kctl,聆听风扇的声音并确保速度持续。

注意:这是一个将持续重启和关闭电源的设置。BIOS 风扇控制可以再次启用$ sudo ./smm 31a3


*1:我看过官方消息,现在找不到。如果您想验证您的硬件是否缺少它,请按照此处的说明进行操作:https : //wiki.ubuntu.com/DebuggingACPI

*2:为了验证这一点,运行 pwmconfig: sudo apt-get install fancontrolsudo pwm-config将判断是否存在支持 pwm 的风扇

关于smm的注意事项

smm不再包含在 latest 中i8kutils。如果您的发行版已升级到最新版本,则必须手动获取旧版本。1.41 版本包含 smm,而 1.43 不再包含它。

从 1.42 开始,smm 仅作为内核模块提供。

您可以在i8kutils 启动板页面上获得 1.41 。


小智 9

i8kutils 用于控制我的戴尔 Vostro 3350 笔记本电脑的风扇。

# 仅适用于戴尔笔记本电脑:
$ sudo apt-get install i8kutils 
$ i8kfan 1 2 # 设置左风扇低速(1); 正确的高速(2)。


Ewa*_*ald 5

好的,这可能不是您要寻找的答案,但是通过在通风口上放置真空吸尘器清除灰尘后,我的过热问题得到了解决。如果您在低 CPU 频率下遇到过热,这可能值得一试。请注意,小零件可能会被吸入。如果幸运的话,这种方法可能会解决您的过热问题。