2024年3月17日发(作者:)
联想Lenovo-Thinkpad风扇BIOS转速静音问题和tpfancontrol的弊端——很专业很详尽的解释
借x61的风扇问题和大家讨论一下tpfancontrol的弊端
最近发现有很多兄弟都讨论x6、SL410/510k系列的风扇噪音问题,我也发过类似的帖子,问题无非风扇是转起来就不
停,而且转速较高。看到很多回帖的兄弟都建议用tpfancontrol这个软件来控制风扇。这个软件本人也用了一段时间,为
了弄清原理同时又查了很多有关这款软件的资料,发现并不都是正面的评论,也有不少批判的声音,其中有些技术层面
上的分析很有道理,但大部分使用者都被这款软件的简单易用的外表所蒙蔽了。下面我就说说对这款软件的理解,有不
同的看法大家交流,解决问题才是最终目的。
以下以tpfancontrol 0.62深海汉化版为例
首先,tpfancontrol的功能相信大家都熟悉了,可以自由设置风扇的启动阈值和转速大小,适合在各种环境适用,即可偏
重静音也可加强散热,支持开机自启动,从表面上看这是一款近乎完美的软件。
现在问题来了,如果你正在使用tpfancontrol,请打开你电脑中的事件查看器,你会发现会有好几个ACPI错误的警告,
而这些警告的时间恰恰都与你开机的时间吻合(不信可以重启一下试试)(everest调用传感器时也会出现上述警告,但
everest是只读不写)
警告的内容是: “当无请求时,嵌入式控制器(EC)返回数据。BIOS 可能试图在没有与操作系统同步的情况下访问 EC。此
数据将被忽略。不需要执行进一步操作;但是,请与您的计算机制造商联系,获取升级的 BIOS。”
弊端一:
下面是引用网易博客唯我独醒网友的分析:
“EC控制风扇,具体怎么控制,根据一个ram的内容(应该是一个字节),此ram在T43中独立,在windows环境中可
以通过winIO进行访问,ec不断检测此ram中的内容,如果是0-7那么ec将不再接受BIOS提供的风扇控制数据,而是
根据ram的具体数值对风扇转速进行锁定。具体转速见readme文件。而当此ram的内容为0x80即128的时候那么风扇
的转速受bios管理,应该是接受bios提供的风扇转速控制数据,从而对风扇进行相应的调节。Fancontrol在工作的时候,
会根据读取的温度传感器的信息进行判断,根据具体的温度值结合用户的设定,对ram的内容进行0-7的调整,而ec
检测到ram的变化,有根据ram的数值对风扇进行相应的调整。这就达到了用fancontrol进行风扇控制的目的。”
tpfancontrol要控制的这个ram,如果经常的擦写eepROM,对eepROM的寿命有影响,一般eepROM的擦写寿命在10-100
万次左右。那样的话eepROM可能过一段时间就坏了。(如果风扇每5分钟启动一次,一小时就是12次,一天用5小
时的话就是60次,每天用的话,运气不好的话不到5年eepROM就坏了,一般用户都出保了。当然这早已超过了一台
电脑的使用周期。)
弊端二
“当fancontrol正常工作的时候,当用户正常关闭它的时候,根据windows的工作原理,fancontrol会得到一个关闭程序
的消息,此时fancontrol把ram中的内容恢复到0x80以便让bios对风扇进行控制。如果在fancontrol在正常工作的时候,
此时cpu的温度又很低,低于用户设定的0档那么,ram会被fancontrol写0x00,此时风扇停止转动,现在如果在任务管
理器中中止了fancontrol的进程,那么fancontrol没有得到一个要关闭程序的windows的消息,也即fancontrol没有被正
常关闭,此时fancontrol不工作了,而由于它的非正常退出也没有把ram中的数据恢复到0x80,那么现在,这个风扇就
不被任何软件管理了。因为ram中的数据永远是0x00,除非有两种方法,一是重新运行fancontrol,使其再次对ram进行
相应的操作。在有一种方法就是关闭计算机,再重新启动。而且只有关闭计算机在重新启动才行,根据ram的特性,直接
重新启动时不行的,直接重新启动的话ram不会掉电,所以其数据仍是0x00,还有一个问题就是直接重新启动ec也不会
对ram进行初始化,不然ram重新启动也会被修改为0x80,通过测试关机重启ec应该是会对ram进行初始化,反正实际
上是行的,关机前写的是0x07,然后中止fancontrol,重启,ram还是7,关机,开机,一听就知道风扇由bios管理的,
自然是恢复到了0x80.这也是上文提到的为什么直接重启不行的原因。”
坛子里有一位兄弟就遇到了这样的问题。具体大家自己查吧。
总结一下,tpfancontrol让风扇安静了,同时硬件就要承受更长时间的高温煎熬,如果你的机子风扇噪音没有到你不能
忍受的地步,尽量交给bios去控制吧,毕竟这和硬件、系统、驱动的匹配程度是最高的,也是相对较稳定的。同时,定
期清理一下灰尘、给风扇加油也是解决风扇噪音和高温问题的最有效的途径之一。
发了这篇帖子也许有人会说我杞人忧天,我只是想把它当成技术来讨论,并不想让它成为大家的心病,发这个帖子主要
是为了提醒大家和交流技术,如有说得不妥之处请指正。
1. 现在问题来了,如果你正在使用tpfancontrol,请打开你电脑中的事件查看器,你会发现会有好几个ACPI错误
的警告,而这些警告的时间恰恰都与你开机的时间吻合(不信可以重启一下试试)(everest调用传感器时也会出现上述
警告,但everest是只读不写)警告的内容是: “当无请求时,嵌入式控制器(EC)返回数据。BIOS 可能试图在没有与操
作系统同步的情况下访问 EC。此数据将被忽略。不需要执行进一步操作;但是,请与您的计算机制造商联系,获取升
级的 BIOS。”
--------------------------
这个完全不必担心,这个问题产生的原因为tpfancontrol软件绕过操作系统直接访问EC,严格来说这算不上错误,这个
警告可以忽略.
2. “EC控制风扇,具体怎么控制,根据一个ram的内容(应该是一个字节),此ram在T43中独立,在windows
环境中可以通过winIO进行访问,ec不断检测此ram中的内容,如果是0-7那么ec将不再接受BIOS提供的风扇控制
数据,而是根据ram的具体数值对风扇转速进行锁定。具体转速见readme文件。而当此ram的内容为0x80即128的
时候那么风扇的转速受bios管理,应该是接受bios提供的风扇转速控制数据,从而对风扇进行相应的调节。Fancontrol
在工作的时候,会根据读取的温度传感器的信息进行判断,根据具体的温度值结合用户的设定,对ram的内容进行0-7
的调整,而ec检测到ram的变化,有根据ram的数值对风扇进行相应的调整。这就达到了用fancontrol进行风扇控制
的目的。”
tpfancontrol要控制的这个ram,如果经常的擦写eepROM,对eepROM的寿命有影响,一般eepROM的擦写寿命在10-100
万次左右。那样的话eepROM可能过一段时间就坏了。(如果风扇每5分钟启动一次,一小时就是12次,一天用5小时
的话就是60次,每天用的话,运气不好的话不到5年eepROM就坏了,一般用户都出保了。当然这早已超过了一台电
脑的使用周期。)
----------------------------------------------
如果你读过tpfancontrol的源代码你就会知道,它写入的不是EC的EEPROM,而是EC的寄存器,寄存器和eeprom的
区别在于寄存器断电后不保存数据,eeprom断电保存数据,而寄存器的寿命可比eeprom长多了,cpu的AX,BX,IP
这些寄存器一秒钟能被读写上万次
3. 即使是tpfancontrol意外终止导致EC bios无法接管风扇控制,也不需要担心温度会持续升高导致烧坏cpu,
原因在于cpu自身的温度保护机制,这个大部分人都明白就不多说了.
4. 有人会说有时候玩游戏会导致cpu一直100%占用会不会导致tpfancontrol无法有效的运行,是否需要调高
tpfancontrol的进程优先级,这个,就更不用担心了,自win NT之后的windows系统都是“抢占式”多任务而不是win3.x
的协同式多任务,即使tpfancontrol优先级调到最低级windows也不会让他一直占不到cpu时间片的。
5. 考虑一下使用和不使用tpfancontrol的利弊吧,不开tpfancontrol风扇会一直转,大家都知道,机械的东西总
是比电子的东西容易坏多了(假设你还是认为它会损坏EC eeprom的话),风扇要是不停地转几乎五年后非常多的人总
能碰到fan error!,一个风扇可是好几百呢,而即使tpfancontrol真的读写eeprom,那至少eeprom的寿命也在5年至
50年,实际上电子产品的寿命总是比你想象的长得多,所以取最短的5年没有多大意义,大多数电子产品寿命在20年
以上(eeprom这种东西大部分家用电器中都得有,而且读写绝对比tpfancontrol频繁多了,比如电视机你每换个台调个
音量它就得写入eeprom),如果你真的这么幸运5年就坏了那得恭喜你了赶紧买彩票去吧。
关于EC的EEPROM和EC的寄存器不知道楼主和13楼哪个是真的;
用tpfan不仅仅是让风扇安静,有时温度很低了风扇还在卖力的转,bios风扇控制不够智能,这时就tpfan就派上用场
了;
两套profile,冬天夏天各一个,冬天风扇基本不转暖手,夏天风扇转得勤点凉快,自由控制。
后来出现了服务器版Sev.防止TPfancontrol意外导致的风扇停转,但貌似现在下载不到了。用4.1版本很好,我的是
SL510K的机子。


发布评论