Налаштування LED індикаторів

Конфігурація LED знаходиться у підсистемі system UCI та зберігається у файлі /etc/config/system.

Базове налаштування LED доступне через LuCI на сторінці System → LED Configuration.

Секція `led` містить налаштування для нестандартних світлодіодів.
До стандартних зазвичай належать: індикатор живлення, активність Ethernet-портів, USB, Wi-Fi.

Приклад конфігурації LED на маршрутизаторі TP-Link з USB-портом:

root@lede:/# uci show system | grep "system.led"
system.led_usb=led
system.led_usb.name='USB'
system.led_usb.sysfs='tp-link:green:usb'
system.led_usb.trigger='usbdev'
system.led_usb.interval='50'
system.led_usb.dev='1-1'
system.led_wlan=led
system.led_wlan.name='WLAN'
system.led_wlan.sysfs='tp-link:green:wlan'
system.led_wlan.trigger='phy0tpt'
config led 'led_usb'
        option name 'USB'
        option sysfs 'tp-link:green:usb'
        option trigger 'usbdev'
        option interval '50'
        option dev '1-1'

config led 'led_wlan'
        option name 'WLAN'
        option sysfs 'tp-link:green:wlan'
        option trigger 'phy0tpt'

Усі LED представлені у файловій системі `/sys`. Переглянути доступні можна тут: /sys/class/leds/.

Назва зазвичай містить модель пристрою, колір та функцію індикатора:

root@lede:/# ls /sys/class/leds/
tp-link:green:qss     tp-link:green:usb
tp-link:green:system  tp-link:green:wlan

Керування LED здійснюється через події (trigger). Щоб побачити доступні тригери для LED:

cat /sys/class/leds/tp-link:green:qss/trigger

Приклад:

[none] switch0 timer default-on netdev usbdev phy0rx phy0tx phy0assoc phy0radio phy0tpt 

Щоб тимчасово активувати тригер `default-on`:

echo "default-on" > /sys/class/leds/tp-link:green:qss/trigger

Щоб зробити це постійним — додайте тригер у конфігурацію UCI:

uci set system.led_wlan.trigger='default-on'
uci commit

Якщо секція відсутня — додайте:

rule_name=$(uci add system led_wps) 
uci batch <<EOF
set system.$rule_name.name='WPS'
set system.$rule_name.sysfs='tp-link:green:wps'
set system.$rule_name.trigger='default-on'
EOF
uci commit

Підтвердьте зміни:

service led restart

Індикатор перебуває у початковому стані (OFF або ON).

Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан LED: 0 — вимкнено, 1 — увімкнено
sysfs string так (немає) Назва пристрою LED
trigger string так (немає) Значення: none

Світлодіод вмикається, якщо встановлено з’єднання через один з портів комутатора.

Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан LED
sysfs string так (немає) Назва пристрою LED
port_mask integer ні 0 Бітова маска портів комутатора (hex)
speed_mask integer ні (немає) Бітова маска Ethernet-швидкостей (hex)
trigger string так (немає) Значення: switch0

Бітова маска `speed_mask`:

  • [0] 0x01 — невідома швидкість або проблема з кабелем
  • [1] 0x02 — 10BASE-T
  • [2] 0x04 — 100BASE-T
  • [3] 0x08 — 1000BASE-T

Приклад: `speed_mask=0x0C` вмикатиме LED лише на 100 або 1000 Мбіт/с. А `0x03` — лише для 10 або невідомої.

LED блимає з заданою частотою.

opkg install kmod-ledtrig-timer
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан LED
delayoff integer так (немає) Скільки мс світлодіод має бути вимкнений
delayon integer так (немає) Скільки мс світлодіод має бути увімкнений
sysfs string так (немає) Назва пристрою LED
trigger string так (немає) Значення: timer

Світлодіод завжди увімкнений. Застаріло — рекомендується використовувати `trigger='none'` з `default=1`.

Якщо тригер ще не встановлено:

opkg install kmod-ledtrig-default-on
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан: 0 — вимкнено, 1 — увімкнено
sysfs string так (немає) Назва LED
trigger string так (немає) default-on

Світлодіод блимає у стилі “тук-тук-пауза”, що імітує серцебиття. Частота залежить від середнього навантаження CPU за 1 хвилину.

opkg install kmod-ledtrig-heartbeat
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан
sysfs string так (немає) Назва LED
trigger string так (немає) heartbeat

Світлодіод блимає при записі даних у флеш-памʼять.

Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан
sysfs string так (немає) Назва LED
trigger string так (немає) nand-disk

Світлодіод блимає при підключенні або під час передачі/отримання на заданому мережевому інтерфейсі.

opkg install kmod-ledtrig-netdev
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан
dev string так (немає) Назва мережевого інтерфейсу (наприклад, eth0)
mode string так (немає) Один або кілька з: link, tx, rx
sysfs string так (немає) Назва LED
trigger string так (немає) netdev
interval integer ні (немає) Тривалість миготіння у мілісекундах (напр. 50)

Ці тригери працюють напряму з фізичним інтерфейсом радіомодуля, а не з мережевим. Дає змогу відслідковувати активність окремо для 2.4GHz (звичайно phy0) і 5GHz (phy1).

Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан
sysfs string так (немає) Назва LED
trigger string так (немає) Один із: phy0rx, phy0tx, phy0assoc, phy0radio, phy0tpt

Опис тригерів:

  • phy0rx — блимає при прийомі.
  • phy0tx — блимає при передачі.
  • phy0assoc — блимає при підключенні клієнта.
  • phy0radio — (невідомо, часто не працює).
  • phy0tpt — блимає повільно та стабільно при мережевій активності (на відміну від швидких блимань tx/rx).

Світлодіод увімкнено, коли підключено USB-пристрій.

opkg install kmod-ledtrig-usbdev
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан
dev string так (немає) Назва USB-порту (наприклад, 1-1)
interval integer так (немає) Інтервал у мс
sysfs string так (немає) Назва LED
trigger string так (немає) usbdev (іноді usbport)

Щоб дізнатись ім’я пристрою, перегляньте:

logread | grep usb
ls /sys/bus/usb/devices/

У каталозі 1-1 знайдете файли manufacturer і product — вони допоможуть ідентифікувати пристрій:

cat /sys/bus/usb/devices/1-1/manufacturer
cat /sys/bus/usb/devices/1-1/product

Керування LED за допомогою подій GPIO.

opkg install kmod-ledtrig-gpio
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан

Миготіння LED при проходженні певного трафіку (наприклад, SSH).

opkg install kmod-ipt-led

📌 У старих версіях пакет називався: `kmod-ledtrig-netfilter` Джерело

Приклад: вмикати LED при вхідному SSH-з’єднанні:

iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
Назва Тип Обов’язково Типово Опис
default integer ні 0 Початковий стан

Обов’язково змінюйте параметр sysfs відповідно до вашого пристрою. Це легко зробити через LuCI → System → LED Configuration.

Приклад: LED з серцебиттям

config 'led'
  option 'sysfs'    'wrt160nl:amber:wps'
  option 'trigger'  'heartbeat'

Цей світлодіод блимає при активності Wi-Fi інтерфейсу wlan0: при підключенні, передачі та прийомі даних.

config 'led' 'wlan_led'
  option 'name'           'WLAN'
  option 'sysfs'          'tl-wr1043nd:green:wlan'
  option 'trigger'        'netdev'
  option 'dev'            'wlan0'
  option 'mode'           'link tx rx'

Цей світлодіод вмикається, коли USB-модем успішно реєструється в мережі 3G/EDGE/GPRS.

config 'led'
  option 'name'           '3G'
  option 'sysfs'          'asus:blue:3g'
  option 'trigger'        'netdev'
  option 'dev'            '3g-wan'
  option 'mode'           'link'

Цей світлодіод блимає з частотою: 0.5 секунди увімкнено, 2 секунди вимкнено.

config 'led'
  option 'sysfs'    'wrt160nl:blue:wps'
  option 'trigger'  'timer'
  option 'delayon'  '500'
  option 'delayoff' '2000'
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/30 14:08
  • by vazaz