Skip to content

Instantly share code, notes, and snippets.

@jcassette
Last active April 12, 2024 14:23
Show Gist options
  • Select an option

  • Save jcassette/965341ea870dac14517db0c30a26191c to your computer and use it in GitHub Desktop.

Select an option

Save jcassette/965341ea870dac14517db0c30a26191c to your computer and use it in GitHub Desktop.
How to control fan settings of Supermicro X10 motherboards

Supermicro X10 Fans

How to control fan settings of Supermicro X10 motherboards

References:

Get fans speed and thresholds

ipmitool sensor

Set fan speed low thresholds

If a fan spins slower than its critical threshold, the fans will be set to full speed

ipmitool sensor thresh FANX lower NR CT NC with:

  • FANX: FAN1, FAN2, FAN3, FAN4 or FANA
  • NR: non-recoverable low threshold in RPM
  • CT: critical low threshold in RPM
  • NC: non-critical low threshold in RPM

For example:

ipmitool sensor thresh FAN1 lower 0 100 2400
ipmitool sensor thresh FAN2 lower 0 100 700
ipmitool sensor thresh FAN3 lower 0 100 700

Set fan speed high thresholds

If a fan spins faster than its critical threshold, the fans will be set to full speed

ipmitool sensor thresh FANX upper NC CT NR with:

  • FANX: FAN1, FAN2, FAN3, FAN4 or FANA
  • NC: non-critical high threshold in RPM
  • CT: critical high threshold in RPM
  • NR: non-recoverable high threshold in RPM

For example:

ipmitool sensor thresh FAN1 upper 2800 25000 25000
ipmitool sensor thresh FAN2 upper 2500 25000 25000
ipmitool sensor thresh FAN3 upper 2500 25000 25000

Get fan control mode

ipmitool raw 0x30 0x45 0x00

Result Mode
0 Standard
1 Full
2 Optimal
4 HeavyIO

Set fan control mode

Mode Command
Standard ipmitool raw 0x30 0x45 0x01 0
Full ipmitool raw 0x30 0x45 0x01 1
Optimal ipmitool raw 0x30 0x45 0x01 2
HeavyIO ipmitool raw 0x30 0x45 0x01 4

Get the duty cycle of fans in a zone

Zone Fans Command
System FAN1..4 ipmitool raw 0x30 0x70 0x66 0x00 0
Peripheral FANA ipmitool raw 0x30 0x70 0x66 0x00 1

The result is the hexadecimal value of the duty cycle in %, ie:

Result Duty cycle
00 0%
01 1%
... ...
0a 10%
0b 11%
... ...
63 99%
64 100%

Set the duty cycle of fans in a zone

It may be needed to set the fan control mode to Full before that. (to be confirmed)

Zone Fans Command
System FAN1..4 ipmitool raw 0x30 0x70 0x66 0x01 0 X
Peripheral FANA ipmitool raw 0x30 0x70 0x66 0x01 1 X

With X being the desired duty cycle in %, eg: ipmitool raw 0x30 0x70 0x66 0x01 0 30 for 30%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment