2023年11月24日发(作者:)

联想Lenovo-Thinkpad风扇BIOS转速静音问题和tpfancontrol的弊端

——很专业很详尽的解释

x61的风扇问题和大家讨论一下tpfancontrol的弊端

最近发现有很多兄弟都讨论x

6"SL40k系列的风扇噪音问题,我也发过类似的帖子,问题无非风扇是转

起来就不停,而且转速较高。看到很多回帖的兄弟都建议用tpfancontrol这个软

件来控制风扇。这个软件本人也用了一段时间,为了弄清原理同时又查了很多

有关这款软件的资料,发现并不都是正面的评论,也有不少批判的声音,其中

有些技术层面上的分析很有道理,但大部分使用者都被这款软件的简单易用的

外表所蒙蔽了。下面我就说说对这款软件的理解,有不同的看法大家交流,解

决问题才是最终目的。

以下以tpfancontrol

0."62xx汉化版为例

首先,tpfancontrol的功能相信大家都熟悉了,可以自由设置风扇的启动阈

值和转速大小,适合在各种环境适用,即可偏重静音也可加强散热,支持开机

自启动,从表面上看这是一款近乎完美的软件。

现在问题来了,如果你正在使用tpfancontrol,请打开你电脑中的事件查看

器,你会发现会有好几个ACPI错误的警告,而这些警告的时间恰恰都与你开机

的时间吻合(不信可以重启一下试试)(everest调用传感器时也会出现上述警

告,但everest是只读不写)

警告的内容是:

当无请求时,嵌入式控制器(EC)返回数据。BIOS可能试图在没有与操作系

统同步的情况下访问EC。此数据将被忽略。不需要执行进一步操作;但是,请

与您的计算机制造商联系,获取升级的BIOS

弊端一:

1 / 5

下面是引用网易xx唯我独醒网友的分析:

“EC控制风扇,具体怎么控制,根据一个ram的内容(应该是一个字

节),此ramT43中独立,在windows环境中可以通过winIO进行访问,ec

不断检测此ram中的内容,如果是0-7那么ec将不再接受BIOS提供的风扇控制

数据,而是根据ram的具体数值对风扇转速进行锁定。具体转速见readme

件。而当此ram的内容为0x80128的时候那么风扇的转速受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会得到一个关闭程序的消息,此时fancontrolram

的内容恢复到0x80以便让bios对风扇进行控制。如果在fancontrol在正常工作

的时候,此时cpu的温度又很低,低于用户设定的0档那么,ram会被

fancontrol0x00,此时风扇停止转动,现在如果在任务管理器中中止了

fancontrol的进程,那么fancontrol没有得到一个要关闭程序的windows的消

息,也即fancontrol没有被正常关闭,此时fancontrol不工作了,而由于它的非

正常退出也没有把ram中的数据恢复到0x80,那么现在,这个风扇就不被任何

软件管理了。因为ram中的数据永远是0x00,除非有两种方法,一是重新运行

fancontrol,使其再次对ram进行相应的操作。在有一种方法就是关闭计算机,

重新启动。而且只有关闭计算机在重新启动才行,根据ram的特性,直接重新

启动时不行的,直接重新启动的话ram不会掉电,所以其数据仍是0x00,还有一

个问题就是直接重新启动ec也不会对ram进行初始化,不然ram重新启动也会

2 / 5

被修改为0x80,通过测试关机重启ec应该是会对ram进行初始化,反正实际上

是行的,关机前写的是0x07,然后中止fancontrol,重启,ram还是7,关机,开

机,一听就知道风扇由bios管理的,自然是恢复到了0x

80."这也是上文提到的为什么直接重启不行的原因。

坛子里有一位兄弟就遇到了这样的问题。具体大家自己查吧。

总结一下,tpfancontrol让风扇安静了,同时硬件就要承受更长时间的高温

煎熬,如果你的机子风扇噪音没有到你不能忍受的地步,尽量交给bios去控制

吧,毕竟这和硬件、系统、驱动的匹配程度是最高的,也是相对较稳定的。同

时,定期清理一下灰尘、给风扇加油也是解决风扇噪音和高温问题的最有效的

途径之

一。"

发了这篇帖子也许有人会说我杞人忧天,我只是想把它当成技术来讨论,

并不想让它成为大家的心病,发这个帖子主要是为了提醒大家和交流技术,如

有说得不妥之处请指正。

1.现在问题来了,如果你正在使用tpfancontrol,请打开你电脑中的事件查

看器,你会发现会有好几个ACPI错误的警告,而这些警告的时间恰恰都与你开

机的时间吻合(不信可以重启一下试试)(everest调用传感器时也会出现上述

警告,但everest是只读不写)警告的内容是:

当无请求时,嵌入式控制器(EC)返回数据。BIOS可能试图在没有与操作系

统同步的情况下访问EC。此数据将被忽略。不需要执行进一步操作;但是,请

与您的计算机制造商联系,获取升级的BIOS

--------------------------

这个完全不必担心,这个问题产生的原因为tpfancontrol软件绕过操作系统

直接访问EC,严格来说这算不上错误,这个警告可以忽略.

2.“EC控制风扇,具体怎么控制,根据一个ram的内容(应该是一个字

节),此ramT43中独立,在windows环境中可以通过winIO进行访问,ec

3 / 5

不断检测此ram中的内容,如果是0-7那么ec将不再接受BIOS提供的风扇控制

数据,而是根据ram的具体数值对风扇转速进行锁定。具体转速见readme

件。而当此ram的内容为0x80128的时候那么风扇的转速受bios管理,应该

是接受bios提供的风扇转速控制数据,从而对风扇进行相应的调节。Fancontrol

在工作的时候,会根据读取的温度传感器的信息进行判断,根据具体的温度值

结合用户的设定,对ram的内容进行0-7的调整,而ec检测到ram的变化,有

根据ram的数值对风扇进行相应的调整。这就达到了用fancontrol进行风扇控

制的目的。

tpfancontrol要控制的这个ram,如果经常的擦写eepROM,对eepROM

寿命有影响,一般eepROM的擦写寿命在10-100万次左右。那样的话eepROM

可能过一段时间就坏了。(如果风扇每5分钟启动一次,一小时就是12次,一

天用5小时的话就是60次,每天用的话,运气不好的话不到5eepROM就坏

了,一般用户都出保了。当然这早已超过了一台电脑的使用周期。)

----------------------------------------------

如果你读过tpfancontrol的源代码你就会知道,它写入的不是EC

EEPROM,而是EC的寄存器,寄存器和eeprom的区别在于寄存器断电后不保存

数据,eeprom断电保存数据,而寄存器的寿命可比eeprom长多了,cpu

AXBXIP这些寄存器一秒钟能被读写上万次

3.即使是tpfancontrol意外终止导致ECbios无法接管风扇控制,也不需要担

心温度会持续升高导致烧坏cpu,原因在于cpu自身的温度保护机制,这个大部

分人都明白就不多说了.

4.有人会说有时候玩游戏会导致cpu一直100%占用会不会导致tpfancontrol

无法有效的运行,是否需要调高tpfancontrol的进程优先级,这个,就更不用担

心了,自winNT之后的windows系统都是抢占式多任务而不是win

3."x的协同式多任务,即使tpfancontrol优先级调到最低级windows也不会

让他一直占不到cpu时间片的。

5."考虑一下使用和不使用tpfancontrol的利弊吧,不开tpfancontrol风扇会

一直转,大家都知道,机械的东西总是比电子的东西容易坏多了(假设你还是

4 / 5

认为它会损坏EC eeprom的话),风扇要是不停地转几乎五年后非常多的人总

能碰到fan error!,一个风扇可是好几百呢,而即使tpfancontrol真的读写

eeprom,那至少eeprom的寿命也在5年至50年,实际上电子产品的寿命总是

比你想象的长得多,所以取最短的5年没有多大意义,大多数电子产品寿命在

20年以上(eeprom这种东西大部分家用电器中都得有,而且读写绝对比

tpfancontrol频繁多了,比如电视机你每换个台调个音量它就得写入eeprom),

如果你真的这么幸运5年就坏了那得恭喜你了赶紧买彩票去吧。

关于ECEEPROMEC的寄存器不知道楼主和13楼哪个是真的;

tpfan不仅仅是让风扇安静,有时温度很低了风扇还在卖力的转,bios

扇控制不够智能,这时就tpfan就派上用场了;

两套profile,冬天夏天各一个,冬天风扇基本不转暖手,夏天风扇转得勤

点凉快,自由控制。

后来出现了服务器版Sev.防止TPfancontrol意外导致的风扇停转,但貌似现

在下载不到了。用

4."1版本很好,我的是SL510K的机子。

5 / 5