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.

DaveInTexas

Member
Oct 28, 2021
89
92
18
What do you think..
I'm not sure you're going to get many helpful comments on this here, as this thread is focused on how to utilize existing on-board hardware control of the fans, whereas your proposal would require not only a hardware device, but also a device driver of some sort.

I can think of a few challenges off-the-top-of-my-head.
  1. During boot process, you will not be able to control the fan speeds. This is not a loss compared with sending commands to the on-board fan controller (same behavior), but just pointing this out.
  2. On some boards, depending on how the user sets the fan speeds via your USB controller, versus what the on-board fan controller expects the fans' rotational fan speeds to be, you'll receive continuous warnings in some logs that the fans are too slow/fast (many times you'll only receive these messages if the fans are too slow compared to the fan controller's expectations).
  3. Lower/Upper fan speed thresholds in the BMC still need to be managed. Otherwise, you're risking out-of-range errors when read fan speeds fall outside of one range trigger or another. This may also cause the fan controller and/or the BIOS to think you have a failed fan or to try and push all fans to 100% speed.
Personally, I think it's an interesting concept if suitable hardware exists. Though, I would not be inclined to use such a method unless I was not able to wrangle the fan speeds using the incumbent hardware. An advantage of your suggested approach is it's relatively hardware agnostic, outside the scope of having 2 internal USB ports. I think the presence of that or not is probably your biggest obstacle (i.e. how many boards have 2 internal USB ports you can leverage?) along with the aforementioned need for software drivers (I would think you'd want Windows x64 and Linux drivers at the very least).
 

frogtech

Well-Known Member
Jan 4, 2016
1,489
272
83
36
Can anyone comment on whether LGA3647 X11 supermicro boards still allow fan control through adjusting the system and peripheral zones as outlined in the OP?
 

DaveInTexas

Member
Oct 28, 2021
89
92
18
I can't say for sure, but it *should* work on that board. It has 8x 4-pin fan headers, all belonging to the same fan zone as far as I can tell (should be all under Zone 0). Try the X11 standard commands that work on other boards. The board has an AST2500 BMC chipset. I'll be surprised if it does not work. Manual says PWM control is supported. If it does _not_ work then it's likely indicating the fan controller is locked out for BIOS control only.

If the X11 commands don't work, try the X10 commands. If those don't work, you're probably out of luck. Post another comment here if you run into trouble or need help identifying the commands to try out.
 

DaveInTexas

Member
Oct 28, 2021
89
92
18
This info may help...

1. Set fan mode to FULL
2. Set manual fan speed for a given zone

sudo ipmitool raw 0x30 0x45 0x01 0x01
sudo ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x___

last digit is fan speed 0-100 expressed as 0-100 in hexadecimal (e.g. 100% speed = 0x64)


##############################################
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"

# set fan speed for specified zone
#
# duty range 0-100 to hexadecimal

ipmitool raw 0x30 0x70 0x66 0x01 "0x0${zone}" $duty_hex
 
  • Like
Reactions: dawsonkm

metag

Member
Apr 26, 2016
67
17
8
I struggled a bit to figure this out. Sharing here in case it can help someone else in similar situation.

I have a 4029GP-TRT2 system, with ASPEED AST2500 BMC. There are a total of 10 fans, including 8 Hot-swap 92mm cooling fans and 2 CPU fans from the dual CPU setup. They are named FAN1-10 in the sensor data. Normally all of them would be in fan zone 0. That is not the case for me. Instead:

FAN 10 => Zone 0, CPU 1 fan
FAN 9 => Zone 1, CPU 2 fan
FAN 5,6,7,8 => Zone 2, Hot swap chassis fans
FAN 1,2,3,4 => Zone 3, Hot swap chassis fans
 
Last edited:

DaveInTexas

Member
Oct 28, 2021
89
92
18
I struggled a bit to figure this out. Sharing here in case it can help someone else in similar situation.

I have a 4029GP-TRT2 system, with ASPEED AST2500 BMC. There are a total of 10 fans, including 8 Hot-swap 92mm cooling fans and 2 CPU fans from the dual CPU setup. They are named FAN1-10 in the sensor data. Normally all of them would be in fan zone 0. That is not the case for me. Instead:

FAN 10 => Zone 0, CPU 1 fan
FAN 9 => Zone 1, CPU 2 fan
FAN 6,7,8,9 => Zone 2, Hot swap chassis fans
FAN 1,2,3,4 => Zone 3, Hot swap chassis fans
Actually, “normal” as in “most common” for SuperMicro is to a) use fan zones; and b) have 2 zones (CPU cooling + system cooling).

That’s very interesting though, regarding your server’s fan config.

Have you found the standard AST2500 commands (for Supermicro) work for each fan zone?

Note: SuperMicro’s use of fan ‘zones’ is effectively arbitrary. There is a limit to the addressable fans via these BMC chips (normally 16 at the most). It’s the middleware that sometimes conflates the addressing of the fans between direct (fan ID x) vs “zone” or group.

I don’t know why SM does it this way, but they’ve been doing it for a long time. AsRock’s approach is much better IMHO, though overall I prefer the hardware package from SM when looking at the bigger picture (i.e. not just the fan controller).
 
Last edited:

DaveInTexas

Member
Oct 28, 2021
89
92
18
Last edited:

metag

Member
Apr 26, 2016
67
17
8
Actually, “normal” as in “most common” for SuperMicro is to a) use fan zones; and b) have 2 zones (CPU cooling + system cooling).

That’s very interesting though, regarding your server’s fan config.

Have you found the standard AST2500 commands (for Supermicro) work for each fan zone?

Note: SuperMicro’s use of fan ‘zones’ is effectively arbitrary. There is a limit to the addressable fans via these BMC chips (normally 16 at the most). It’s the middleware that sometimes conflates the addressing of the fans between direct (fan ID x) vs “zone” or group.

I don’t know why SM does it this way, but they’ve been doing it for a long time. AsRock’s approach is much better IMHO, though overall I prefer the hardware package from SM when looking at the bigger picture (i.e. not just the fan controller).
Yes, I was able to get and set fan mode/speed using those commands.
 
  • Like
Reactions: DaveInTexas

karminski

New Member
Mar 25, 2019
1
3
3
bento.me