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
No Comments