Score:0

Use ipmi to control fan speed on ASRock X570D4U-2L2T server

br flag
Jim

Problem

I can't use ipmi to control fan speed.

I have an X570D4U-2L2T motherboard with a Ryzen 5600x and am running Ubuntu 21.04.

Can the community advise how I might use ipmitool or ipmiutil to control the fan speeds – either to set a constant value or to set a curve?

Background information

I tried the web interface. I can log on but it's not particularly easy to use and no matter what settings I change, they seem to revert back.

So I tried the cli, which I prefer anyway.

Here is what happens when I try an "obvious" command to put an upper bound on fan speed of 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

Here's a listing of my fans in their current states:

$ 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 and FAN3 are physically connected to fans on the motherboard, and the fans are turning.

Thank you.

Score:0
id flag

You are trying to set the fan thresholds, and not the actual fan speeds.

The error says that the subject bmc refuses to update threshold data.

So you cannot set the thresholds but you (probably) should be able to set the fan speeds. However, you may need to set the fan speeds to manual first.

Take a look at the examples here: https://gist.github.com/slykar/f90ad596b18d5ab1eb1c66b2ccf51c54

MrPotatoHead avatar
us flag
Not good advice. That link points to info regarding a Dell T610. Unless you know the AsRock X570D4U-2L2T and Dell T610 motherboards share the same BMC chipset, that information is useless to the O.P. The raw IPMI commands are very unlikely to coincide unless the boards use the same BMC. Even then, some BMC chipsets allow different implementations of sensor addresses, which would obviate any info even if the chips are identical models. You need to know the BMC chipset and validate how it's implemented on any given board.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.