Einige der LEDs sind nur Hardware und es gibt keine Möglichkeit, ihren Status programmgesteuert zu ändern.
Auf diejenigen, die gesteuert werden können, kann über das sysfs
virtuelle Dateisystem unter zugegriffen werden /sys/class/leds/
.
Ob eine bestimmte LED programmgesteuert gesteuert werden kann oder nicht, hängt von der jeweiligen Hardware ab. Zum Beispiel hat mein Desktop-Computer einige LEDs, aber keine davon scheint steuerbar zu sein. Ich habe auch an einigen Laptops experimentiert, und obwohl es einige Einträge unter gab /sys/class/leds/
, konnte ich den Status von LEDs nicht steuern, was bedeutet, dass der jeweilige Kerneltreiber die manuelle Steuerung des nicht zulässt LEDs, die eine schreibgeschützte Schnittstelle bieten. Folgendes habe ich ohne Wirkung versucht:
# cd /sys/class/leds/
# ls
ath9k-phy0
# cd ./ath9k-phy0
# ls
brightness device max_brightness power subsystem trigger uevent
# cat ./trigger
[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4
# echo 'AC-online' > ./trigger
# cat ./trigger
none [AC-online] BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4
# echo 'none' > ./trigger
# echo 'phy0rx' > ./trigger
# echo 'none' > ./trigger
# cat ./trigger
[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4
# cat ./brightness
0
# cat ./max_brightness
255
# echo 255 > ./brightness
Etwas wie das oben Genannte sollte es Ihnen theoretisch ermöglichen, die LEDs zu steuern, die von den Kerneltreibern für die jeweilige Hardware unterstützt werden. Wenn die Steuerung einer bestimmten LED im Kernel nicht unterstützt wird, können Sie, abgesehen vom Schreiben eines Kernelmoduls, nicht viel tun.
Hier finden Sie weitere Informationen zu diesem Thema bei superuser.
Hier ist die ultimative Quelle: Kerneldokumentation