版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
服务器暴力风扇静音一直是个老生常谈的问题,主要的难点有:
服务器的散热管理十分严格,风扇会将转速反馈给主板,当主板检测不到风扇的转速反馈就会报错。风扇错误是一个很严重的错误,会导致服务器报错几分钟后就强制自动关机。导致我们不敢轻举妄动,以防弄坏风扇导致整个服务器无法开机。各种服务器的风扇差异很大,包括但不限于:线序的定义,接口的规格等。但大部分现有的技术笔记都是针对某一种特定型号的服务器进行改造,适用范围窄。
所以本文尝试介绍一种安全、通用的方法来确定服务器风扇的接口定义和线序,这样就方便之后通过置换静音风扇、降速、诱骗主板等适合的方式来进行静音。
前文提到不同的服务器风扇的接口形式和定义都不一样,但是其实本质上都是4线(供电, GND, PWM, 测速)的散热风扇组合而成的,导致引脚个数与风扇个数不对应的原因可能是:空引脚,引脚合并(如:共用GND或者供电)等情况。
以我们的IBM System X 3630M4为例,总共有三组风扇,每组风扇由两个风扇组合而成,通过间距2.0mm, 2*5 pin的FC接头与主板连接。我们试图去确定这10个引脚的定义。
确定GND引脚。在关机的情况下,把万用表调至二极管导通档(或欧姆档),一个探针放到机箱金属壳上(或者确认是主板GND的地方),另一个探针尝试接触所有引脚,万用表显示导通的引脚即使GND引脚。其它引脚就没办法通过万用表测量出来了。PWM引脚是高频的脉宽调制信号,万用表无法测量出来。测速引脚是风扇发送脉冲信号给主板,相当于主板是接收端,也无法直接测量出来。由于引脚之间距离较近,在通电的时候较粗的探针很容易短接相邻的针脚造成短路,也不考虑。
以下给出间接的测量方案:用公对母的杜邦线将主板上的针脚一根根引出来,并按原有的顺序插到风扇上。使风扇仍旧能照原样工作。按顺序逐个拔掉其中的一根杜邦线(使风扇与主板有且仅有一个引脚没有连接)注意风扇和服务器报错灯的变化:无变化。判断该引脚是空引脚。风扇无变化,但不久后主板的报错灯亮起。判断该引脚是测速引脚(主板没有接收到风扇的转速反馈,判断风扇出错)。风扇立即满速旋转,且主板没有报错。判断该引脚是PWM引脚(调速风扇在没有PWM信号的情况下默认满速工作)。风扇立即停止,不久后主板报错。判断该引脚是供电引脚或是GND引脚(供电回路被断开),而GND引脚已在上文确定了。
经过测试,我们的IBM System X 3630M4的2*5 pin引脚,每一排的定义都是相同的,并且对应一个风扇,线序从右往左为:空,PWM,测速,GND,供电。
确定了线序以后,我们的静音方案是将两个CPU的被动散热器换为主动(带风扇)散热器。而散热器上的风扇恰好也是4线风扇,任选主板上的供电,GND,PWM与风扇相接,再将风扇的测速线一个分成多个,分别接在主板的各个测速引脚上,即用一个风扇的测速信号充当所有的测速信号,使主板认为所有的风扇都已正确安装。(下一篇文章中会有详细的记录)
大家可以根据自己的情况进行魔改,比如使用脉冲信号发生器,模拟风扇的转速信号,接到测速引脚等。
一直折腾了不少东西,也一直想写博客,但总是拖拖拖,拖到最后自己都忘了自己是怎么折腾出来的。
这算是我的第一篇博客,排版不好看,逻辑混乱,没有配图之类的问题也会努力改进,也希望大家多多包涵,有任何问题欢迎指正、讨论,下面多留言呀~
本文基于CC-BY-SA 4.0协议,欢迎转载
(博客看累了?去我的B站瞧一瞧?)