小米笔记本调教日记——读取并调整风扇转速

小米笔记本调教日记——读取并调整风扇转速

九月 19, 2018 阅读 456 字数 1399 评论 14 喜欢 0

更新:最新版本的 NoteBook FanControl 已内置配置文件,可直接下载安装使用:。
https://github.com/hirschmann/nbfc/releases

如果你只是想改变一下风扇的转速而并不打算知道我是怎么样做的,只需要下载下面的软件(NoteBook FanControl)或者其配置文件就可以达到你的目的了。

【链接已删除,请直接下载官方最新版】

起因

在准备比赛的这几天里,每天大部分时间都是坐在工作室摆弄电脑;这里相比较宿舍安静了很多,所以不戴耳机的时候听到自己电脑的风扇声音填满房间还是有些影响心情。

小米笔记本,尤其是其Air系列的的噪音问题是着实多,官方论坛上经常可以看到人们在这方面的投诉,以及水军和官方不痛不痒的回复。虽然有推出过几个说是可以改善风扇问题的 BIOS 更新,可惜我没有用出什么明显的区别来。不过话说回来,就算没唬人真的改变了风扇的调速曲线,想必也是非常保守的,毕竟高温导致的寿命缩短可是事关质保成本的大事(x

简单看了下,我没有办法在 AIDA64 上获得任何关于风扇转速的数据,想必官方对于风扇的调节和监控没有使用正常的规范去处理;不过作为一个熟练的数码破坏者,很快就找到了方法可以隔着外壳卡住风扇使其不能转动。当然这样的解决方法是严重的治标不治本,还有可能会导致风扇的损坏,得不偿失。那么就去研究下恶心了小米笔记本用户那么久的风扇问题吧!

CPU 的风扇转速是由主板上的一颗单片机来共同控制的,通常称之为EC(Embedded Controller,嵌入式控制器),其运行的软件通常也是由 BIOS 的出品公司编写的。在一些软件里也会被称为IO控制器。其地位举足轻重,负责了电脑上面所有的传感器和开关以及指示灯,管理着电池的充电和一些设备的热插拔,网络唤醒也是它来做的,同时还负责一些低速接口的通讯。所以如果想要对风扇进行操作就需要通过它来调节了。
(关于EC,可以继续阅读 http://benyouhui.it168.com/thread-487207-1-1.html

怎么样才能对这个芯片进行访问呢,我们就需要一款叫做RW – Read & Write Everything 的软件了,网上可以轻松下载到,下载完成后打开即可。点开 EC 信息页就可以分析哪些值是控制风扇转速的了。

分析风扇转速没有什么别的方法,顺手写了一个可控死循环的程序给CPU定量加压以定量提高风扇转速,通过掰弯外壳的方式使风扇随时停转。最终通过听声音和在经历了多次失败后找到了控制风扇转速的字节:

151和148分别是小风扇和大风扇的转速调节,从快到慢取值是28-FF(会停下来)
149和152分别是小风扇和大风扇的当前转速,从快到慢的取值是35-FF(估测值,会随电脑姿态不同有更高的转速)
而夹在中间的150那个字节,则可能是风扇的电压,这里只有推测而没有去证明,只有两个档位,14到和4,可能是12V 和 5V(瞎猜)

电压就放由其自动管理就是了,我们只需要在乎风扇转速就好了。

当然,不需要自己编写一个软件来实现风扇的调速,我们只需要通过一个现有的软就就可以做到的了,就是之前提到的 NoteBook FanControl,它可以用可以手动设定 EC 的方式来调节风扇转速,可定制化相当的高。通过上面的值简单创建配置文件填写其中的参数就可以完成风扇转速的调整了。

现在,就有了一个可以实现被动散热的13英寸的小米笔记本了(

评论列表

  1. KIDSJ说道:

    太牛逼了,解决了困扰我多年的问题。楼主可以转载酷安上面,应该会有很多人需要解决这个问题!!

    1. Shell说道:

      您随便转就是了,酷安那边我也不大熟的。不过如果文件换成蓝奏云应该更对酷安基佬的口味

  2. miku说道:

    小米笔记本Pro的write register 怎么找啊

    1. Shell说道:

      一样的,一边用RW Everything看着寄存器数值,一边用手阻止风扇的转动然后看看哪个数值变化的比较剧烈就好了

  3. BlueQuantum说道:

    大佬大佬,我看了下您的温度阈值配置,为什么有的区间是相互重叠的呢?而且我自己配置了一个,发现它总是明明温度以经到了那个区间,但是速度一直不调,您知道是什么情况吗?

    1. Shell说道:

      相互重叠初衷是希望风扇的转速不要紧跟温度的变化实时改变,发现没什么意义也没管。调速不起作用我不太清楚,但是这个软件会在当温度高于一定水平(大概80度左右?)后强制风扇最高速运作的,是不是因为这个原因呢

  4. dapanji说道:

    治好了我多年的米本风扇烦躁征。我18年初买的米本13.3@8550u,风扇特别烦各种折腾无果放任自流了,另外那个散热是真的不行,高负载直接冲到80度,撞了3秒温度墙紧接着就激活了功耗墙锁15瓦,散热模组铜管和鳍片都非常热,风扇起飞温度也下不来,信越7921也无能为力(因此也觉得,四热管也不行,瓶颈主要不在热管,有时在思考加一个肥大的铝块降低发热峰值的影响),之前一直限制cpu功耗达到给风扇降速的目的,今天闲来无事谷歌一下米本加上ec的关键词,现此文,如获至宝,感谢感谢。

  5. 初遇说道:

    感谢大大。都快被这风扇烦死了。又不热瞎鸡巴转

  6. zxr说道:

    为啥我没用啊 是不是操作有问题!

    1. Shell说道:

      有设置为Enable么

  7. yes说道:

    非常感谢,redmibook14也可以成功使用你传上去的配置文件

  8. lian说道:

    nice
    我都快叫这风扇烦死了
    这东西简直反人类

  9. kai说道:

    linux 下怎么调整呢?

    1. Shell说道:

      诶….表示之前没有试过的呢,顺便在下是Linux新手,很多地方都不是很懂,之前有在试用Arch,不过因为各种奇怪的原因不太顺利就一直咕咕咕没有去继续研究了
      EC是在电脑的SMBus上面的,通过访问SMBus就可以设置EC了。在RW-Everything中,默认了访问EC的一些SMBus参数···可以参照软件里面的默认值对其进行访问

发表评论

电子邮件地址不会被公开。 必填项已用*标注