Linux:戴尔笔记本电脑风扇控制并获得CPU温度
我已经在Dell Inspiron/Latitude/Precision/Vostro笔记本电脑上安装了Debian或Ubuntu Linux。
如何查看当前的CPU温度?
如何控制和查看戴尔笔记本电脑上的风扇状态?
您需要使用" i8kfan"和" sensors"命令在由Linux操作系统驱动的Dell笔记本电脑上获取以下信息:
- CPU温度
- 左右风扇状态
- 左右风扇速度
- 交流电源状态
- Fn按钮状态
i8k驱动程序
您需要加载一个名为i8k的驱动程序。
它用于访问Dell笔记本电脑上的SMM BIOS。
商业级Dell笔记本电脑模块(例如Latitude,Inspiron,Vostro等)均得到很好的支持。
此模块包含在Linux内核版本3.0或更高版本中。
如何加载驱动程序?
执行以下modprobe命令以加载i8k驱动程序:
$ sudo modprobe -v i8k
或者
# modprobe -v i8k
输出示例:
insmod /lib/modules/3.5.0-30-generic/kernel/drivers/char/i8k.ko
在Debian/Ubuntu上安装i8kutils软件包
打开一个终端并输入以下命令:
$ sudo apt-get install i8kutils
输出示例:
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: i8kutils 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/35.4 kB of archives. After this operation, 184 kB of additional disk space will be used. Selecting previously unselected package i8kutils. (Reading database ... 256376 files and directories currently installed.) Unpacking i8kutils (from .../i8kutils_1.33_amd64.deb) ... Processing triggers for man-db ... Processing triggers for ureadahead ... Setting up i8kutils (1.33) ... * Not starting. Disabled via /etc/default/i8kmon. * Not starting. Disabled via /etc/default/i8kbuttons.
编辑文件"/etc/default/i8kbuttons"和"/etc/default/i8kmon",并将" ENABLED"设置为" 1":
ENABLED=1
或者,使用sed
命令来完成所有肮脏的工作:
sed -i.bak 's/ENABLED=0/ENABLED=1/' /etc/default/{i8kmon,i8kbuttons}
启动服务(这相当于运行modprobe -v i8k
命令):
# /etc/init.d/i8kmon start
输出示例:
* Starting Dell Inspiron fan/cpu-temperature monitor i8kmon [ OK ]
我如何查看当前状态?
输入以下命令
$ i8kctl
输出示例:
1.0 (null) XYZABC123 43 1 1 77130 78120 0 -1
其中:
1.0
i8k格式版本- (空)BIOS版本
- XYZABC123机器ID(戴尔序列号)
- `43'CPU温度
- 风扇状态为" 1"
1
右风扇状态7713
左风扇速度7812
右风扇速度- 交流电源状态为0
- -1:fn按钮状态
只需打印CPU温度,输入:
$ i8kctl temp
输出示例:
52
在戴尔笔记本电脑上控制风扇速度
首先,只需打印风扇状态信息:
$ i8kctl fan
输出示例:
1 1
fan命令可以接受两个可选参数,这些参数指定左右风扇的新风扇状态。
状态参数可以是:其中,
0
:关闭风扇(不推荐)1
:设置低速2
:设置高速-
:请勿更改此风扇的状态
例如,以下命令将左风扇(通常由CPU使用)设置为高速,而将右风扇保持不变:
$ i8kctl fan 2
在此示例中,将左风扇(通常由CPU使用)设置为高速,并保持左风扇不变:
$ i8kctl fan - 2
以下将两个风扇设置为低速:
$ i8kctl fan 1 1
这等效于运行以下命令:
## the syntax is ## i8kfan leftFan rightFan # Set left fan on high and leaves the right unchanged i8kfan 2 # Set right fan on high and leaves the left unchanged i8kfan - 2 # Set both fans to low i8kfan 1 1
请注意,服务/etc/init.d/i8kmon在守护程序模式下启动i8kmon。
因此,使用i8kfan设置速度是没有意义的,因为守护程序将根据系统温度即时用其自身值覆盖速度。
使用传感器命令
首先,按照此处所述安装和配置lm_sensors软件包,然后执行以下命令以查看有关FAN和CPU核心温度的信息:
$ sensors
建议您使用" acpi -V"命令查看Linux操作系统下的当前电池状态和温度。