কিছু এলইডি কেবলমাত্র হার্ডওয়্যার এবং তাদের স্ট্যাটাস প্রোগ্রামিকভাবে পরিবর্তন করার কোনও উপায় নেই।
যেগুলি নিয়ন্ত্রণ করা যায় সেগুলিতে sysfs
ভার্চুয়াল ফাইল সিস্টেমের মাধ্যমে অ্যাক্সেস করা যায় /sys/class/leds/
।
কোনও নির্দিষ্ট এলইডি প্রোগ্রামিয়ালি নিয়ন্ত্রিত হতে পারে কিনা তা নির্দিষ্ট হার্ডওয়্যারের উপর নির্ভর করে। উদাহরণস্বরূপ, আমার ডেস্কটপ মেশিনে কয়েকটি এলইডি রয়েছে তবে সেগুলির কোনওটিই নিয়ন্ত্রণযোগ্য বলে মনে হয় না। আমি কয়েকটি ল্যাপটপ নিয়ে পরীক্ষাও করেছি, এবং কয়েকটি প্রবেশের নীচে /sys/class/leds/
থাকা অবস্থায় আমি এলইডি'র স্থিতি নিয়ন্ত্রণ করতে সক্ষম হইনি, যার অর্থ, আমি মনে করি, নির্দিষ্ট কার্নেল ড্রাইভার নিজে নিজে নিয়ন্ত্রণ করতে দেয় না এলইডি, কেবল পঠনযোগ্য ইন্টারফেস সরবরাহ করে। আমি চেষ্টা করেছিলাম এখানে, কার্যকর না করে:
# 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
উপরের মত কিছু, তাত্ত্বিকভাবে আপনাকে সেই সমস্ত LEDs নিয়ন্ত্রণ করতে দেয় যা নির্দিষ্ট হার্ডওয়ারের জন্য কার্নেল ড্রাইভার দ্বারা সমর্থিত হয়। কার্নেলের কোনও নির্দিষ্ট এলইডি নিয়ন্ত্রণের জন্য যদি কোনও সমর্থন না থাকে তবে কার্নেল মডিউলটি লেখার সংক্ষিপ্ততা রয়েছে, আপনার করার মতো খুব বেশি কিছু নেই।
সুপারভাইজার এ বিষয়ে আরও তথ্য এখানে ।
এখানে চূড়ান্ত উত্স: কার্নেল ডকুমেন্টেশন