How to control fan settings of Supermicro X10 motherboards
References:
- https://forums.servethehome.com/index.php?threads/big-fan-troubles-with-supermicro-x10sl7-f.13389/
- https://forums.servethehome.com/index.php?resources/supermicro-x9-x10-x11-fan-speed-control.20/
ipmitool sensor
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 FANANR: non-recoverable low threshold in RPMCT: critical low threshold in RPMNC: 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
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 FANANC: non-critical high threshold in RPMCT: critical high threshold in RPMNR: 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
ipmitool raw 0x30 0x45 0x00
| Result | Mode |
|---|---|
| 0 | Standard |
| 1 | Full |
| 2 | Optimal |
| 4 | HeavyIO |
| 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 |
| 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% |
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%