Wenn man wie ich den Beaglebone Black als kleinen Server im Dauereinsatz hat, ist die blinkende Heartbeat-LED doch irgendwann recht störend. Sie soll anzeigen, ob das System noch arbeitet, aber da sie auch weiter blinkt, wenn der Server seinen Dienst schon eingestellt hat, macht sie in diesem Fall recht wenig Sinn.
Der Beaglebone Black hat 4 eingebaute LEDs, die der Nutzer beeinflussen kann. Sie sind mit usr0 bis usr3 bezeichnet.
Die Einstellungen dafür befinden sich in dem Ordner /sys/class/leds/
# cd /sys/class/leds /sys/class/leds# ls -l total 0 lrwxrwxrwx 1 root root 0 Feb 16 09:41 beaglebone:green:usr0 -> ../../devices/ocp.2/gpio-leds.7/leds/beaglebone:green:usr0 lrwxrwxrwx 1 root root 0 Feb 16 09:42 beaglebone:green:usr1 -> ../../devices/ocp.2/gpio-leds.7/leds/beaglebone:green:usr1 lrwxrwxrwx 1 root root 0 Feb 16 09:42 beaglebone:green:usr2 -> ../../devices/ocp.2/gpio-leds.7/leds/beaglebone:green:usr2 lrwxrwxrwx 1 root root 0 Feb 16 09:42 beaglebone:green:usr3 -> ../../devices/ocp.2/gpio-leds.7/leds/beaglebone:green:usr3
Die LED für den Heartbeat ist usr0 zugeordnet. Also in das Verzeichnis wechseln und sich mal umsehen:
/sys/class/leds# cd beaglebone\:green\:usr0 /sys/class/leds/beaglebone:green:usr0# ls -l total 0 -rw-r--r-- 1 root root 4096 Feb 16 09:56 brightness lrwxrwxrwx 1 root root 0 Feb 16 09:56 device -> ../../../gpio-leds.7 -r--r--r-- 1 root root 4096 Feb 16 09:56 max_brightness drwxr-xr-x 2 root root 0 Feb 16 09:56 power lrwxrwxrwx 1 root root 0 Feb 16 09:41 subsystem -> ../../../../../class/leds -rw-r--r-- 1 root root 4096 Feb 16 09:51 trigger -rw-r--r-- 1 root root 4096 Feb 16 09:41 uevent
Die interessante Datei ist hier die Datei "trigger". In dieser Datei wird festgelegt, bei welchem Anlass die LED angesteuert wird.
/sys/class/leds/beaglebone:green:usr0# cat trigger none nand-disk mmc0 mmc1 timer oneshot [heartbeat] backlight gpio cpu0 default-on transient
Die aktuelle Einstellung ist mit eckigen Klammern eingefasst, also hier der heartbeat.
Andere Werte sind:
- none - Die LED wird nicht angesteuert
- mmc0 - Die LED leuchtet bei Zugriff auf die externe SD-Karte
- mmc1 - Die LED leuchtet bei Zugriff auf den internen eMMC-Speicher
- gpio - Die LED leuchtet bei Zugriff auf die IO-Pins
- cpu0 - Die LED leuchtet bei Zugriff auf die CPU
Für die einzelnen LEDs sind folgende Werte voreingestellt:
- user0 - der Heartbeat
- user1 - ist auf mmc0 eingestellt, also die externe SD-Karte
- user2 - ist auf cpu0 eingestellt
- user3 - ist auf mmc1 eingestellt, also den internen Speicher
Um die Heartbeat LCD auszuschalten, genügt es, den eingestellten Wert in der trigger-Datei auf "none" zu ändern. Das geht mit dem Befehl
/sys/class/leds/beaglebone:green:usr0# echo none > trigger
Diese Einstellung ist aber nach dem nächsten Neustart verloren, da bei einem Neustart wieder die Default-Werte eingetragen werden. Damit der Beaglebone diese Einstellung auch beim nächsten Neustart übernimmt, ist es am einfachsten, den entsprechenden Eintrag in der Datei "rc.local" zu setzen.
Also mit einem Editor seiner Wahl die Datei /etc/rc.local öffnen und die Zeile
echo none > /sys/class/leds/beaglebone\:green\:usr0/trigger
vor der Zeile "exit 0" einfügen.
Das wars.
Add comment