OpenWrt LED Configuration(OpenWrt指示灯配置)

108 篇文章 10 订阅
86 篇文章 26 订阅

目录

1、LED部分

2、如何在此部分添加LED

2.1 如何添加trigger(所需trigger不存在时)

2.2 配置led

3、LED triggers详细介绍

3.1 None 无

3.2 Switch Connectivity 交换机连接

3.3 Timer 定时器

3.4 Default-on 默认开启

3.5 Heartbeat

3.6 Flash Writes

3.7 Network Activity

3.8 WiFi Activity triggers

3.9 USB Device

3.10 GPIO

3.11 Net filter

4、举例

Heartbeat led

WLAN led

3G led 

Timer led - 500ms ON, 2000ms OFF


LED 配置位于system uci 子系统中,并被写入 /etc/config/system 文件中。

可通过 LuCI 在“系统> LED 配置(System > LED Configuration)”页面上获得基本 LED 配置。

1、LED部分

        默认leds通常包括power on, ethernet port activity, usb port activity, and wifi radio activity

        下面是带有 USB 端口的 tp-link 路由器上的 LED 示例:

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'

root@lede:/# cat /etc/config/system

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'

2、如何在此部分添加LED

        所有 LED 都由 sys 文件系统中的条目表示,可以在 /sys/class/leds 目录中查看哪些 LED 可用。条目的名称通常由提供 LED 的硬件名称(路由器型号)、LED 的颜色及其名称(通常是机箱上的标签)组成。

  • 查看当前可用 leds
root@lede:/# ls /sys/class/leds/

tp-link:green:qss tp-link:green:usb

tp-link:green:system tp-link:green:wlan

2.1 如何添加trigger(所需trigger不存在时)

  • 查看可用 trigger

        LED可由系统中的各种事件控制,该事件由trigger控制,根据trigger,必须配置其它对应选项。首先,我们需要知道哪些trigger可用于led,只需查看该LED的trigger文件即可,例:

root@lede:/# cat /sys/class/leds/tp-link:green:qss/trigger

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

  • 为 leds 分配一个 trigger

        如果我们想(暂时)为 LED 分配一个默认开启trigger,可以这样写:

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

         通过 cat 确认是否分配成功,我们看到此处已添加 [default-on],并且所选 trigger 已突出显示。

root@lede:/# cat /sys/class/leds/tp-link:green:qss/trigger

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

        注意:此更改将在重新启动时丢失,如果要进行永久更改,则需要在uci配置文件中添加触发器。

2.2 配置led

如果在 uci 配置中已经有一个要设置的 led,则只需添加trigger即可。

例如,想将分配给tp-link:green:wlan的触发器更改为“default-on”,并且在uci show system | grep“system.led”时已经有这样的配置块。

system.led_wlan=led

system.led_wlan.name='WLAN'

system.led_wlan.sysfs='tp-link:green:wlan'

system.led_wlan.trigger='phy0tpt'

更改命令如下:

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

uci commit

如果没有任何配置,可以通过编辑以下示例文本(将 wps led 设置为“默认开启”,然后将其整个复制粘贴到终端窗口中)来添加ledtrigger

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

3、LED triggers详细介绍

以下是OpenWrt默认的各种trigger形式。

3.1 None 无

指示灯始终处于默认状态。未列出的 LED 默认熄灭,因此这仅在声明 LED 始终亮起时才有用。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
triggerstringyes(none)none

3.2 Switch Connectivity 交换机连接

如果在其中一个配置的交换机端口上建立了链路,则 LED 亮起。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
port_maskintegerno0Hexadecimal bit mask that encodes the regarded switch ports
speed_maskintegerno(none)Hexadecimal bit mask that filters ethernet speeds
triggerstringyes(none)switch0

3.3 Timer 定时器

LED 以配置的开/关频率闪烁。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
delayoffintegeryes(none)How long (in milliseconds) the LED should be off.
delayonintegeryes(none)How long (in milliseconds) the LED should be on.
sysfsstringyes(none)LED device name
triggerstringyes(none)timer

3.4 Default-on 默认开启

已弃用,使用default=1 trigger=none代替

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
triggerstringyes(none)default-on

3.5 Heartbeat

LED 闪烁以模拟实际的心跳 thump-thump-pause。频率与 1 分钟平均 CPU 负载成正比。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
triggerstringyes(none)heartbeat

3.6 Flash Writes

当数据写入闪存时,LED 闪烁。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
triggerstringyes(none)nand-disk

3.7 Network Activity

LED 闪烁,显示已配置接口上的链路状态和/或发送和接收活动。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
devstringyes(none)Name of the network interface which status should be reflected
modestringyes(none)One or more of linktx, or rx, seperated by spaces
sysfsstringyes(none)LED device name
triggerstringyes(none)netdev
intervalintegerno(none)The duration of the LED blink in milliseconds. For example: 50

3.8 WiFi Activity triggers

LED 在物理接口(而不是软件网络接口)触发的事件上闪烁。除了 phy 触发器具有更多事件外,它还提供了静态 LED 设置的可能性,以防您想分别监控 2.4 GHz 无线电(通常为 phy0)和 5 GHz 无线电(通常为 phy1)。netdev 无法保证这种区分,因为 wlan0 可能指的是基于当前网络设置的 2.4 GHz 或 5 GHz 无线电。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
sysfsstringyes(none)LED device name
triggerstringyes(none)phy0rxphy0txphy0assocphy0radio or phy0tpt
  • PHY0RX - 接收时闪烁。

  • phy0tx - 传输时闪烁。

  • phy0assoc - 在客户端关联时闪烁。

  • phy0radio - (未知,此选项在我的 TL-WR1043nd 上没有任何作用)

  • phy0tpt - 在网络上缓慢而稳定地闪烁 activity.in 与 Tx 和 Rx 模式的高能闪烁相比

3.9 USB Device

如果连接了 USB 设备,指示灯将亮起。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON
devstringyes(none)Name of USB device to monitor (in this example 1-1).
intervalintegeryes(none)Interval in ms when device is active.
sysfsstringyes(none)LED device name
triggerstringyes(none)usbdev -- This may be usbport (March 2019)

3.10 GPIO

允许 LED 由 gpio 事件控制。

NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON

3.11 Net filter

当特定数据包通过您的计算机时闪烁 LED。

例如,要为传入的 SSH 流量创建 LED 触发器:

root@lede:/# iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000

然后将新触发器连接到系统上的 LED:

root@lede:/# echo netfilter-ssh > /sys/class/leds/<ledname>/trigger 
NameTypeRequiredDefaultDescription
defaultintegerno0LED state before trigger: 0 means OFF and 1 means ON

4、举例

Heartbeat led

config 'led'

option 'sysfs' 'wrt160nl:amber:wps'

option 'trigger' 'heartbeat'

WLAN led

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 led 

config 'led'

option 'name' '3G'

option 'sysfs' 'asus:blue:3g'

option 'trigger' 'netdev'

option 'dev' '3g-wan'

option 'mode' 'link'

Timer led - 500ms ON, 2000ms OFF

config 'led'

option 'sysfs' 'wrt160nl:blue:wps'

option 'trigger' 'timer'

option 'delayon' '500'

option 'delayoff' '2000'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值