i8kctl 不适用于 Dell Inspiron 风扇控制

Sri*_*jan 6 fan power-management fancontrol 16.04

我正在尝试使用戴尔笔记本电脑的 i8kctl 软件包手动控制风扇速度。

系统 - Ubuntu 16.04、4.17.19-041719-通用 Dell 7567 Inspiron

我按照https://askubuntu.com/a/398635答案中的说明进行操作,成功禁用了 BIOS 风扇控制。

然而,当我这样做时

ik8ctl fan 2 2
Run Code Online (Sandbox Code Playgroud)

输出是 -1 -1

我认为这意味着风扇速度设置不成功。

ik8ctl fan 返回0 0指示没有风扇打开,因为 BIOS 风扇控制已被禁用。

我打开 BIOS 控制没有任何问题,但有时我需要最大风扇速度,但由于一些奇怪的原因,BIOS 没有这样做。

为什么 am8ctl 无法设置风扇速度?

更新:以 root 身份运行

sudo ik8ctl fan 2 2
Run Code Online (Sandbox Code Playgroud)

返回 0 0,而不是之前的 -1 -1。仍然没有完全按照预期工作。

UPDATE2 查看此错误报告解决方案(https://bugs.launchpad.net/i8kutils/+bug/1620580),我强制加载了模块

sudo rmmod dell-smm-hwmon
$ sudo modprobe dell-smm-hwmon restricted=0
Run Code Online (Sandbox Code Playgroud)

风扇控制现在可以在有限的时间内(1 秒)工作。看起来由于某种原因,偏见仍然占据了控制地位。

Mar*_*Dix 7

我为我的 Vostro 5481 找到了一个解决方案。它可能也适合您(和其他人)。

必需的

git clone https://github.com/TomFreudenberg/dell-bios-fan-control.git
cd dell-bios-fan-control
make
sudo ./dell-bios-fan-control 0
Run Code Online (Sandbox Code Playgroud)

如果你收到这样的错误

ioperm:: Operation not permitted 
ioperm:: Operation not permitted [1] 
4701 segmentation fault
Run Code Online (Sandbox Code Playgroud)

您需要进入 BIOS/UEFI 并禁用安全启动。然后再次运行该命令。现在输出应该是BIOS CONTROL DISABLED.

快速测试
您现在可以去检查适合您需求的风扇控制解决方案。如果你想快速测试,可以使用i8kutils:

git clone https://github.com/vitorafsr/i8kutils
cd i8kutils
make
sudo ./i8kctl fan 2 2
Run Code Online (Sandbox Code Playgroud)

您的风扇现在应该以尽可能高的设置运行,而不会受到 BIOS/UEFI 的干扰。

在日常工作中控制风扇
既然您的 BIOS/UEFI 不再控制风扇,您必须自己处理它。我建议使用https://linux.die.net/man/8/fancontrolpwmonfig它可以轻松地使用(随其附带)进行配置并将其自身添加为系统服务。

非常感谢
Tom Freudenberg 创建并在我收到错误时dell-bios-fan-control指出禁用。 SECURE_BOOTOperation not permitted

https://github.com/TomFreudenberg
https://askubuntu.com/users/293845/tom-freudenberg