4cfb49bd82ff97375504fd4d161743bd8c728406
[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         alfa-nx)
34                 status_led="alfa:green:led_8"
35                 ;;
36         all0305)
37                 status_led="eap7660d:green:ds4"
38                 ;;
39         ap132)
40                 status_led="ap132:green:status"
41                 ;;
42         ap136-010|\
43         ap136-020)
44                 status_led="ap136:green:status"
45                 ;;
46         ap135-020)
47                 status_led="ap135:green:status"
48                 ;;
49         ap81)
50                 status_led="ap81:green:status"
51                 ;;
52         ap83)
53                 status_led="ap83:green:power"
54                 ;;
55         ap96)
56                 status_led="ap96:green:led2"
57                 ;;
58         aw-nr580)
59                 status_led="aw-nr580:green:ready"
60                 ;;
61         bullet-m | rocket-m | nano-m | nanostation-m)
62                 status_led="ubnt:green:link4"
63                 ;;
64         cap4200ag)
65                 status_led="senao:green:pwr"
66                 ;;
67         db120)
68                 status_led="db120:green:status"
69                 ;;
70         dir-600-a1 |\
71         dir-615-e4)
72                 status_led="d-link:green:power"
73                 ;;
74         dir-615-c1)
75                 status_led="d-link:green:status"
76                 ;;
77         dir-825-b1)
78                 status_led="d-link:orange:power"
79                 ;;
80         dir-825-c1)
81                 status_led="d-link:orange:power"
82                 ;;
83         eap7660d)
84                 status_led="eap7660d:green:ds4"
85                 ;;
86         hornet-ub)
87                 status_led="alfa:blue:wps"
88                 ;;
89         ja76pf | \
90         ja76pf2)
91                 status_led="jjplus:green:led1"
92                 ;;
93         ls-sr71)
94                 status_led="ubnt:green:d22"
95                 ;;
96         mr600)
97                 status_led="mr600:orange:power"
98                 ;;
99         mr600v2)
100                 status_led="mr600:blue:power"
101                 ;;
102         mzk-w04nu | \
103         mzk-w300nh)
104                 status_led="planex:green:status"
105                 ;;
106         nbg460n_550n_550nh)
107                 status_led="nbg460n:green:power"
108                 ;;
109         om2p | \
110         om2p-hs | \
111         om2p-lc)
112                 status_led="om2p:blue:power"
113                 ;;
114         pb44)
115                 status_led="pb44:amber:jump1"
116                 ;;
117         rb-411 | rb-411u | rb-433 | rb-433u | rb-450 | rb-450g | rb-493)
118                 status_led="rb4xx:yellow:user"
119                 ;;
120        rb-750)
121                status_led="rb750:green:act"
122                ;;
123         routerstation | routerstation-pro)
124                 status_led="ubnt:green:rf"
125                 ;;
126         rw2458n)
127                 status_led="rw2458n:green:d3"
128                 ;;
129         tew-632brp)
130                 status_led="tew-632brp:green:status"
131                 ;;
132         tew-673gru)
133                 status_led="trendnet:blue:wps"
134                 ;;
135         tew-712br)
136                 status_led="trendnet:green:power"
137                 ;;
138         tl-mr3020)
139                 status_led="tp-link:green:wps"
140                 ;;
141         tl-mr3220 | \
142         tl-mr3220-v2 | \
143         tl-mr3420 | \
144         tl-wa901nd | \
145         tl-wa901nd-v2 | \
146         tl-wr1041n-v2 | \
147         tl-wr1043nd | \
148         tl-wr741nd | \
149         tl-wr741nd-v4 | \
150         tl-wr841n-v1 | \
151         tl-wr841n-v7 | \
152         tl-wr841n-v8 | \
153         tl-wr941nd)
154                 status_led="tp-link:green:system"
155                 ;;
156         tl-wdr4300 | \
157         tl-wr703n)
158                 status_led="tp-link:blue:system"
159                 ;;
160         tl-wr2543n)
161                 status_led="tp-link:green:wps"
162                 ;;
163         unifi)
164                 status_led="ubnt:green:dome"
165                 ;;
166         uap-pro)
167                 status_led="ubnt:white:dome"
168                 ;;
169         whr-g301n | \
170         whr-hp-g300n | \
171         whr-hp-gn | \
172         wzr-hp-g300nh)
173                 status_led="buffalo:green:router"
174                 ;;
175         wlae-ag300n)
176                 status_led="buffalo:green:status"
177                 ;;
178         wzr-hp-ag300h | \
179         wzr-hp-g300nh2)
180                 status_led="buffalo:red:diag"
181                 ;;
182         wndr3700)
183                 status_led="wndr3700:green:power"
184                 ;;
185         wndr4300)
186                 status_led="netgear:green:power"
187                 ;;
188         wnr2000)
189                 status_led="wnr2000:green:power"
190                 ;;
191         wp543)
192                 status_led="wp543:green:diag"
193                 ;;
194         wrt400n)
195                 status_led="wrt400n:blue:wps"
196                 ;;
197         wrt160nl)
198                 status_led="wrt160nl:blue:wps"
199                 ;;
200         zcn-1523h-2 | zcn-1523h-5)
201                 status_led="zcn-1523h:amber:init"
202                 ;;
203         esac;
204 }
205
206 set_state() {
207         get_status_led
208
209         case "$1" in
210         preinit)
211                 insmod leds-gpio
212                 insmod ledtrig-default-on
213                 insmod ledtrig-timer
214                 status_led_set_timer 200 200
215                 ;;
216         failsafe)
217                 status_led_set_timer 50 50
218                 ;;
219         done)
220                 status_led_on
221                 ;;
222         esac
223 }