Thinkpad E16 如何手工控制风扇转速, 释放笔记本的性能45W
本帖最后由 chenxinyi 于 2024-3-16 19:06 编辑周末写点东西,分享一下。
非常感兴趣Thinkpad E16 Gen 1 i7-13700H这台机器的性释放,但是,作为新机器和本人极差的动手能力(最多拆个壳),
还是将散热改造暂且搁置一下。
研究了几天,明白了如何手动控制风扇转速!其原理应该和早期使用TPFancontrol的软件来手动调节风扇转速的原理也差不多,
很可惜,TPFancontrol没法在Thinkpad E16上使用,网上也找了很多都未成功。
想到手动控制Thinkapd E16风扇转速,需要准备:
笔电EC监控软件 RWEverything
安装前请在Windows 10/11中关闭“内核隔离 > 内存完整性”(Core Isolotion > Memory integrity) ,并且以管理员权限运行下面命令允许驱动签名测试, 然后重启机。
bcdedit -set TESTSIGNING ON注意:BitLock如果打开,重启后,将会询问密钥进入!(所以,最好先备份BitLock密钥到u盘)
RWEverything装完启动后,点击工具条上EC按钮,开始显示和监控EC当前256个寄存器数值,并且这些寄存器的数值可以手工修改(注意改动有风险,可能造成硬件损坏!),
注意,默认是1.3秒刷新一次(点右上refresh按钮改变监控时间间隔),
现在可以作一些压力测试(比如cpu-z),让笔记本风扇速度逐渐提高,可以观察到哪些寄存器发生了变化,比如风扇转速值是在寄存器0x84和0x85(2字节表示),
不过很不幸,这个数值虽然可以改变,但很快又被EC固件程序自动更新了,也有可能是BIOS/UEFI固件程序接管自动更新。
那究竟有没有办法让这个风扇转速可以手动控制呢?虽然,RWEverything给出了变化的寄存器,冒着风险去改,都没有结果,
好在没有硬件损坏。
在读了一篇笔电风扇程序开发者写的一篇短文以后(如何分析笔电DSDT表)Analyze your notebook's DSDT,
大概明白了操作系统如何与BIOS/UEFI固件程序进行通讯的原理,这篇文章具有很大的启发性,分析方法类似,
如果你不想费脑阅读控制原理,请直接跳到最后,用我写的一个EC小程序修改风扇转速!
=========== 知其然, 知其所以然 ===============
BIOS/UEFI固件会提供操作系统一个标准的ACPI高级电源管理接口, DSDT(差异系统描述表)是它的一部分,描述了很多硬件设备的信息,
其中,就包括了EC 。但是,这个DSDT表是汇编代码,还要反汇编成ASL可读代码,
幸运的是RWEverything这个工具软件不仅可以读出ACPI > DSDT表,而且已经自动完成了反汇编ASL可读代码:
OperationRegion(ECOR, EmbeddedControl, Zero, 0x0100)
Field(ECOR, ByteAcc, NoLock, Preserve)
{
HDBM, 1,
, 1,
, 1,
......
HFSP, 8
......上面的代码描述了ECOR (EC控制)可操作寄存器的描述表, 表明HFSP这个8位寄存器的偏移位值(这里只截取关键部分),
经过码农计算器16进制计算得到,HFSP寄存器的偏移值是0x2F,
为什么对HFSP寄存器这么感兴趣? 因为,这个寄存器就是Thinkpad E16 的关键EC寄存器用来改变风扇转速的!
看下面继续找到的ASL代码,很明显告诉我们, 如果修改HFSP = 0x40,那就是最大风扇转速!
If(LEqual(HFSP, 0x40))
{
ADBG("MAX FAN speed")
If(And(Arg0, 0x00040000))
{
Store(One, SCRM)
}
Else
{
Store(Zero, SCRM)
}
}
Else
{
ADBG("Allow to change FAN speed")
If(And(Arg0, 0x00040000))
{
Store(One, SCRM)
Store(0x07, HFSP)
}
Else
{
Store(Zero, SCRM)
Store(0x80, HFSP)
}
}
上面代码,表明3个数值可以设置到HFSP寄存器,0x40, 0x07, 0x80 ,
实际结合RWEverything工具软件,修改HFSP寄存器可以调节出手动9档转速,如下:
HFSP = 0x40 / 64 (5800RPM)
HFSP = 0x07 / 7 (4400RPM)
HFSP = 0x06 / 6 (4000RPM)
HFSP = 0x05 / 5 (3700RPM)
HFSP = 0x04 / 4 (3400RPM)
HFSP = 0x03 / 3 (3100RPM)
HFSP = 0x02 / 2 (2800RPM)
HFSP = 0x01 / 1 (2500RPM)
HFSP = 0X00 / 0 (关闭风扇)
如果将HFSP寄存器设置为0x80数值,表示切换为EC控制程序自动调节风扇转速(0~1800RPM~4100RPM)。
有点意思的是,将HFSP寄存器数值设为0x40(64),能调节出一个默认EC自动控制风扇都没有的最高转速5800RPM !
这个转速的确很厉害,声音和风噪声音达到了极致...
写点多余的,通过手动修改Thinkpad E16 Gen 1 的风扇转速到5800RPM以后, 作了几次Intel XTU压力测试(avx2指令集, 5分钟鸡血测试),可以持续近1分钟保持在45W的性能
随后触及Motherboard VR Thermal throttling (应该是CPU供电过热),另一个EDP电流墙一开始就存在。(EDP电流墙没法破除,但是,VR墙可能通过硬件散热改造有所改进。)
此外,在EC自动调节风扇转速时,相信应该还有一个可以让风扇启动的温度上限阈值(比如CPU或其它传感器温度到了50度,风扇开始启动),
目前还没有找到如何修改。
=========== 知其然, 知其所以然 ===============
这种结合DSDT + RWEverything工具监控分析出手动修改风扇转速的方法, 相信应该适用于绝大多数Thinkpad甚至Thinkbook / Ideapad /Legion等系列,
甚至绝大多数其它OEM厂商的笔电。
下面放出一个自已写的EC读写程序(站在巨人肩上完成),在本人的Thinkpad E16 gen 1 (Intel i7-13700H) / Windows 11下测试通过,
免责声明: 如果你用此程序修改EC寄存器造成的任何硬件损坏,本人不承担任何责任!
使用前请打开驱动签名测试,无需关闭内核隔离 > 内存完整性,并重启电脑
bcdedit -set TESTSIGNING ON
注意:BitLock如果打开,重启后,将会问密钥进入!(先备份BitLock密钥到u盘)
不加任何参数,会提示使用方法:
请原谅我的烂英文和写代码的能力,目前也懒得改了。
-dump 显示EC全部可操作寄存器(范围0x00到0xFF)当前数值 (16进制)
-rpm 显示当前风扇转速 (只针对Thinkpad E16 Gen 1 Intel机型,不确定其它机型,主要原理是读出寄存器0x84, 0x85数值)
-r {port} 这里{port}替换为你想读的某个寄存器地址(0x00到0xFF),读出的数据以16进制显示
-w {port} {value} 这里{port}替换为你想写的某个寄存器地址(0x00到0xFF),{value}替换为你想写入的数值(1字节,以16进制表示,范围在0x00到0xFF)
下面举一些实际例子,只针对Thinkpad E16有效,不保证其它笔电有效,请结合本文分析原理,查找自已笔电EC寄存器如何手动控制风扇转速!
老王想把E16风扇转速调节到最高5800 RPM(自动模式下最高也只有4100 RPM) ,执行命令:
ec.exe -w 0x2f 0x40
老王想把E16风扇转速调节到手动档最低1档 2500 RPM,执行命令:
ec.exe -w 0x2f 0x01从1档到7档,改最后一个参数变为0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x07
老王想把E16风扇关闭,执行命令: (危险!这是手动档,关闭风扇后 ,CPU温度升到100度,EC也不会自动打开风扇,有烧毁CPU风险!)
ec.exe -w 0x2f 0x00
老王想恢复EC自动风扇调节, 执行命令:
ec.exe -w 0x2f 0x80
再次免责声明: 如果你用此程序修改EC寄存器造成的任何硬件损坏,本人不承担任何责任!
注释:
了解到有些笔电的EC控制风扇转速的方式与Thinkpad E16类似,但差异可能是,有独立的寄存器或标志位在自动/手动模式切换。
很棒的技术,很多机器开启风扇最高转速都实在太夸张,这是被联想隐藏的秘笈,基本只是跑分时候用用。{:1_308:} 是不是因为C口的问题导致TPfanctrl无法使用?
可以试试我这个ini,替换根目录里面的
thankdad 发表于 2024-3-16 18:30
很棒的技术,很多机器开启风扇最高转速都实在太夸张,这是被联想隐藏的秘笈,基本只是跑分时候用用。 ...
你说的很对,最高转速是隐藏了的。
其实,这个风扇调节到最高,对鸡血持久没有帮助,我反复测试和对比过了,能让i7-13700H跑满全功率的只有在avx2指令集下进行压力测试才可以,
关于压力测试下VR thermal供电电压调节器过热的问题,我在Techpowerup论坛看到一个玩家也遇到了,
https://www.techpowerup.com/forums/threads/msi-b250m-bd-prochot-and-vr-thermal-core-ring.275696/
不过他是PC主板(微星),这同学很有想法,
最终通过电吹风加热, 万用表测试找到cpu周围的热敏电阻 (第16楼),进行替换,去除了供电过热这道墙。
chenxinyi 发表于 2024-3-16 14:45
周末写点东西,分享一下。
非常感兴趣Thinkpad E16 Gen 1 i7-13700H这台机器的性释放,但是,作为新机器和 ...
纯粹的优质技术贴啊,厉害啦,哦的锅! 本帖最后由 COCAIN 于 2024-3-17 16:57 编辑
chenxinyi 发表于 2024-3-16 14:45
周末写点东西,分享一下。
非常感兴趣Thinkpad E16 Gen 1 i7-13700H这台机器的性释放,但是,作为新机器和 ...
我来灌水:
温度传感器:可以试试SIV - System Information Viewer这个绿色软件,里面有好多MSR地址;这个软件的层叠菜单很让人崩溃,我就不开截图了;<SPD>选项重点看一圈吧;
(也有11代给定功率/实际功率,蜀山剑侠也可看一眼,修改给定功率能不能降功耗)
官网下载地址:http://rh-software.com/
EDP电流墙:你TS里看到的PowerLimit4=94,就是电流墙吧,AIDA64里CPUID是不是也是这个数值并带单位A;intel白皮书是170A;你应该二者都撞不到;
另外有见过XTU解锁13代HK系列的电流墙成功的,H系列有没有办法绕过CPU检测而运行起来旧版本XTU就不知道了;
风扇+鳍片尺寸:比较了一下你E16和我T480s的尺寸(缩放到比例合理后),E16的风扇直径要大10%(110%*110%=121%风量,简单估算),鳍片则要多出20%;性能释放瓦数超过我的是有可能的,但是,见下文;
(E16机内风扇开口处,可以试着用胶带封一下,动压提升-热风能吹更远,但风噪可能上去了)
“VR墙可能通过硬件散热改造有所改进”,这不会是我说的吧,我要注释一下:慎重;
刚额外增加供电部分散热垫,撞了个头破血流;如图:
(我图片里的1区PR101疑似负温度系数的供电测温电阻,看意思是检测这区域的电路板温度来判断芯片;也没法用导热垫直触,除非裁剪CPU热管伸过去的那个疑似均热片,但有可能会出现石墨层脱落影响周边绝缘,包边又有点吃力;)
T480s的CPU散热器只延伸一块到覆盖1区供电单元,我把1区、2区同时装上导热垫 - 后面已经注意不碰到电容等可能影响其分布参数,厚度与已有导热垫差不多高,竟然开机黑屏(电源灯/ESC灯隔3秒闪一下,风扇也是不断地转一下就停);按Reset复位都不行,似乎是个EC级别严重的问题,只能拆掉电池和纽扣电池+按开机键放电+Reset;
陆续只上1区导热垫、只上2区导热垫,都是黑屏不开机,来回拆装3-4次电池等来恢复;后来灵异到这2个区都不上导热垫(即最初状态),只把D壳装回去拧紧,也会黑屏,又拆一次电池才恢复;
(分析:如果有虚焊,向下压应该是压实,不应该出现黑屏;不理解了,除非主板变形能解释得通)
开机正常后双烤了下,试试健壮度,以往都在40w释放12-13分钟时CPU供电掉零/核显继续跑- 也不死机,这次居然坚持到了21分钟,我美滋滋刚截完图想关闭的时候,花屏死机了;只有电源键关机起作用;
再开机又复现前面的黑屏现象,拆电池+放电等恢复;系统日志完全没有记录;再次佐证了这是CPU供电级别的错误;
不死心,开机后又单烤FPU 10分钟,似乎是在关闭瞬间,又死机了,但不花屏,也许跟我降压了有关(现象很像,冻死都在睿频骤降的瞬间发生);再开能直接开机,这次系统日志记录Kernel-Processor-Power “处理器7的速度由于受系统固件限制,已处于低性能状态xx秒”;
再次单烤FPU 15分钟,没再复现;就这样吧,平时根本不会有这么高负载场景;
看意思我这台电脑的供电元件是不让我碰了,我也怯手了;此次经历供参考吧
本帖最后由 chenxinyi 于 2024-3-17 18:28 编辑
COCAIN 发表于 2024-3-17 16:53
我来灌水:
温度传感器:可以试试SIV - System Information Viewer这个绿色软件,里面有好多MSR地址;这个 ...
那些硬件相关的寄存器地址,不要随便动,一定要在阅读前人已有的经验或者标准接口规范文档,充分理解之后。
然后,我觉得我那一句话 - VR散热改进, 确实有所不妥,千万不要在没有产品规范的指导下,轻易尝试去找这个VR散热模块,甚至去改造散热。
你刚试过了?看你的全部描述现象,确实很奇怪,
我觉得导热垫不能直接这么加在mos管上,十分危险,会形成的热量更多,笔记本底部空间窄,空气对流差,除非附近十分靠近风扇。
再回到这个VR电压调节散热,这是CPU电压调节的关键模块,我在网上查到的资料显示,这个VR模块和CPU 每个核VCore(s)是存在通讯的,
而且可不是只有环绕CPU那一圈,可能风扇温控,EC,BIOS/UEFI固件连动参与的。
软件上,我有个习惯,就是把所有可能的逻辑全部想到才去干活,可是硬件的东西真不好説,玄学并非玄学,只是很多东西是商业密秘,不便公开,
仅作一个推理,比如,Intel出了一代新的CPU,那么,他会给OEM厂商指导如何在主板上布置VR电压调节模块,这绝对不会是与前一代一样的,
既便一样,采用与前一代方案,但固件呢?控制通讯方法也是不一样的,光靠猜测,结果必然是玄学。
其实,我个人之前也作了些尝试,我很懒,连D壳也没拆,先开着XTU avx2指令集全负载压力测试,然后把笔电屁股D翻起来,拿了个电吹风,冷风狂吹,
结果是,软件显示CPU package温度降到70度了,依然在持久了近1分钟的45w功率后,出现VR thermal throttling,奇怪不?
用手直触底板,CPU后面壳的温度温热,也差不多60~70度,所以,我想説的是,软件显示的仅能作参考,而不能作为实际硬件散热改造的依据,
必须得同时有硬件说明规范加以指导。。。不然,都是只徒劳。
本帖最后由 COCAIN 于 2024-3-17 20:13 编辑
chenxinyi 发表于 2024-3-17 18:26
那些硬件相关的寄存器地址,不要随便动,一定要在阅读前人已有的经验或者标准接口规范文档,充分理解之后 ...
因为霍尼韦尔相变7950的缘故,我都是等机器凉了再拆(干过一次热的时候拆机-拿掉热管上的导热垫,会让7950产生间隙再也回不去了,降低性能释放,只能重新换7950),所以开机也是冷透了开机,供电单元不可能连1-3秒自检都挺不过就热;
也怀疑有额外的检测手段(我已经禁用了D壳开盖检测和主板检测这俩开关),包括导热垫碰到了电容外壳上,都一一排除了;要说主板变形可能性也不大:旁边就是个防滚架支架螺柱,几乎不存在变形可能性;就是这么灵异~~
导热垫直压供电元件没毛病,我小主机就是这么干的,再没过热(原机箱是供电单元和CPU热管都在风扇正下方,热风直接对着吹,FPU烤机 7-8分钟就会出现过热),空气导热系数0.026,导热垫导热系数6就算虚标有空气的100倍+了;
你手感判断温度偏高了吧,我导热垫连接热管和D壳,烤机10分钟CPU 97度、D壳最高只到60度(用工业测温探头测的),参考:
怎么用手感快速估测温度
01、0℃及以下——手指感觉冰冷,长时间连续触摸,会产生刺骨感。
02、10℃ ——手感较凉,一般能忍受。
03、20℃ ——手感稍凉,随着接触时间的延长,手感渐温。
04、30℃ ——手感微温有舒适感。
05、40℃ ——如摸高烧病人。
06、50℃ ——手感较烫,长时间触摸可能有汗感。
07、55℃ ——皮肤被烫伤的临界温度,即超过55摄氏度皮肤就有可能烫伤。
08、60 ℃ ——手感很烫,一般可以忍受10秒左右。
09、70 ℃ ——手指的忍耐力只有3秒左右,出现灼痛感,且接触部位很快变红。
10、80 ℃以上——只能瞬间接触,痛感剧烈(麻辣火烧),如果触摸时间过长,会发生烫伤。
确实是好技术,不过最好不要这么干,E16的模具本来是P28的,强行上H45,多少有点隐患。 老哥这是把E16发挥到极致了{:1_241:} 本帖最后由 chenxinyi 于 2024-3-20 18:45 编辑
COCAIN 发表于 2024-3-17 20:11
因为霍尼韦尔相变7950的缘故,我都是等机器凉了再拆(干过一次热的时候拆机-拿掉热管上的导热垫,会让7950 ...
刚试了一下子,电风扇对着cpu吹,xtu压力测试5分钟全程跑满47w, 没有看到vr墙,只有edp墙。同样吹,cinebench跑分12730,比之前提高了1000分。
我试了下用气吹连续吹气那个红框区(供电?),也可以让vr墙去除。。。 这机 连45W稳定功耗释放 原厂都做不到吗? 还要废老劲折腾 lxfedu 发表于 2024-3-20 19:45
这机 连45W稳定功耗释放 原厂都做不到吗? 还要废老劲折腾
做不到,联想很垃圾的🤣 偷工减料一绝 chenxinyi 发表于 2024-3-20 19:51
做不到,联想很垃圾的🤣 偷工减料一绝
以后电脑可以考虑换个牌子吧选做工设计用料到位的其他牌子 体验会有很大不同 chenxinyi 发表于 2024-3-20 18:16
刚试了一下子,电风扇对着cpu吹,xtu压力测试5分钟全程跑满47w, 没有看到vr墙,只有edp墙。同样吹,cinebe ...
见图,你圈出来的是二极管和芯片;
才发现,你这是3mos并联供电啊,在笔记本里太少见了(L系列有2mos),一般是分摊散热+提供更大电流的,不应该过热才对
本帖最后由 COCAIN 于 2024-3-20 20:57 编辑
lxfedu 发表于 2024-3-20 19:59
以后电脑可以考虑换个牌子吧选做工设计用料到位的其他牌子 体验会有很大不同 ...
哈哈,你让楼主买你这种X15吧,3500-4200是二手价,你全新价多少?
CPU极限能跑99w,FPU大约8核*3.6GHz(应该是开了AVX512),R23 1.3万(换算约8核*4.0~4.1GHz左右),要是换好硅脂+CPU降压,估计跑满全核8*4.2GHz R23
我以前就夸过这本子:
COCAIN 发表于 2024-3-20 20:08
哈哈,你让楼主买你这种X15吧,3500-4200是二手价,你全新价多少?
CPU极限能跑99w,大约8核*3.6GHz,R23...
我也是最近才收的X15 机子带16G内存和500G硬盘 成色接近全新,只要3900 感觉捡漏了 COCAIN 发表于 2024-3-20 20:01
见图,你圈出来的是二极管和芯片;
才发现,你这是3mos并联供电啊,在笔记本里太少见了(L系列有2mos), ...
你仔细看下下面金属散热片压着的看不见的是不是才是主要供电的mos和电感吧? lxfedu 发表于 2024-3-20 20:43
我也是最近才收的X15 机子带16G内存和500G硬盘 成色接近全新,只要3900 感觉捡漏了...
不必太在意是不是有人用过,测试稳了,就降低功耗墙用吧;
有个intel NUC Studio你可以装一下,win环境下就可以改不少bios选项:功耗墙PL1/PL2、风扇转速(启动温度/转速/增益等等)、灯效这些 COCAIN 发表于 2024-3-20 20:08
哈哈,你让楼主买你这种X15吧,3500-4200是二手价,你全新价多少?
CPU极限能跑99w,FPU大约8核*3.6GHz( ...
不带那么打击人的,虽然我也觉得折腾个E系不够主流,哈哈。 楼主能帮我个忙,RW看看CPU MSR寄存器里的0X774H数据是什么吗? thankdad 发表于 2024-3-21 07:55
楼主能帮我个忙,RW看看CPU MSR寄存器里的0X774H数据是什么吗?
哈哈,谬赞了,对硬件好多年也没搞过了,MSR寄存器在不同的CPU的数据不一样吧?
另外,E16机器和软件都在家里,我回家了有时间再 看看。。。 本帖最后由 chenxinyi 于 2024-3-21 17:50 编辑
thankdad 发表于 2024-3-21 07:55
楼主能帮我个忙,RW看看CPU MSR寄存器里的0X774H数据是什么吗?
If "Hardware-Controlled Performance States" (HWP) is enabled, the Energy-Performance Bias (referred to as the "Energy Performance Preference") can be controlled using IA32_HWP_REQUEST (MSR 0x774) and/or IA32_HWP_REQUEST_PKG (MSR 0x772).
这些数值可能会自动变化的,每个cpu core值可能变化不一样,你想用它来控制cpu 频率?
chenxinyi 发表于 2024-3-21 17:48
If "Hardware-Controlled Performance States" (HWP) is enabled, the Energy-Performance Bias (referred ...
感谢。
我想写个控制频率的软件,而这里就是控制频率上下限的地方,32h是上限,0fh是下限。前面像是大核,你看看后面的CPU呢? thankdad 发表于 2024-3-21 17:57
感谢。
我想写个控制频率的软件,而这里就是控制频率上下限的地方,32h是上限,0fh是下限。前面像是大核 ...
chenxinyi 发表于 2024-3-21 18:00
嗯... 你这是TS调过的吗?跟我想象的不一样啊。 COCAIN 发表于 2024-3-20 20:08
哈哈,你让楼主买你这种X15吧,3500-4200是二手价,你全新价多少?
CPU极限能跑99w,FPU大约8核*3.6GHz( ...
到手不要升级BIOS,新版限制到65w了 piw100 发表于 2024-3-21 19:28
到手不要升级BIOS,新版限制到65w了
怪不着现在cpu单烤 最高也就冲到60W+整机功耗最高冲到180W稳定160W
我还一直以为是把液金换成7958相变硅脂导致的性能下降,,,, 请问一下,X1C可以用这个软件吗?
页:
[1]