Beberapa LED hanya untuk perangkat keras dan tidak ada cara untuk mengubah statusnya secara terprogram.
Yang dapat dikontrol dapat diakses melalui sysfs
sistem file virtual di /sys/class/leds/
.
Apakah LED tertentu dapat dikontrol secara pemrograman atau tidak tergantung pada perangkat keras tertentu. Sebagai contoh, mesin desktop saya memiliki beberapa LED tetapi tampaknya tidak ada yang bisa dikontrol. Saya juga telah bereksperimen pada beberapa laptop, dan, sementara ada beberapa entri di bawah /sys/class/leds/
, saya tidak dapat mengontrol status LED, yang berarti, saya pikir, bahwa driver kernel tertentu tidak memungkinkan secara manual mengendalikan LED, menyediakan antarmuka hanya-baca. Inilah yang saya coba, tanpa efek:
# 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
Secara teori, hal seperti di atas seharusnya memungkinkan Anda untuk mengontrol LED yang didukung oleh driver kernel untuk perangkat keras tertentu. Jika tidak ada dukungan untuk mengendalikan LED tertentu di kernel, maka, singkat menulis modul kernel, tidak banyak yang dapat Anda lakukan.
Berikut informasi lebih lanjut tentang subjek di superuser.
Inilah sumber utamanya: dokumentasi kernel