Apologies in advance for my brain-dump notes here... about to AFK... saw this and thought I'd reply real quick beforehand.
Home labbers, I am looking for some help to use the ipmi tool to change the fan speeds. I have the Supermicro X11spi-tf motherboard. Has a Xeon Silver 4210 with 256g ram and a single raid card. However the server lives in my cold garage and the fans are still sitting at 3400rpm. Id like to set them to say 2000 ish.
How do i go about doing this ?
That board has ASPEED AST2500 BMC chip, so the typical commands for X10/X11 boards should work, presuming your board is compatible. It very likely is, but I'm never 100% certain until confirmed as there are some weird edge cases where SM decided to block functionality with some boards. I think it's actually not always intentional as it can sometimes be an issue with the BIOS, etc. But, let's proceed presuming you're in the 90% chance it works category.
-----------------------------------------------------
From my notes:
• set fan mode to OPTIMAL (X11 boards are a little weird... in the weird world of supermicro... lol); other factors should be the same as X10
• fan speed range is 0x00 - 0x64 (0-100)
• fan speeds manipulated by pre-defined and fixed groups of fans called fan zones (your board has 2: zone 0 and zone 1)
• one zone has 5 fans, the other 2... is this a dual CPU board (??) the 2-fer is presumably CPU fans, but I don't have the manual in front of me, so I don't know for sure... just be certain which fans you're manipulating
-----------------------------------------------------
##############################################
IPMI cheat-sheet for Supermicro motherboards
##############################################
1. get current IPMI fan mode: raw 0x30 0x45 0x00
2. set IPMI fan mode: raw 0x30 0x45 0x01 <fan mode>
fan mode 0 = standard
fan mode 1 = full
fan mode 2 = optimal
fan mode 4 = heavy i/o
any other fan mode value (including 3) will return null or an error message
3. read and display all available sensor info
:: sudo ipmitool -U {username with root access} -P {password} sensor
4. abbreviated sensor info display (all available sensors)
:: sudo ipmitool -U {username with root access} -P {password} sdr
:: SDR means "Sensor Data Records"
5. review your IPMI's LAN interface settings
:: sudo ipmitool -U {username with root access} -P {password} lan print
-----------------------------------------------------
AST2500 set fan speed control commands (IPMI)
BYTE: VALUE
1: 0x30
2: 0x70
3: 0x66
4: 0x01
5: zone id
6: duty_hex range 0-100 (same as human %age)
e.g., "ipmi raw 0x30 0x70 0x66 0x01 0x00 0x1D" = "set speed of fans in fan zone 0 to 30%"
explanation: 0x1D hex = 30 decimal (16+14) | 5th byte is zone number (0x00 = zone 0)
-----------------------------------------------------
X11 boards fan sensor thresholds
lo-unrec low non-recoverable
lo-crit low critical
lo-noncr low non-critical
hi-noncr high non-critical
hi-crit high critical
hi-unrec high non-recoverable