ShellBin's World

“超绝可爱”

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

Shell·2018-09-19·131 次阅读

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

软件下载链接:https://pan.baidu.com/s/1y0Q3KsF7ZZ5Hyg6BEbHSDw 提取码:lx8r
配置文件下载链接:https://pan.baidu.com/s/1pdH6HMof5akILTfk2XPdtg 提取码:8bqb

起因

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

小米笔记本,尤其是其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英寸的小米笔记本了(

0

想要成为最强萌新

查看评论

2 个小可爱在这里

  • kai
    回复
      (  Google Chrome 70.0.3538.102   Linux )

    linux 下怎么调整呢?


    • Shell
      回复
        (  Google Chrome 70.0.3538.102   Mac OSX 10_14_1 )

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


你好吖!