0x00 前言

笔者最近在折腾 Home (trash) lab ,看见

的文章后遂入一台 HP DL320e Gen8 v2 服务器准备作为软路由使用。由于插入了一张魔改的 CX341a 万兆网卡这张并没有通过 HP 认证的 PCIe 设备,导致风扇转速被强制拉到了 35%-40% 左右。笔者的机柜放在客厅电视旁,这个噪声还是有点难以让人接受。求助万能的咕狗娘后,笔者在
r/homelab
找到了 hack 了 iLO4 风扇控制的固件。

0x01 准备

首先调整服务器主板的拨码开关,关闭 iLO 安全开关。
从 HPE 官网上下载 iLO4 V2.50 版本的固件升级包

CP027911.scexe


下载 iLO4 V2.73 修改版固件

ilo4_273.bin.fancommands


并在服务器上安装带有

hpilo
驱动模块的 Linux 系统

0x02 刷写固件

1 禁用 iLO 驱动

# /etc/init.d/hp-snmp-agents stop
# /etc/init.d/hp-health stop
# rmmod hpilo

重启

hpilo
模块

# modprobe -r hpilo

2 解压官方 2.50 版本固件,将修改版固件替换后刷写固件

# sh ./CP027911.scexe --unpack=ilo_250
# cd ilo_250/
# cp /path/to/ilo4_273.bin.fancommands ./ilo4_250.bin
# ./flash_ilo4 --direct

3 重置 iLO
ssh 进入 iLO 后

</>hpiLO-> cd /map1
</map1>hpiLO-> reset

或者也可以通过 iLO 管理网页重置

Information
->
Diagnostics
点击
Reset

经过漫长的喷气机时光后,不出意外的话修改版的固件已经刷写完成了。

0x03 控制风扇

ssh 进入 iLO 中

</>hpiLO-> fan info a

查看当前机器内安装的风扇情况。虽然笔者的 DL320e Gen8 V2 并没有显示内容,可能是固件不识别,但是不影响后面手动调整风扇转速。
执行

</>hpiLO-> fan p <id> max <speed>

手动调整风扇转速。 id 是需要调整的风扇编号,从 0 开始。 speed 是调整风扇转速的参数,取值为 [0, 255] 。

例如笔者在这里调整 CPU 风扇 0,1 至 10% 转速

( 2 号风扇按照 rog-net 的教程切了主板排线,所以调速并没有成功

过一段时间后,可以看到调速设置已经应用成功了

Refrense

reddit.com/r/homelab/co

reddit.com/r/homelab/co