# Raspberry Pi 5 - CPU Lüfter

### Lüfter live manuell steuern &amp; 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).

<div class="hint" id="bkmrk-praxis-ziel%3A-f%C3%BCr-%E2%80%9Evo">**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.</div>#### 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)

<div class="hint warn" id="bkmrk-achtung%3A-f%C3%BCr-echte-m">**Achtung:** Für echte manuelle Kontrolle wird die automatische Thermal-Regelung kurz deaktiviert. Danach bist du verantwortlich, die Temperatur im Blick zu behalten.</div>##### 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
```

<div class="hint" id="bkmrk-firmware-%2Feeprom-not">**Firmware-/EEPROM-Notiz:** Je nach Version kann es nötig sein, den Lüfter explizit zu aktivieren:</div>```
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
```