#!/bin/sh
-#
-# Copyright (C) 2010 OpenWrt.org
-#
-#
+# Copyright (C) 2010-2013 OpenWrt.org
+. /lib/functions/leds.sh
. /lib/ramips.sh
-status_led=""
-
-led_set_attr() {
- [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
-}
-
-status_led_set_timer() {
- led_set_attr $status_led "trigger" "timer"
- led_set_attr $status_led "delay_on" "$1"
- led_set_attr $status_led "delay_off" "$2"
-}
-
-status_led_on() {
- led_set_attr $status_led "trigger" "none"
- led_set_attr $status_led "brightness" 255
-}
-
-status_led_off() {
- led_set_attr $status_led "trigger" "none"
- led_set_attr $status_led "brightness" 0
-}
-
get_status_led() {
- case $(ramips_board_name) in
- argus-atp52b)
- status_led="argus-atp52b:green:run"
- ;;
- dir-300-b1 | dir-600-b1 | dir-600-b2)
- status_led="d-link:green:status"
+ board=$(ramips_board_name)
+
+ case $board in
+ 3g150b|\
+ 3g300m|\
+ w150m)
+ status_led="$board:blue:ap"
+ ;;
+ 3g-6200n|\
+ ar670w|\
+ ar725w|\
+ asl26555|\
+ br-6425|\
+ br-6475nd|\
+ e1700|\
+ fonera20n|\
+ mzk-dp150n|\
+ mzk-w300nh2|\
+ nbg-419n|\
+ pwh2004|\
+ wnce2001|\
+ x5|\
+ x8|\
+ xdxrn502j)
+ status_led="$board:green:power"
+ ;;
+ a5-v11|\
+ d105|\
+ dcs-930l-b1|\
+ hlk-rm04|\
+ mpr-a1|\
+ mpr-a2)
+ status_led="$board:red:power"
+ ;;
+ ai-br100|\
+ ht-tm02)
+ status_led="$board:blue:wlan"
+ ;;
+ all0239-3g|\
+ dcs-930|\
+ dir-300-b1|\
+ dir-300-b7|\
+ dir-320-b1|\
+ dir-600-b1|\
+ dir-600-b2|\
+ dir-610-a1|\
+ dir-615-d|\
+ dir-615-h1|\
+ dir-620-a1|\
+ dir-620-d1|\
+ hpm|\
+ hw550-3g|\
+ miniembwifi|\
+ mofi3500-3gn|\
+ rut5xx|\
+ v11st-fe|\
+ vocore|\
+ wmr-300)
+ status_led="$board:green:status"
+ ;;
+ atp-52b|\
+ ip2202)
+ status_led="$board:green:run"
+ ;;
+ awapn2403|\
+ dir-645)
+ status_led="$board:green:wps"
+ ;;
+ cf-wr800n)
+ status_led="$board:white:wps"
+ ;;
+ cy-swr1100|\
+ w502u)
+ status_led="$board:blue:wps"
+ ;;
+ dap-1350|\
+ na930|\
+ rt-n13u|\
+ rt-n14u|\
+ rt-n15|\
+ rt-n56u|\
+ wl-330n|\
+ wl-330n3g|\
+ wli-tx4-ag300n|\
+ wt3020|\
+ y1|\
+ y1s)
+ status_led="$board:blue:power"
;;
esr-9753)
- status_led="esr-9753:orange:power"
+ status_led="$board:orange:power"
;;
f5d8235-v2)
- status_led="f5d8235v2:blue:router"
+ status_led="$board:blue:router"
;;
- fonera20n)
- status_led="fonera20n:green:power"
+ f7c027)
+ status_led="$board:orange:status"
;;
- hw550-3g)
- status_led="hw550-3g:green:status"
+ m2m)
+ status_led="$board:blue:wifi"
;;
- mofi3500-3gn)
- status_led="mofi3500-3gn:green:status"
+ m3|\
+ m4)
+ status_led="$board:blue:status"
;;
- nbg-419n)
- status_led="nbg-419n:green:power"
+ miwifi-mini|\
+ zte-q7)
+ status_led="$board:red:status"
;;
- nw718)
- status_led="nw718:amber:cpu"
+ mlw221|\
+ mlwg2)
+ status_led="$board:blue:system"
;;
- omni-emb)
- status_led="emb:green:status"
+ mr-102n)
+ status_led="$board:amber:status"
;;
- pwh2004)
- status_led="pwh2004:green:power"
- ;;
- rt-n15)
- status_led="rt-n15:blue:power"
- ;;
- rt-n10-plus)
- status_led="asus:green:wps"
- ;;
- rt-n56u)
- status_led="asus:blue:power"
+ nw718)
+ status_led="$board:amber:cpu"
;;
+ oy-0001|\
sl-r7205)
- status_led="sl-r7205:green:status"
+ status_led="$board:green:wifi"
+ ;;
+ pbr-m1|\
+ w306r-v20|\
+ zbt-wr8305rt)
+ status_led="$board:green:sys"
+ ;;
+ psr-680w)
+ status_led="$board:red:wan"
+ ;;
+ px-4885|\
+ re6500|\
+ whr-1166d|\
+ whr-300hp2|\
+ whr-600d)
+ status_led="$board:orange:wifi"
+ ;;
+ rt-n10-plus|\
+ tew-691gr|\
+ tew-692gr|\
+ ur-326n4g|\
+ ur-336un|\
+ wr512-3gn)
+ status_led="$board:green:wps"
;;
- v11st-fe)
- status_led="v11st-fe:green:status"
+ sap-g3200u3)
+ status_led="$board:green:usb"
;;
v22rw-2x2)
- status_led="v22rw-2x2:green:security"
- ;;
- w502u)
- status_led="alfa:blue:wps"
- ;;
- wcr-150gn)
- status_led="wcr150gn:amber:power"
- ;;
- whr-g300n)
- status_led="whr-g300n:green:router"
- ;;
- wli-tx4-ag300n)
- status_led="buffalo:blue:power"
+ status_led="$board:green:security"
;;
+ wcr-150gn|\
wl-351)
- status_led="wl-351:amber:power"
+ status_led="$board:amber:power"
;;
- wr512-3gn)
- status_led="wr512:green:wps"
+ whr-g300n|\
+ wzr-agl300nh)
+ status_led="$board:green:router"
;;
- xdxrn502j)
- status_led="xdxrn502j:green:power"
+ wsr-1166|\
+ wsr-600)
+ status_led="$board:orange:diag"
;;
esac
}
case "$1" in
preinit)
- insmod leds-gpio
- status_led_set_timer 200 200
+ status_led_blink_preinit
;;
failsafe)
- status_led_set_timer 50 50
+ status_led_blink_failsafe
+ ;;
+ preinit_regular)
+ status_led_blink_preinit_regular
;;
done)
status_led_on