Thinkpad T4x 风扇转速档位控制

Thinkpad T4x的风扇转速在一般的情况下由BIOS负责自动调整,其实我们也可以通过读写嵌入式控制器的0x62、0x66号端口实现对其的手动控制,这可以用来解决某些BIOS不尽如人意所导致的问题,如抑制转动杂音、预热风扇电机等。*自编程控制风扇转速具有一定危险性,可能损坏硬件,请谨慎使用!*

[常数定义]
#define EC_DATAPORT    0x62 //控制端口号
#define EC_CTRLPORT    0x66 //数据端口号
#define EC_CMD_WRITE   0x81 //写指令字节
#define TP_FAN_CONTRL  0x2F //写指令参数1,设置风扇转速档位
#define TP_FAN_LEVELS     n //写指令参数2,风扇档位的具体取值

[设置步骤]
1.  轮询控制端口,确保输入、输出缓冲区为空
2*. 向控制端口写入一个写指令字节,其值为EC_CMD_WRITE
3.  轮询控制端口,直到输入缓冲区为空,确保写指令字节被取走
4*. 向数据端口写入一个字节,该字节为写指令的第一个参数,其值为TP_FAN_CONTRL
5.  轮询控制端口,直到输入缓冲区为空,确保第一个参数被取走
6*. 向数据端口写入一个字节,该字节为写指令的第二个参数,其值为TP_FAN_LEVELS
7.  轮询控制端口,直到输入缓冲区为空,确保第二个参数被取走
8.  设置完毕,把耳朵趴在键盘上听听风扇的声音吧!

[附加说明A] 关于TP_FAN_LEVELS的取值
a. 从低速档到高速档,通常取值为0x0-0x7,0为风扇停转
b. 特殊值0x80表示由Thinkpad BIOS自动调节转速,推荐值
c. 特殊值0x40表示风扇超高速运转,某些机型不支持,可能会损坏风扇,慎用
d. 其他取值产生的结果要么没定义,要么尚未确定,慎用

[附加说明B] 检验输入或输出缓冲区为空的方式
#define EC_STAT_OBF 0x01   //输出缓冲区满标志
#define EC_STAT_IBF 0x02   //输入缓冲区满标志

从控制端口中读取出一个DWORD,将其低位字节分别与上述标志位相与,若为0,则对应缓冲区为空,反之则缓冲区满。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是老外开发的IBM风扇控制程序,能自己控制风扇转动的温度和速度。 打开编辑fancontrol.ini文件,改变active=1,默认为0,退出,运行fancontrol.exe,选择mode为smart即可通过程序控制风扇转动速度。 温度控制值在fancontrol.ini文件中可改变。 我的测试结果,如果温度选择 48度-52度风扇转速1,在CPU降频使用时,风扇转速噪音基本可以忽略,风扇启停的比例大概是1:1,如把风扇风量固定选1,则CPU温度在45~46度之间变动。 现在感觉要是能最小化就好了,这个程序经过我昨天一晚上的下载东西的测试来看,还是不错的,按上面的设定,CPU温度就没超过52度,应该没什么大碍。 这个程序一关闭,风扇控制权就交给BIOS了。最新版v018,增加可忽略一些温度的选择。 fancontrol.ini的设置: 1:Active=(0,1,2) 设置风扇控制程序的状态,0为不控制,1为容许控制,2为启动后就自动控制; 2:Cycle=5 设置检测温度的时间间隔,5为5秒; 3:MinimizeToSysTray=(0,1) 设置最小化时的状态,0为不变化,1为最小化到系统托盘; 4:MinimizeOnClose=(0,1) 设置选择关闭程序时的状态,0为关闭,1为最小化到系统托盘; 5:StartMinimized=(0,1) 设置程序启动时是最小化还是隐藏到系统托盘,0为最小化,1为到系统托盘; 6:IconLevels=50 55 60 选择系统图标三种颜色代表的温度,第一位对应黄色,第二位对应橙色,第三位对应红色; 7:FanBeep=1 1 设置风扇启动和停止的时间,单位为ms; 8:MaxReadErrors= 10 设置在出现读温度值错误的次数,程序将转入BIOS控制; 9:IgnoreSensors=PWR,YYY,ZZZ 设置程序忽略控制的温度项目,填入相应的名称,则程序将不考虑此项温度值; 10:Level=48 0 Level=51 1 Level=55 4 Level=60 7 Level=70 128 设置程序控制的温度值和相对应的风扇转速,按系统各部件的最高温度控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值