Skip to content

Commit ca66ed0

Browse files
committed
Add fix for IPMI fan speed
1 parent a069298 commit ca66ed0

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

drivers/fix_ipmi_fans.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/usr/bin/env bash
2+
set -eu
3+
4+
# Fix for fans ramping up and down on Supermicro server motherboards.
5+
# https://www.truenas.com/community/threads/fans-ramping-up-and-down-and-fan-mode-option-not-visible-in-ipmi-supermicro-x9scm-f.70826/
6+
# https://www.truenas.com/community/resources/how-to-change-ipmi-sensor-thresholds-using-ipmitool.35/
7+
8+
if [ "${EUID}" -ne 0 ]; then
9+
echo "This script should be run as root."
10+
exit 1
11+
fi
12+
13+
SENSORS=$(ipmitool sensor list all)
14+
FANS=$(grep '^FAN' <<< "${SENSORS}")
15+
16+
while IFS= read -r LINE; do
17+
NAME="${LINE%% *}"
18+
echo "Configuring ${NAME}"
19+
# The three numbers are lnr, lcr, lnc
20+
# nr = non-recoverable
21+
# cr = critical
22+
# nc = non-critical
23+
# My home server has Noctua NF-A12x25 PWM fans, which are rated for 450 - 2000 RPM.
24+
# https://www.amazon.de/-/en/gp/product/B07C5VG64V/
25+
# And Arctic Freezer 4U SP3, which is rated for 400 - 2300 RPM.
26+
# https://www.arctic.de/en/Freezer-4U-SP3/ACFRE00081A
27+
# These values will be rounded by the motherboard to 140, 140 and ???.
28+
ipmitool sensor thresh "${NAME}" lower 100 200 450
29+
# ipmitool sensor thresh "${NAME}" upper
30+
done <<< "${FANS}"

0 commit comments

Comments
 (0)