Lüfterkurve optimieren

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Friseer

Benutzer
Add-on Developer
Registriert
12. Apr. 2026
Beiträge
4
Reaktionspunkte
4
Punkte
3
Um die Lüfterkurve auf DS2422+ im Kühlmodus besser zu optimieren, habe ich ein Script geschrieben, als Recovery, sollte es einmal beim Update überschrieben werden.
Die Temperaturen der HDDs bleiben jetzt im Betrieb weit unter 41-42 Grad, gegenüber der dummsturen Einstellungen von Synology. Damit sollte auch die Lebenserwartung der HDDs erweitert werden.
Lüfterlautstärke ist so auch nicht wirklich störend. Ausser im Hochsommer , Raumtemperatur über 25 Grad, wird es eventuell kurzzeitig beim Boost lauter!

35 Grad -> 980 U/min
36 Grad -> 1200 U/min
37+38 Grad -> 1400 U/min
39 Grad -> Boost 80% der max U/min


#!/bin/sh
set -eu

WATCHDOG="/usr/local/sbin/hdd-fan-watchdog.sh"
CRON_LINE='*/2 * * * * root /usr/local/sbin/hdd-fan-watchdog.sh >/dev/null 2>&1'

if grep -q '^enable_fan_debug=' /etc/synoinfo.conf; then
sed -i 's/^enable_fan_debug=.*/enable_fan_debug="0x1"/' /etc/synoinfo.conf
else
echo 'enable_fan_debug="0x1"' >> /etc/synoinfo.conf
fi

/usr/syno/sbin/syno_fan_debug

cat > "$WATCHDOG" <<'EOF'
#!/bin/sh

DISKS="/dev/sata1 /dev/sata2 /dev/sata3 /dev/sata4 /dev/sata5 /dev/sata6"
TMPFILE="/tmp/disktmp.txt"

NORMAL_TEMP=-1
LOW_TEMP=45
MID_TEMP=48
BOOST_TEMP=51

max=0

for d in $DISKS; do
t="$(synodisk --read_temp "$d" 2>/dev/null | awk '{print $NF}')"
case "$t" in ''|*[!0-9]*) continue ;; esac
[ "$t" -gt "$max" ] && max="$t"
done

[ "$max" -eq 0 ] && exit 1

current="$(cat "$TMPFILE" 2>/dev/null || echo "$NORMAL_TEMP")"

if [ "$max" -ge 39 ]; then
target="$BOOST_TEMP"
elif [ "$max" -ge 37 ]; then
target="$MID_TEMP"
elif [ "$max" -ge 36 ]; then
target="$LOW_TEMP"
else
target="$NORMAL_TEMP"
fi

if [ "$current" != "$target" ]; then
echo "$target" > "$TMPFILE"
synosystemctl restart scemd >/dev/null 2>&1 || true
fi

exit 0
EOF

chmod +x "$WATCHDOG"

grep -v 'hdd-fan-watchdog.sh' /etc/crontab > /tmp/crontab.hddfan.$$ || true
printf '%s\n' "$CRON_LINE" >> /tmp/crontab.hddfan.$$
cat /tmp/crontab.hddfan.$$ > /etc/crontab
rm -f /tmp/crontab.hddfan.$$

synosystemctl restart crond
"$WATCHDOG"
synosystemctl restart scemd
sleep 10
"$WATCHDOG"

echo "OK recovered"
cat /tmp/disktmp.txt 2>/dev/null
cat /sys/class/hwmon/hwmon1/device/pwm2 2>/dev/null
cat /sys/class/hwmon/hwmon1/device/fan1_input 2>/dev/null
cat /sys/class/hwmon/hwmon1/device/fan2_input 2>/dev/null


Script ist gegebenenfalls auf eigenen Bedürfnisse/Lärmpegel anzupassen!!
Bei Raumtemperatur von 23 Grad bleiben die HDDs unter Last "immer" auf 36 Grad !
 
  • Like
Reaktionen: ctrlaltdelete

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat