问题
我无法使用 ipmi 来控制风扇速度。
我有一块 X570D4U-2L2T 主板,配备 Ryzen 5600x,运行的是 Ubuntu 21.04。
社区能否建议我如何使用ipmitool
或ipmiutil
控制风扇速度 - 设置恒定值还是设置曲线?
背景信息
我尝试了 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