linux笔记本风扇调节,Linux下笔记本的风扇控制问题

题目比较大,实际上只有IBM thinkpad T40和Dell 640m各一台。问题的起因是这台T40近来老是疯狂地转风扇,声音很大。上网搜了下think的风扇控制,发现了lm-sensors这个软件。

Lm看上去像是Linux monitor的意思,是一个监控系统硬件信息的工具。这个工作很大程度上依赖于硬件生产商,没有资料的话很难做。所以现在这个小软件支持的硬件也是有限的。

幸运的是lm-sensors支持thinkpad T40非常好,先用sensors-detect探测一下机器上可以用的信息,再运行sensors就可以看到温度等信息了。如果要控制风扇,就需要用pwmconfig来配置一下fancontrol这个工具。pwm就是脉宽调制,用Linux就是要达到这个程度啊。sensors-detect探测的时候,会说明有哪些核心模块要加载,最后会给出修改/etc/modules的命令,如果愿意还可以让它自动修改。

这里主要是个thinkpad-acpi模块,加上fan_control=1这个参数加载即可。

pwmconfig也就是测试一下风扇在什么样的pwm下开转,多大比例到多大转速,了解之后就可以设定温度到多少开始转,超过多少要猛转;还有最小用什么样的pwm,最大用什么样的pwm。一般没有必要用到最高转速,那样声音会非常大,所以最大也给个中间的值就可以了。

以上命令都是lm-sensors这个包提供的。它还提供了fancontrol这个控制脚本,可以在系统启动时就运行,rcconf加上就可以了。

最直接的方法,是给/proc/acpi/ibm/fan这个东西传参数,echo level 2 > fan这样的,风扇运行级别从0到7,2是比较慢的,声音比较可以接受。

IBM有thinkpad-acpi这种好模块用,Dell就不行。用sensors-detect基本探测不到什么东西,据说是生产商不提供产品规格。所以pwmconfig就进行不下去,fancontrol自然也就无望了。

但还是有一位牛人写了个模块,叫做i8k,Dell机器专用,可以读到一些系统硬件信息,应用程序叫i8kutils,其中包括i8kctl和i8kfan等,使用也不麻烦。但如果总是自己控制,也比较累,还是以前发现过的gkrellm这个系统监控程序,它有一个i8k的插件,可以设定改变风扇转速的温度值,还分用电池和插电两种情况,也算可以使用。

i8k加载的时候可能需要force=1这个参数。

笔记本风扇控制 ---------------------------------------- 09 November 2006. Summary of changes for version 20061109: 1) ACPI CA Core Subsystem: Optimized the Load ASL operator in the case where the source operand is an operation region. Simply map the operation region memory, instead of performing a bytewise read. (Region must be of type SystemMemory, see below.) Fixed the Load ASL operator for the case where the source operand is a region field. A buffer object is also allowed as the source operand. BZ 480 Fixed a problem where the Load ASL operator allowed the source operand to be an operation region of any type. It is now restricted to regions of type SystemMemory, as per the ACPI specification. BZ 481 Additional cleanup and optimizations for the new Table Manager code. AcpiEnable will now fail if all of the required ACPI tables are not loaded (FADT, FACS, DSDT). BZ 477 Added #pragma pack(8/4) to acobject.h to ensure that the structures in this header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been manually optimized to be aligned and will not work if it is byte-packed. Example Code and Data Size: These are the sizes for the OS- independent acpica.lib produced by the Microsoft Visual C++ 6.0 32- bit compiler. The debug version of the code includes the debug output trace mechanism and has a much larger code and data size. Previous Release: Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total Debug Version: 155.4K Code, 63.1K Data, 218.5K Total Current Release: Non-Debug Version: 77.9K Code, 17.0K Data, 94.9K Total Debug Version: 155.2K Code, 63.1K Data, 218.3K Total 2) iASL Compiler/Disassembler and Tools: Fixed a problem where the presence of the _OSI predefined control method within complex expressions could cause an internal compiler error. AcpiExec: Implemented full region support for multiple address spaces. SpaceId is now part of the REGION object. BZ 429 ---------------------------------------- 11 Oc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值