Maker-Hub bei GitHub Maker-Hub bei Printables Maker-Hub bei MakerWorld Maker-Hub bei YouTube

Mir ist aufgefallen, dass der Raspberry Pi mit Debian 12 eine Heartbeat-LED hat. Doch was bedeutet Heartbeat in diesem Zusammenhang?

Als Heartbeat wird bei einem Mikrocontroller eine Signalfolge ähnlich einem Herzschlag auf eine LED ausgegeben, die dabei blinkt. Diese visuelle Rückmeldung signalisiert, dass das Gerät aktiv ist und normal funktioniert. Besonders nützlich ist dies, wenn der Raspberry Pi ohne angeschlossenen Bildschirm betrieben wird.

Leider kann dies auch störend sein, beispielsweise wenn der Raspberry Pi im Schlafzimmer steht und fröhlich vor sich hin blinkt. Bei mir steht er zwar im Arbeitszimmer, aber selbst dort fällt mir das Blinken immer wieder im Augenwinkel auf und lenkt mich ab.

Diesen Heartbeat gibt es anscheinend seit dem Kernel 5.18. und die Konfiguration ist nicht mehr so einfach persistent einzustellen. Deswegen möchte ich dir jetzt eine Möglichkeit geben, dieses Heartbeat „permanent“ auszuschalten.

Voraussetzung

Ich verwende wieder einen Raspberry Pi 2B mit der Debian Version 12.

Stelle sicher, dass du bereits als normaler Benutzer über PuTTY oder direkt auf dem Debian-System angemeldet bist.

LEDs finden

Als erstes müssen wir herausfinden, welche LED der Raspberry überhaupt hat. Dazu lassen uns alle LEDs im Verzeichnis /sys/class/leds aufzeigen:

ls /sys/class/ledsCode-Sprache: Bash (bash)

Im meinem Fall habe ich ACT und PWR. Um herauszufinden welche virtuelle LED zu den LEDs auf dem Board gehören, können wir die LEDs an (echo 1) und aus (echo 0) schalten.

echo 0 | sudo tee /sys/class/leds/[LED-Name]/brightness > /dev/null
echo 1 | sudo tee /sys/class/leds/[LED-Name]/brightness > /dev/nullCode-Sprache: Bash (bash)

Heartbeat ausschalten

Der Heartbeat liegt bei mir auf der LED ACT. Mittels trigger kann der Heartbeat ausgeschaltet werden (über brightness geht es zwar auch, aber ich empfinde es als sauberer trigger zu verwenden):

echo none | sudo tee /sys/class/leds/ACT/trigger > /dev/nullCode-Sprache: Bash (bash)

Leider wird der Wert aber nicht persistent gespeichert. Deswegen werden wir uns einen Service anlegen, der den Heartbeat nach einem Neustart ausschaltet:

sudo nano /etc/systemd/system/disable-heartbeat.serviceCode-Sprache: Bash (bash)

und kopieren folgenden Code:

[Unit]
Description=Disables the heartbeat LED on a Raspberry Pi with Debian 12
After=multi-user.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=sh -c "echo none | sudo tee /sys/class/leds/ACT/trigger > /dev/null"
ExecStop=sh -c "echo heartbeat | sudo tee /sys/class/leds/ACT/trigger > /dev/null"

[Install]
WantedBy=multi-user.targetCode-Sprache: TOML, auch INI (ini)

Jetzt müssen wir den Service nur noch aktivieren und starten.

sudo systemctl enable disable-heartbeat.service
sudo systemctl start disable-heartbeat.serviceCode-Sprache: Bash (bash)

Wenn der Service manuell gestoppt wird, wird der Heartbeat wieder eingeschaltet:

sudo systemctl stop disable-heartbeat.serviceCode-Sprache: Bash (bash)

Konfigurationsmöglichkeiten/Verzeichnisse:

  • brightness: Steuert die Helligkeit der LED.
    • 1 = an
    • 0 = aus
  • device: Ein symbolischer Link zum Gerät, zu dem die LED gehört.
  • max_brightness: Gibt den maximalen Helligkeitswert an, den die LED unterstützt. Normalerweise ist dies 1 für LEDs, die nur zwei Zustände (an/aus) unterstützen.
  • power: Ein Verzeichnis, das Informationen zur Energieverwaltung der LED enthält.
  • subsystem: Gibt das Subsystem an, zu dem die LED gehört (z. B. leds).
  • trigger: Steuert den Trigger, der das Verhalten der LED definiert.
    • none = LED manuell steuern
    • heartbeat = Anzeigen des System-Heartbeats
  • uevent: Ein virtuelles Dateisystem, das Informationen über Ereignisse (Events) bereitstellt. Das uevent-Dateisystem ermöglicht den Austausch von Informationen zwischen dem Linux-Kernel und Benutzeranwendungen über Ereignisse, die mit Hardwaregeräten verbunden sind.

Quellen

Die Informationen habe ich auf folgenden Seiten gefunden:

Wenn dir meine Arbeit gefällt, würde ich mich über einen Kaffee freuen