Skip to main content

Raspberry Pi 5 - CPU Lüfter

Lüfter live manuell steuern & automatische Regelung per /boot/firmware/config.txt

Diese Seite zeigt zwei Dinge:

  • Manuell (live): Lüfter sofort auf eine Stufe setzen (ohne Reboot).
  • Automatisch: Lüfterkurve über /boot/firmware/config.txt (wirkt nach Reboot).

Temperatur-Limits (damit der Pi nicht zum Toaster wird)

  • Thermal Throttling startet ab 80°C.
  • Max Temp ist 85°C (dann wird stärker gedrosselt).
Praxis-Ziel: Für „volle Power“ unter Dauerlast am besten unter 80°C bleiben (z.B. 60–75°C), dann drosselt er nicht und der Lüfter muss nicht ständig eskalieren.

Temperatur anzeigen

cat /sys/class/thermal/thermal_zone0/temp

Wert ist in m°C (z.B. 43000 = 43°C).


1) Lüfter live manuell steuern (ohne Reboot)

Achtung: Für echte manuelle Kontrolle wird die automatische Thermal-Regelung kurz deaktiviert. Danach bist du verantwortlich, die Temperatur im Blick zu behalten.
1.1 Lüfter-Device prüfen
for d in /sys/class/thermal/cooling_device*; do
  echo -n "$d: "
  cat "$d/type"
done

Beim Pi 5 ist das typischerweise pwm-fan.

1.2 RPM lesen (optional)
cat /sys/devices/platform/cooling_fan/hwmon/hwmon*/fan1_input
1.3 Automatik temporär deaktivieren
cat /sys/class/thermal/thermal_zone0/mode
echo disabled > /sys/class/thermal/thermal_zone0/mode
cat /sys/class/thermal/thermal_zone0/mode
1.4 Lüfterstufe setzen (0..4)
# 0 = aus, 4 = volle Drehzahl
echo 0 > /sys/class/thermal/cooling_device0/cur_state
echo 2 > /sys/class/thermal/cooling_device0/cur_state
echo 4 > /sys/class/thermal/cooling_device0/cur_state

# prüfen
cat /sys/class/thermal/cooling_device0/cur_state
cat /sys/devices/platform/cooling_fan/hwmon/hwmon*/fan1_input
1.5 Zurück zur Automatik (ohne Reboot)
echo enabled > /sys/class/thermal/thermal_zone0/mode
cat /sys/class/thermal/thermal_zone0/mode
1.6 Quick-Monitor (kurz)
watch -n 1 'printf "temp=%s mC  state=%s  rpm=%s\n" \
"$(cat /sys/class/thermal/thermal_zone0/temp)" \
"$(cat /sys/class/thermal/cooling_device0/cur_state)" \
"$(cat /sys/devices/platform/cooling_fan/hwmon/hwmon*/fan1_input)"'
Optional: „brutal“ per pinctrl (falls installiert)
# aus
pinctrl FAN_PWM op dh

# 100%
pinctrl FAN_PWM op dl

# wieder Automatik
pinctrl FAN_PWM a0

2) Automatische Lüftersteuerung über /boot/firmware/config.txt

Die Firmware liest config.txt vor Linux. Änderungen wirken erst nach Reboot.

2.1 Datei bearbeiten
nano /boot/firmware/config.txt
2.2 Beispiel: Lüfterkurve (wie bei dir)

Hinweise: Temperaturen sind in m°C. Speed ist ein PWM-Wert (0–255).

[all]
dtparam=fan_temp0=30000
dtparam=fan_temp0_hyst=5000
dtparam=fan_temp0_speed=200

dtparam=fan_temp1=60000
dtparam=fan_temp1_hyst=5000
dtparam=fan_temp1_speed=125

dtparam=fan_temp2=67500
dtparam=fan_temp2_hyst=5000
dtparam=fan_temp2_speed=175

dtparam=fan_temp3=75000
dtparam=fan_temp3_hyst=5000
dtparam=fan_temp3_speed=250
Firmware-/EEPROM-Notiz: Je nach Version kann es nötig sein, den Lüfter explizit zu aktivieren:
dtparam=cooling_fan=on
2.3 Reboot
reboot

Leise, aber mit voller Power

  • Throttling vermeiden: unter 80°C bleiben (Dauerlast).
  • Mechanik gewinnt: guter Kühlkörper / Active Cooler / Airflow im Gehäuse bringt mehr als „nur“ Fan-Tuning.
  • Kurve so bauen, dass der Lüfter nicht „an/aus“ nervt:
    • erst bei sinnvollen Temperaturen starten (z.B. 40–60°C)
    • Hysterese nutzen (z.B. 5000–10000 m°C), damit er nicht dauernd toggelt
    • höhere Stufen erst ab ~70°C aggressiver
  • Overclocking macht’s lauter: mehr Takt/Spannung = mehr Abwärme = mehr Lüfter. Stabilität und Temperaturen checken.

Mini-Cheat-Sheet

# LIVE (manuell)
echo disabled > /sys/class/thermal/thermal_zone0/mode
echo 4 > /sys/class/thermal/cooling_device0/cur_state

# zurück zur Automatik
echo enabled > /sys/class/thermal/thermal_zone0/mode

# Temperatur
cat /sys/class/thermal/thermal_zone0/temp

# RPM
cat /sys/devices/platform/cooling_fan/hwmon/hwmon*/fan1_input