P

Supermicro X9/X10/X11 Fan Speed Control

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

dashpuppy

Member
Dec 16, 2018
54
21
8
I have not used ipmiutil. I'm typically running local on a machine using ipmitool, after SSH'ing into the machine.

Generally, any IPMI tool should work. I personally use ipmitool frequently for raw commands on Debian systems, but ipmiutil ought to be fine. Anything IPMI 2.0 compatible should work.

Make sure you wait a second or two between sending the 2 commands, to be sure the fan controller receives both.

1. Set fan mode to OPTIMAL
Code:
ipmiutil raw -n 192.168.80.19 -u admin -p mypassword 0x30 0x45 0x01 0x02

2. Set fan speeds of Zone x (0 or 1)
Code:
ipmiutil raw -n 192.168.80.19 -u admin -p mypassword 0x30 0x70 0x66 0x01 0x0{zone_id} 0x{fan_duty}

example 1: set fan Zone 0 to 50% power:
Code:
ipmiutil raw -n 192.168.80.19 -u admin -p mypassword 0x30 0x70 0x66 0x01 0x00 0x32

example 2: set Zone 1 to 20% power:
Code:
ipmiutil raw -n 192.168.80.19 -u admin -p mypassword 0x30 0x70 0x66 0x01 0x01 0x14

If those commands do not work, replace the first command with:

1. Set fan mode to FULL
Code:
ipmiutil raw -n 192.168.80.19 -u admin -p mypassword 0x30 0x45 0x01 0x01
Please post back here and let everyone know if it worked!

Yeah no go :( raw-ipmi.png
 

dashpuppy

Member
Dec 16, 2018
54
21
8

dashpuppy

Member
Dec 16, 2018
54
21
8
@frogtech I got it to connect and ran the 2 commands but after that im :oops: Also checked the fans are now at 4500rpm. Instead of 3500. Probably because they are set to standard ? command-worked.png
 

DaveInTexas

Member
Oct 28, 2021
94
95
18
On the X11 boards, make sure you set fan mode to Optimal first. That will be default 30% PWM. It will ramp up from there, but never below 30.

The X11 gen is an oddball. X10 and X12 both require fan mode = FULL before trying to use IPMI to set fan speeds.

FWIW, "standard" = 50% and if your board has the "Heavy I/O" setting, it = 70% default.
 

67RS427

New Member
Jun 6, 2022
2
0
1
On the X11 boards, make sure you set fan mode to Optimal first. That will be default 30% PWM. It will ramp up from there, but never below 30.

The X11 gen is an oddball. X10 and X12 both require fan mode = FULL before trying to use IPMI to set fan speeds.

FWIW, "standard" = 50% and if your board has the "Heavy I/O" setting, it = 70% default.
Any ideas on an X11, when Optimal is not an option? I have a X11SAE Rev 1.03A that I can't get the fans lowered on. I have it set for "Standard Speed" but have tried Full Speed before sending commands. If I send a command to lower the duty cycle, it will lower for a second and then ramp right back up. It's a single zone and I am trying to configure one of the many scripts to work. Currently have the fans on Standard which is 8,800 RPM (37% Duty).

Anyone have any ideas or different IPMI commands I could try? Thanks!
 

bgrorud

New Member
Jun 27, 2024
9
3
3
Any ideas on an X11, when Optimal is not an option? I have a X11SAE Rev 1.03A that I can't get the fans lowered on. I have it set for "Standard Speed" but have tried Full Speed before sending commands. If I send a command to lower the duty cycle, it will lower for a second and then ramp right back up. It's a single zone and I am trying to configure one of the many scripts to work. Currently have the fans on Standard which is 8,800 RPM (37% Duty).

Anyone have any ideas or different IPMI commands I could try? Thanks!
The end result that I settled on was a batch file running continuously looping that repeatedly sends the command that lowers them (which you noted above works for second). They never get a chance to speed up as the command just keeps running. I was concerned what the long term effect of running this would be, but it has been running for nearly 8 months now with no issues. Because I am running Windows, I use IPMICFG-Win command line utility. I name the batch file Slow_Down_Fans.BAT and put a shortcut to it in the startup folder.

Code:
@echo off
:STARTHERE
IPMICFG-Win.exe -raw 0x30 0x70 0x66 0x01 0x00 0x10>nul
GOTO STARTHERE
 

frogtech

Well-Known Member
Jan 4, 2016
1,516
299
83
36
Any ideas on an X11, when Optimal is not an option? I have a X11SAE Rev 1.03A that I can't get the fans lowered on. I have it set for "Standard Speed" but have tried Full Speed before sending commands. If I send a command to lower the duty cycle, it will lower for a second and then ramp right back up. It's a single zone and I am trying to configure one of the many scripts to work. Currently have the fans on Standard which is 8,800 RPM (37% Duty).

Anyone have any ideas or different IPMI commands I could try? Thanks!
i found that on some of the less main stream boards that the fan commands wouldnt stick, more specifically: model boards that were in the same generation, but didnt share the same chipset, so for example: X10/X11 boards that are NOT C612-based X10 E5 2600 or C621-based X11 Scalable, and i'm going to guess that it's the same for this board.

i observed the same behavior on X11SSW-F which shares the same platform as your X11SAE. fan commands wouldnt stay no matter what. didnt find any fixes or insight out there sadly. my hunch is that the ipmi firmware for C236-based is implemented is slightly different for whatever reason
 
  • Like
Reactions: DaveInTexas

DaveInTexas

Member
Oct 28, 2021
94
95
18
Any ideas on an X11, when Optimal is not an option? I have a X11SAE Rev 1.03A that I can't get the fans lowered on. I have it set for "Standard Speed" but have tried Full Speed before sending commands. If I send a command to lower the duty cycle, it will lower for a second and then ramp right back up. It's a single zone and I am trying to configure one of the many scripts to work. Currently have the fans on Standard which is 8,800 RPM (37% Duty).

Anyone have any ideas or different IPMI commands I could try? Thanks!
Apologies for my delayed response... travelling the last few days. The answer is: your board (X11SAE) does not support manual fan control via IPMI. I suspect it's the middleware that is the culprit (not allowing the request to be passed through to the BMC chipset). This may be because SM considers this a workstation board. It also appears (from reviewing the manual) that there are 5 fan headers, all of which are in the CPU cooling zone.

It's a bit unusual since the BMC is an ASpeed AST2400. However, as I mentioned, I suspect it's hard-coded in the middleware to ignore IPMI commands addressing the fan controller since this is a workstation board. Based on your description of the server's behavior, I'd surmise the BIOS is configured to ping the BMC with fan control messages periodically. The BIOS chip might be directly connected to the BMC chip. If all of this is true, it would support the behavior you're observing. The BIOS might also by-pass the BMC completely and talk directly to the physical fan controller, but that is very unlikely with a gen 11 board.

On dedicated server boards with the same BMC chip, it's more common for both the BIOS and side-channel (e.g. IPMI) fan instructions to be routed through the middleware, and then only the middleware (e.g. Redfish) talks to the BMC with regards to fan control. This is how it's possible to get the BMC to ignore any requests from the BIOS. The middleware acts as the gatekeeper. Another variation is when the BIOS only sends the fan speed command once - on startup - directly to the BMC or fan controller, and does not try to affect it again unless it has temp sensor algos that get tripped for one reason or another. However, in more modern boards this is less likely as it cuts the middleware and potentially the BMC chip itself out of the loop with regards to communication, which can then in turn lead to conflicting commands being sent to the BMC and fan controller. It's much cleaner to have all the commands routed thru the middleware and/or hard-coding some of them in the BMC itself (e.g. upper / lower fan speed thresholds).

As a user it's often very difficult to tell exactly how the fan control path works on any given board, but the end result is the same.
 

67RS427

New Member
Jun 6, 2022
2
0
1
Apologies for my delayed response... travelling the last few days. The answer is: your board (X11SAE) does not support manual fan control via IPMI. I suspect it's the middleware that is the culprit (not allowing the request to be passed through to the BMC chipset). This may be because SM considers this a workstation board. It also appears (from reviewing the manual) that there are 5 fan headers, all of which are in the CPU cooling zone.

It's a bit unusual since the BMC is an ASpeed AST2400. However, as I mentioned, I suspect it's hard-coded in the middleware to ignore IPMI commands addressing the fan controller since this is a workstation board. Based on your description of the server's behavior, I'd surmise the BIOS is configured to ping the BMC with fan control messages periodically. The BIOS chip might be directly connected to the BMC chip. If all of this is true, it would support the behavior you're observing. The BIOS might also by-pass the BMC completely and talk directly to the physical fan controller, but that is very unlikely with a gen 11 board.

On dedicated server boards with the same BMC chip, it's more common for both the BIOS and side-channel (e.g. IPMI) fan instructions to be routed through the middleware, and then only the middleware (e.g. Redfish) talks to the BMC with regards to fan control. This is how it's possible to get the BMC to ignore any requests from the BIOS. The middleware acts as the gatekeeper. Another variation is when the BIOS only sends the fan speed command once - on startup - directly to the BMC or fan controller, and does not try to affect it again unless it has temp sensor algos that get tripped for one reason or another. However, in more modern boards this is less likely as it cuts the middleware and potentially the BMC chip itself out of the loop with regards to communication, which can then in turn lead to conflicting commands being sent to the BMC and fan controller. It's much cleaner to have all the commands routed thru the middleware and/or hard-coding some of them in the BMC itself (e.g. upper / lower fan speed thresholds).

As a user it's often very difficult to tell exactly how the fan control path works on any given board, but the end result is the same.
Thanks for the reply... I suspect you're correct, although I did have my part numbers mixed up. I was looking at a mobo picture from another server. The one I'm having issues with is the X11DSC+, but I suspect it's the same issue you outlined above... It uses the ASPEED AST2500 IPMI.

I logged in to IPMIView for the first time and noticed there is no Redfish version

Any ideas for how I could bypass the IPMI or BMC? This motherboard only has one zone, with the 5 fans. I would have thought with it having 24x 3.5" drive bays and dual CPU's, that it would be separate zones, but it's not. What are my options?

Would I be better off installing some new fans, powered off of another power source instead of the motherboard fan headers? I'm not really sure where to go from here. Thanks for taking the time to write up your detailed response, I appreciate it.
 

Attachments

Last edited:

frogtech

Well-Known Member
Jan 4, 2016
1,516
299
83
36
Somebody pleeeeeeeease

X11DPU motherboards

Do the ipmitool raw fan commands work on these and keep fan speed when set to optimal or whatever they need?? Assuming they are not rebranded boards and are original SuperMicro boards?
 

resi

New Member
Apr 8, 2025
1
1
3
The end result that I settled on was a batch file running continuously looping that repeatedly sends the command that lowers them (which you noted above works for second). They never get a chance to speed up as the command just keeps running. I was concerned what the long term effect of running this would be, but it has been running for nearly 8 months now with no issues. Because I am running Windows, I use IPMICFG-Win command line utility. I name the batch file Slow_Down_Fans.BAT and put a shortcut to it in the startup folder.

Code:
@echo off
:STARTHERE
IPMICFG-Win.exe -raw 0x30 0x70 0x66 0x01 0x00 0x10>nul
GOTO STARTHERE
bgrorud's solution is the only thing that worked for me on my X11DSC+. The following script is running on my truenas scale server and it is keeping the fan speed under control. Without the loop, the fan speed only drops for a second before returning to the standard speed.

Bash:
# Set fan mode to normal
ipmitool raw 0x30 0x45 0x01 0x00

# Loop indefinitely to run the ipmitool command
while true; do
    ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x14
    # Optional: insert a sleep interval (in seconds) to avoid overloading the system
    sleep 0.25
done
 
  • Like
Reactions: 67RS427