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