PowerEdge T440 修改 VRM 功率限制
哎我草这 OEM 怎么这么坏啊.jpg
前情提要:笔者请款 3.9k 大洋 (incl. 13% VAT) 对手头的 PowerEdge T440 工作站进行升级,其中也包含了两块至强铂金 8272CL 钥匙扣。机器原配 450W 铜牌炸弹,所以一并把 PSU 也换了,买电源分配板和奇妙小隔板就花了两佰三又五十块。本以为上了双电能够稳稳接住,直到先换了一块处理器上去,卡自检了。
VRM modify ICC_MAX to run high TDC OEM cpu | ServeTheHome Forums
大概看了下主板,每路高达三相 VCC 还送俩空焊位,内存反而每边 2+2,这般豪华用料应该就是 VRM 有电流限制。没招了,改程序吧。
观察 VRM 控制器丝印,确定为英飞凌 PXE1610C,据说原厂有专用工具能修改参数,而且是标准的 i2c 通信,因此被扒拉出来也不奇怪。论坛里贴出了修改工具,虽说在用 Microchip 的妙妙模块,不过好在没 AOT 的 C# 约等于开放原始码,不影响我们依葫芦画瓢。1
源码给我都懒得读了,扔给 LLM 总结如下:
| 步骤 | 选择 page | 操作 | 判断 / 意味 |
|---|---|---|---|
| 1 | 00 00 | 读 FD,1 byte | 必须为 B3 |
| 2 | 00 4F | 读 1A,1 byte | 必须为 00 |
| 3 | 00 4F | 读 32,2 byte | 必须为 15 04 |
| 4 | 00 3F | 写 27 7C B3 | 解锁 |
| 5 | 00 20 | 读 73,2 byte | 读取原 ICC_MAX,第一个字节为 FF 就直接返回 |
| 6 | 00 50 | 读 82,2 byte | 读取并打印修改前剩余次数 |
| 7 | 00 20 | 写 73 FF 00 | 修改 ICC_MAX 为 0xFF |
| 8 | 00 20 | 读 73,2 byte | 验证 ICC_MAX |
| 9 | 00 3F | 写 29 D7 EF | 授权保存 |
| 10 | 00 3F | 只发送 34 | 触发保存,等待 1000ms |
| 11 | 00 3F | 写 29 00 00 | 清除保存授权 |
| 12 | 00 50 | 读 82,2 byte | 读取并打印修改后剩余次数 |
开工。看到 CH341A 夹子上有 i2c,插上打完驱动后顺手量了下 SDA/SCL,全是 5V..
…
去隔壁翻箱倒柜摸到一块开发板,接上把程序 dump 出来就算征用了。看丝印经典小作坊产品,半夜自然不指望有客服发度盘学习资料,搜了好久总算找到一张原理图截图。又拿出早些年的项目,钦点完引脚直接扔给 LLM 改,一次性代码什么的最好写了。Quick and dirty.
拆出主板观察,至少两处调试口符合条件。


图二截取自 DELL 的 3D 指南,请注意这连接的是内存供电! 正确的总线引脚位于 CPU2 上方,如图一所示。
不要问笔者是怎么知道的…
接上然后给 PSU 通电,不需要安装处理器。顺利的话可以在 0x60 和 0x62 地址得到应答(内存的 VRM 控制器在 0x70 和 0x72)测完前三步没问题就可以解锁了,最终成功点亮:

经朋友提醒,开源工具 KCNVrmModTool 也值得参考,步骤基本一致。 ↩︎