OpenWrt LED Configuration(OpenWrt指示灯配置)

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'

再次更新,添加RGA100支持,添加LED触发器类型, 删除了按钮脚本,要自定义功能自己写脚本放在/etc/hotplud.d/button/ 下面 openwrt-RG100A_DB120-squashfs-cfe.bin http://115.com/file/c2bjz3px# 我的DB120-WG,双UBS,看着那么多的LED无法使用,于是泡论坛,看教程, 经过无数次的make, make V=99,终于修正了DB120的所有LED驱动,共9个LED, power和internet为双色LED,触发用time, 调整红色和绿色分量,可以显示绿色,橙色,红色等, 美中不足的是红灯太亮了,绿灯太弱,有条件的换下LED限流电阻 2012-2-1 增加了3个按钮 BTN_0 RESET 按住8秒后放开,系统复位 BTN_1 WLAN 无线开关 BTN_2 WPS umount 以后不要手贱,随便捅菊花了,结果你懂的 基本完美了,发挥你的想象吧 集成的软件都是我自己要用的,如motion做监控,图片保存在移动硬盘上, 当画面有变化时 mutt和ssmtp 发送邮件到139邮箱,有实时短信提醒. 通过N2N,配合视频监控软件可以随时随地查看家里状况 看到有个帖子里面用用Mplayer做网络收音机,又塞了个mplayer进去 集成USB声卡驱动,基本影音全能了 基于官方 OpenWrt Backfire 10.03.1 编译而成 软件包名称 版本 alsa-lib 1.0.24.1-1 alsa-utils 1.0.24.2-1 base-files 43.32-r29685 block-mount 0.1.0-2.2 bridge 1.4-1 busybox 1.15.3-3.4 bzip2 1.0.6-1 crda 1.1.1-1 dnsmasq 2.55-6.1 dropbear 0.53.1-5 firewall 2-34.8 gpioctl 1.0-1 hd-idle 1.03-1 hotplug2 1.0-beta-3 iptables 1.4.6-3.1 iptables-mod-conntrack 1.4.6-3.1 iptables-mod-conntrack-extra 1.4.6-3.1 iptables-mod-filter 1.4.6-3.1 iptables-mod-imq 1.4.6-3.1 iptables-mod-ipopt 1.4.6-3.1 iptables-mod-nat 1.4.6-3.1 iw 0.9.22-2 kernel 2.6.32.27-1 kmod-b43 2.6.32.27+2011-12-01-1 kmod-button-hotplug 2.6.32.27-1 kmod-cfg80211 2.6.32.27+2011-12-01-1 kmod-crc-ccitt 2.6.32.27-1 kmod-crypto-aes 2.6.32.27-1 kmod-crypto-arc4 2.6.32.27-1 kmod-crypto-core 2.6.32.27-1 kmod-fs-ext2 2.6.32.27-1 kmod-fs-ext3 2.6.32.27-1 kmod-fuse 2.6.32.27-1 kmod-i2c-core 2.6.32.27-1 kmod-input-core 2.6.32.27-1 kmod-input-gpio-buttons 2.6.32.27-1 kmod-input-polldev 2.6.32.27-1 kmod-ipt-conntrack 2.6.32.27-1 kmod-ipt-conntrack-extra 2.6.32.27-1 kmod-ipt-core 2.6.32.27-1 kmod-ipt-filter 2.6.32.27-1 kmod-ipt-imq 2.6.32.27-1 kmod-ipt-ipopt 2.6.32.27-1 kmod-ipt-nat 2.6.32.27-1 kmod-mac80211 2.6.32.27+2011-12-01-1 kmod-nls-cp437 2.6.32.27-1 kmod-nls-iso8859-1 2.6.32.27-1 kmod-nls-utf8 2.6.32.27-1 kmod-ppp 2.6.32.27-1 kmod-sched 2.6.32.27-1 kmod-scsi-core 2.6.32.27-1 kmod-sound-core 2.6.32.27-1 kmod-switch 2.6.32.27-4 kmod-textsearch 2.6.32.27-1 kmod-tun 2.6.32.27-1 kmod-usb-audio 2.6.32.27-1 kmod-usb-core 2.6.32.27-1 kmod-usb-ohci 2.6.32.27-1 kmod-usb-printer 2.6.32.27-1 kmod-usb-storage 2.6.32.27-1 kmod-usb-uhci 2.6.32.27-1 kmod-usb2 2.6.32.27-1 kmod-video-core 2.6.32.27-1 kmod-video-uvc 2.6.32.27-1 kmod-zd1211rw 2.6.32.27+2011-12-01-1 lame-lib 398-2-3 libao 1.1.0-1 libc 0.9.30.1-43.32 libevent 1.4.14b-1 libfaad2 2.7-1 libffmpeg 0.5.4-2 libfuse 2.8.3-1 libgcc 4.3.3+cs-43.32 libgsm 1.0.13-1 libiconv 5 libiconv-full 1.11.1-1 libid3tag 0.15.1b-3 libip4tc 1.4.6-3.1 libiwinfo 18 libiwinfo-lua 18 libjpeg 6b-1 libltdl 2.4-1 liblua 5.1.4-7 liblzo 2.04-1 libmad 0.15.1b-3 libncurses 5.7-2 libnl-tiny 0.1-1 libogg 1.1.4-2 libopenssl 0.9.8s-1 libpthread 0.9.30.1-43.32 librrd1 1.0.50-1 librt 0.9.30.1-43.32 libsamplerate 0.1.7-1 libsndfile 1.0.21-1 libuci 12012009.7-4 libuci-lua 12012009.7-4 libusb-1.0 1.0.8-1 libv4l 0.6.1-1 libvorbis 1.2.3-1 libvorbisidec 1.0.2+svn14261-1 libxtables 1.4.6-3.1 lua 5.1.4-7 luci 0.10.0-1 luci-app-firewall 0.10.0-1 luci-app-hd-idle 0.10.0-1 luci-app-ntpc 0.10.0-1 luci-app-qos 0.10.0-1 luci-app-samba 0.10.0-1 luci-app-voice-core 0.10.0-1 luci-i18n-chinese 0.10.0-1 luci-i18n-english 0.10.0-1 luci-lib-core 0.10.0-1 luci-lib-ipkg 0.10.0-1 luci-lib-lmo 0.10.0-1 luci-lib-lucid 0.10.0-1 luci-lib-lucid-http 0.10.0-1 luci-lib-nixio 0.10.0-1 luci-lib-px5g 0.10.0-1 luci-lib-sys 0.10.0-1 luci-lib-web 0.10.0-1 luci-mod-admin-core 0.10.0-1 luci-mod-admin-full 0.10.0-1 luci-proto-core 0.10.0-1 luci-proto-ppp 0.10.0-1 luci-sgi-cgi 0.10.0-1 luci-theme-base 0.10.0-1 luci-theme-openwrt 0.10.0-1 mjpg-streamer r136-1 motion 3.2.11.1-1 mtd 13 mutt 1.5.21-1 n2n 3875-1 ntfs-3g 2011.4.12-1-fuseext ntpclient 2007_365-4 openssl-util 0.9.8s-1 opkg 576-2 qos-scripts 1.2.1-3.2 resolveip 1 samba3 3.0.24-8 screen 4.0.3-2 sox 14.0.1-3 ssmtp 2.64-3 tc 2.6.29-1-2 uci 12012009.7-4 udevtrigger 106-1 uhttpd 28 usbutils 003-1 wireless-tools 29-4 wpad-mini 20111103-2 zlib 1.2.3-5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值