使用 ipmi 控制 ASRock X570D4U-2L2T 服务器上的风扇速度

使用 ipmi 控制 ASRock X570D4U-2L2T 服务器上的风扇速度

问题

我无法使用 ipmi 来控制风扇速度。

我有一块 X570D4U-2L2T 主板,配备 Ryzen 5600x,运行的是 Ubuntu 21.04。

社区能否建议我如何使用ipmitoolipmiutil控制风扇速度 - 设置恒定值还是设置曲线?

背景信息

我尝试了 Web 界面。我可以登录,但使用起来不是特别方便,而且无论我更改什么设置,它们似乎都会恢复原状。

因此我尝试了 cli,无论如何我更喜欢它。

当我尝试使用“明显”的命令将风扇速度的上限设置为 400RPM 时,发生了以下情况:

$ sudo ipmitool sensor thresh "FAN3" upper 400 400 400
Locating sensor record 'FAN3'...
Setting sensor "FAN3" Upper Non-Critical threshold to 400.000
Error setting threshold: Command illegal for specified sensor or record type
Setting sensor "FAN3" Upper Critical threshold to 400.000
Error setting threshold: Command illegal for specified sensor or record type
Setting sensor "FAN3" Upper Non-Recoverable threshold to 400.000
Error setting threshold: Command illegal for specified sensor or record type

以下是我的粉丝的当前状态列表:

$ sudo ipmiutil sensor | grep FAN
001a SDR Full 01 01 20 a 04 snum 60 FAN1             = 00 Init  0.00 RPM
001b SDR Full 01 01 20 a 04 snum 61 FAN2             = 05 OK   500.00 RPM
001c SDR Full 01 01 20 a 04 snum 62 FAN3             = 05 OK   500.00 RPM
001d SDR Full 01 01 20 a 04 snum 63 FAN4_1           = 00 Init  0.00 RPM
001e SDR Full 01 01 20 a 04 snum 66 FAN4_2           = 00 Init  0.00 RPM
001f SDR Full 01 01 20 a 04 snum 64 FAN5_1           = 00 Init  0.00 RPM
0020 SDR Full 01 01 20 a 04 snum 67 FAN5_2           = 00 Init  0.00 RPM
0021 SDR Full 01 01 20 a 04 snum 65 FAN6_1           = 00 Init  0.00 RPM
0022 SDR Full 01 01 20 a 04 snum 68 FAN6_2           = 00 Init  0.00 RPM

FAN2和FAN3与主板上的风扇物理连接,风扇在转动。

谢谢。

答案1

尝试

 sudo ipmitool sensor thresh {fan_id} upper 400 400 400

其中“fan_id”是风扇位置(ID 号)。华擎主板遵循控制风扇的 IPMI 命令中指定的风扇 ID/风扇位置顺序的模式。您需要知道哪个风扇名称对应哪个风扇 ID 号(位置),然后才能设置风扇的阈值。

如果你想为所有风扇设置相同的阈值,那么就容易多了。只需计算风扇头的总数并循环遍历所有这些 ID。

您的主板的粉丝 ID 将是 0 至 15 之间的十六进制数字。

另一种可能性是问题不在于风扇 ID,但您可能正确使用了风扇接头名称。如果这是真的,那么问题很可能在于您尝试使用不能被风扇滞后整除的风扇速度,而 BMC 芯片需要一个可以整除的值。但是,通常 BMC 只会将您提供的值向下舍入到最接近的滞后倍数。

其他可能的问题包括:

  • 主板不允许您通过命令行驱动的 IPMI 设置风扇阈值,在这种情况下,您可能需要使用 GUI 版本的 IPMI 或通过 BIOS 设置它们
  • 您正在尝试使用带外 IPMI 命令行,但主板不允许
  • 需要先禁用某种锁定功能,然后主板才会允许您设置阈值

有许多可能的解释,因为您和风扇之间可能存在多层中间固件。

这是一个很好的通用资源:https://www.truenas.com/community/resources/how-to-change-ipmi-sensor-thresholds-using-ipmitool.35/

Supermicro 和 ASRock 通常使用相同的风扇速度阈值顺序。对于带有 ASPEED AST2500 或 AST2600 BMC 芯片组的主板尤其如此。您的 X570 主板有一个 AST2500 BMC。

答案2

您正在尝试设置风扇阈值,而不是实际风扇速度。

该错误表明主题 bmc 拒绝更新阈值数据。

因此您无法设置阈值,但您(可能)应该能够设置风扇速度。不过,您可能需要先将风扇速度设置为手动。

看一下这里的例子:https://gist.github.com/slykar/f90ad596b18d5ab1eb1c66b2ccf51c54

相关内容