Moderne Mainboards nutzen Super-I/O-Chips wie den Nuvoton NCT6687 zur Überwachung von Temperaturen, Lüfterdrehzahlen und Spannungen. Unter Linux ist der Zugriff über das hwmon-Subsystem möglich — sofern der passende Kernelmodul geladen ist.

Modul laden

# Modul für NCT668x Chips laden
sudo modprobe nct6683

# Beim Boot automatisch laden
echo "nct6683" | sudo tee /etc/modules-load.d/sensors.conf

# Prüfen ob hwmon-Gerät erscheint
ls /sys/class/hwmon/
cat /sys/class/hwmon/hwmon5/name  # sollte "nct6687" ausgeben

Wichtig: Der nct6683-Treiber auf dem NCT6687-Chip ist read-only. PWM-Steuerung der Gehäuselüfter über Software ist nicht möglich — das BIOS/UEFI behält die Kontrolle. Für Lüfterkurven daher das BIOS nutzen.

Sensordaten auslesen

# Alle Temperaturen
for f in /sys/class/hwmon/hwmon5/temp*_input; do
  label=$(cat ${f%_input}_label 2>/dev/null || basename $f)
  echo "$label: $(($(cat $f) / 1000))°C"
done

# Alle Lüfter
for f in /sys/class/hwmon/hwmon5/fan*_input; do
  label=$(cat ${f%_input}_label 2>/dev/null || basename $f)
  echo "$label: $(cat $f) RPM"
done

# Aktuelle PWM-Werte (read-only)
for f in /sys/class/hwmon/hwmon5/pwm[0-9]; do
  echo "$(basename $f): $(( $(cat $f) * 100 / 255 ))%"
done

lm-sensors konfigurieren

sudo pacman -S lm_sensors   # Arch/CachyOS
# sudo apt install lm-sensors  # Debian/Ubuntu

# Auto-Konfiguration
sudo sensors-detect --auto

# Sensoren anzeigen
sensors

# Kontinuierlich überwachen
watch -n 2 sensors

Bekannte Einschränkungen

Auf vielen MSI-Mainboards mit NCT6687 meldet der Treiber inkonsistente Temperaturwerte — manche Sensoren zeigen 0°C oder springen. Das liegt an Board-spezifischen Register-Mappings, die der generische Treiber nicht vollständig kennt. Als Alternative bietet sich CoolerControl an, das eigene Sensor-Erkennung mitbringt.

# CoolerControl installieren (AUR)
yay -S coolercontrol

# Als Daemon starten
sudo systemctl enable --now coolercontrold

# Web-UI: http://localhost:11987