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