Налаштування 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`:
- [0] 0x01 — невідома швидкість або проблема з кабелем
- [1] 0x02 — 10BASE-T
- [2] 0x04 — 100BASE-T
- [3] 0x08 — 1000BASE-T
Приклад: `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 |
Опис тригерів:
- phy0rx — блимає при прийомі.
- phy0tx — блимає при передачі.
- phy0assoc — блимає при підключенні клієнта.
- phy0radio — (невідомо, часто не працює).
- phy0tpt — блимає повільно та стабільно при мережевій активності (на відміну від швидких блимань tx/rx).
Підключення 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'