Table of Contents

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

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

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

Секція led

Секція `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 у конфігурацію

Усі 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

Тригери LED

None

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

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

Звʼязок через switch

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

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

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

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

Timer

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

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

Default-on

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

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

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

Імітація серцебиття (Heartbeat)

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

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

Запис у флеш-памʼять (Flash Writes)

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

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

Мережева активність (Netdev)

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

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)

Активність Wi-Fi (phyX)

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

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

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

Підключення USB-пристрою

Світлодіод увімкнено, коли підключено 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

GPIO

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

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

Netfilter (iptables)

Миготіння 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'

Індикатор WLAN

Цей світлодіод блимає при активності 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'

Індикатор 3G

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

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

Індикатор з таймером — 500 мс УВІМК., 2000 мс ВИМК.

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

config 'led'
  option 'sysfs'    'wrt160nl:blue:wps'
  option 'trigger'  'timer'
  option 'delayon'  '500'
  option 'delayoff' '2000'