a89ede94932986feaf96a1b341c307c724dccaac
[openwrt.git] / target / linux / ar71xx / base-files / etc / diag.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2009 OpenWrt.org
4 #
5 #
6
7 . /lib/ar71xx.sh
8
9 status_led=""
10
11 led_set_attr() {
12         [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
13 }
14
15 status_led_set_timer() {
16         led_set_attr $status_led "trigger" "timer"
17         led_set_attr $status_led "delay_on" "$1"
18         led_set_attr $status_led "delay_off" "$2"
19 }
20
21 status_led_on() {
22         led_set_attr $status_led "trigger" "none"
23         led_set_attr $status_led "brightness" 255
24 }
25
26 status_led_off() {
27         led_set_attr $status_led "trigger" "none"
28         led_set_attr $status_led "brightness" 0
29 }
30
31 get_status_led() {
32         case $(ar71xx_board_name) in
33         ap81)
34                 status_led="ap81:green:status"
35                 ;;
36         ap83)
37                 status_led="ap83:green:power"
38                 ;;
39         ap96)
40                 status_led="ap96:green:led2"
41                 ;;
42         aw-nr580)
43                 status_led="aw-nr580:green:ready"
44                 ;;
45         bullet-m | rocket-m | nano-m | nanostation-m)
46                 status_led="ubnt:green:link4"
47                 ;;
48         dir-600-a1)
49                 status_led="dir-600-a1:green:power"
50                 ;;
51         dir-615-c1)
52                 status_led="dir-615c1:green:status"
53                 ;;
54         dir-825-b1)
55                 status_led="dir825b1:orange:power"
56                 ;;
57         eap7660d)
58                 status_led="eap7660d:green:ds4"
59                 ;;
60         ls-sr71)
61                 status_led="ubnt:green:d22"
62                 ;;
63         mzk-w04nu)
64                 status_led="mzk-w04nu:green:status"
65                 ;;
66         mzk-w300nh)
67                 status_led="mzk-w300nh:green:status"
68                 ;;
69         nbg460n_550n_550nh)
70                 status_led="nbg460n:green:power"
71                 ;;
72         pb44)
73                 status_led="pb44:amber:jump1"
74                 ;;
75         rb-411 | rb-411u | rb-433 | rb-433u | rb-450 | rb-450g | rb-493)
76                 status_led="rb4xx:yellow:user"
77                 ;;
78         routerstation | routerstation-pro)
79                 status_led="ubnt:green:rf"
80                 ;;
81         tew-632brp)
82                 status_led="tew-632brp:green:status"
83                 ;;
84         tl-mr3420)
85                 status_led="tl-mr3420:green:system"
86                 ;;
87         tl-wa901nd)
88                 status_led="tl-wa901nd:green:system"
89                 ;;
90         tl-wr1043nd)
91                 status_led="tl-wr1043nd:green:system"
92                 ;;
93         tl-wr741nd)
94                 status_led="tl-wr741nd:green:system"
95                 ;;
96         tl-wr841n-v1)
97                 status_led="tl-wr841n:green:system"
98                 ;;
99         tl-wr941nd)
100                 status_led="tl-wr941nd:green:system"
101                 ;;
102         wndr3700)
103                 status_led="wndr3700:green:power"
104                 ;;
105         wnr2000)
106                 status_led="wnr2000:green:power"
107                 ;;
108         wp543)
109                 status_led="wp543:green:diag"
110                 ;;
111         wrt400n)
112                 status_led="wrt400n:green:status"
113                 ;;
114         wrt160nl)
115                 status_led="wrt160nl:blue:wps"
116                 ;;
117         wzr-hp-g300nh)
118                 status_led="wzr-hp-g300nh:green:router"
119                 ;;
120         zcn-1523h-2 | zcn-1523h-5)
121                 status_led="zcn-1523h:amber:init"
122                 ;;
123         esac;
124 }
125
126 set_state() {
127         get_status_led
128
129         case "$1" in
130         preinit)
131                 insmod leds-gpio
132                 status_led_set_timer 200 200
133                 ;;
134         failsafe)
135                 status_led_set_timer 50 50
136                 ;;
137         done)
138                 status_led_on
139                 ;;
140         esac
141 }