0d069ec88c10ec29aba1f20e9a1ab69b5c9f6c56
[oweals/openwrt.git] / target / linux / ar71xx / base-files / etc / diag.sh
1 #!/bin/sh
2 # Copyright (C) 2009-2013 OpenWrt.org
3
4 . /lib/functions/leds.sh
5 . /lib/ar71xx.sh
6
7 get_status_led() {
8         local board=$(ar71xx_board_name)
9
10         case $board in
11         alfa-nx)
12                 status_led="alfa:green:led_8"
13                 ;;
14         all0305)
15                 status_led="eap7660d:green:ds4"
16                 ;;
17         antminer-s1|\
18         antminer-s3|\
19         antminer-r1|\
20         minibox-v1|\
21         som9331)
22                 status_led="$board:green:system"
23                 ;;
24         ap132|\
25         ap81|\
26         db120|\
27         dr344|\
28         tew-632brp|\
29         wpj344|\
30         zbt-we1526)
31                 status_led="$board:green:status"
32                 ;;
33         ap136-010|\
34         ap136-020)
35                 status_led="ap136:green:status"
36                 ;;
37         ap147-010)
38                 status_led="ap147:green:status"
39                 ;;
40         ap135-020)
41                 status_led="ap135:green:status"
42                 ;;
43         ap83|\
44         mr12|\
45         mr16|\
46         nbg6616)
47                 status_led="$board:green:power"
48                 ;;
49         ap96)
50                 status_led="$board:green:led2"
51                 ;;
52         aw-nr580)
53                 status_led="$board:green:ready"
54                 ;;
55         bsb)
56                 status_led="$board:red:sys"
57                 ;;
58         bullet-m|\
59         rocket-m|\
60         rocket-m-xw|\
61         nano-m|\
62         nanostation-m|\
63         nanostation-m-xw|\
64         loco-m-xw)
65                 status_led="ubnt:green:link4"
66                 ;;
67         rocket-m-ti)
68                 status_led="ubnt:green:link6"
69                 ;;
70         bxu2000n-2-a1)
71                 status_led="bhu:green:status"
72                 ;;
73         cap324)
74                 status_led="pcs:green:power"
75                 ;;
76         c-55|\
77         c-60)
78                 status_led="$board:green:pwr"
79                 ;;
80         cap4200ag)
81                 status_led="senao:green:pwr"
82                 ;;
83         cf-e316n-v2)
84                 status_led="$board:blue:wan"
85                 ;;
86         cpe510)
87                 status_led="tp-link:green:link4"
88                 ;;
89         cr3000)
90                 status_led="pcs:amber:power"
91                 ;;
92         cr5000)
93                 status_led="pcs:amber:power"
94                 ;;
95         dgl-5500-a1|\
96         dhp-1565-a1|\
97         dir-505-a1|\
98         dir-600-a1|\
99         dir-615-e1|\
100         dir-615-i1|\
101         dir-615-e4)
102                 status_led="d-link:green:power"
103                 ;;
104         dir-615-c1)
105                 status_led="d-link:green:status"
106                 ;;
107         dir-825-b1)
108                 status_led="d-link:orange:power"
109                 ;;
110         dir-825-c1|\
111         dir-835-a1)
112                 status_led="d-link:amber:power"
113                 ;;
114         dir-869-a1)
115                 status_led="d-link:white:status"
116                 ;;
117         dlan-hotspot)
118                 status_led="devolo:green:wifi"
119                 ;;
120         dlan-pro-500-wp)
121                 status_led="devolo:green:wlan-2g"
122                 ;;
123         dlan-pro-1200-ac)
124                 status_led="devolo:status:wlan"
125                 ;;
126         dr531)
127                 status_led="$board:green:sig4"
128                 ;;
129         dragino2|\
130         oolite)
131                 status_led="$board:red:system"
132                 ;;
133         eap300v2)
134                 status_led="engenius:blue:power"
135                 ;;
136         eap7660d)
137                 status_led="$board:green:ds4"
138                 ;;
139         el-mini|\
140         el-m150)
141                 status_led="easylink:green:system"
142                 ;;
143         ew-dorin|\
144         ew-dorin-router)
145                 status_led="dorin:green:status"
146                 ;;
147         f9k1115v2)
148                 status_led="belkin:blue:status"
149                 ;;
150         gl-inet)
151                 status_led="$board:green:lan"
152                 ;;
153         epg5000|\
154         esr1750)
155                 status_led="$board:amber:power"
156                 ;;
157         esr900)
158                 status_led="engenius:amber:power"
159                 ;;
160         hiwifi-hc6361)
161                 status_led="hiwifi:blue:system"
162                 ;;
163         hornet-ub|\
164         hornet-ub-x2)
165                 status_led="alfa:blue:wps"
166                 ;;
167         ja76pf|\
168         ja76pf2)
169                 status_led="jjplus:green:led1"
170                 ;;
171         jwap230)
172                 status_led="$board:green:led1"
173                 ;;
174         ls-sr71)
175                 status_led="ubnt:green:d22"
176                 ;;
177         mc-mac1200r)
178                 status_led="mercury:green:system"
179                 ;;
180         mr18|\
181         z1)
182                 status_led="$board:green:tricolor0"
183                 ;;
184         mr600)
185                 status_led="$board:orange:power"
186                 ;;
187         mr600v2)
188                 status_led="mr600:blue:power"
189                 ;;
190         mr1750|\
191         mr1750v2)
192                 status_led="mr1750:blue:power"
193                 ;;
194         mr900|\
195         mr900v2)
196                 status_led="mr900:blue:power"
197                 ;;
198         mynet-n600|\
199         mynet-n750)
200                 status_led="wd:blue:power"
201                 ;;
202         mynet-rext)
203                 status_led="wd:blue:power"
204                 ;;
205         mzk-w04nu|\
206         mzk-w300nh)
207                 status_led="planex:green:status"
208                 ;;
209         nbg460n_550n_550nh)
210                 status_led="nbg460n:green:power"
211                 ;;
212         nbg6716)
213                 status_led="$board:white:power"
214                 ;;
215         om2p|\
216         om2pv2|\
217         om2p-hs|\
218         om2p-hsv2|\
219         om2p-hsv3|\
220         om2p-lc)
221                 status_led="om2p:blue:power"
222                 ;;
223         om5p|\
224         om5p-an)
225                 status_led="om5p:blue:power"
226                 ;;
227         om5p-ac|\
228         om5p-acv2)
229                 status_led="om5pac:blue:power"
230                 ;;
231         omy-g1)
232                 status_led="omy:green:wlan"
233                 ;;
234         omy-x1)
235                 status_led="omy:green:power"
236                 ;;
237         onion-omega)
238                 status_led="onion:amber:system"
239                 ;;
240         pb44)
241                 status_led="$board:amber:jump1"
242                 ;;
243         rb-2011l|\
244         rb-2011uas|\
245         rb-2011uas-2hnd)
246                 status_led="rb:green:usr"
247                 ;;
248         rb-411|\
249         rb-411u|\
250         rb-433|\
251         rb-433u|\
252         rb-450|\
253         rb-450g|\
254         rb-493)
255                 status_led="rb4xx:yellow:user"
256                 ;;
257         rb-750)
258                 status_led="rb750:green:act"
259                 ;;
260         rb-911g-2hpnd|\
261         rb-911g-5hpacd|\
262         rb-911g-5hpnd|\
263         rb-912uag-2hpnd|\
264         rb-912uag-5hpnd)
265                 status_led="rb:green:user"
266                 ;;
267         rb-951ui-2hnd)
268                 status_led="rb:green:act"
269                 ;;
270         rb-sxt2n|\
271         rb-sxt5n)
272                 status_led="rb:green:power"
273                 ;;
274         routerstation|\
275         routerstation-pro)
276                 status_led="ubnt:green:rf"
277                 ;;
278         rw2458n)
279                 status_led="$board:green:d3"
280                 ;;
281         smart-300)
282                 status_led="nc-link:green:system"
283                 ;;
284         qihoo-c301)
285                 status_led="qihoo:green:status"
286                 ;;
287         tellstick-znet-lite)
288                 status_led="tellstick:white:system"
289                 ;;
290         tew-673gru)
291                 status_led="trendnet:blue:wps"
292                 ;;
293         tew-712br|\
294         tew-732br|\
295         tew-823dru)
296                 status_led="trendnet:green:power"
297                 ;;
298         tl-mr3020)
299                 status_led="tp-link:green:wps"
300                 ;;
301         tl-wa750re)
302                 status_led="tp-link:orange:re"
303                 ;;
304         tl-wa850re)
305                 status_led="tp-link:blue:re"
306                 ;;
307         tl-wa860re)
308                 status_led="tp-link:green:power"
309                 ;;
310         tl-mr3220|\
311         tl-mr3220-v2|\
312         tl-mr3420|\
313         tl-mr3420-v2|\
314         tl-wa701nd-v2|\
315         tl-wa801nd-v2|\
316         tl-wa901nd|\
317         tl-wa901nd-v2|\
318         tl-wa901nd-v3|\
319         tl-wa901nd-v4|\
320         tl-wdr3320-v2|\
321         tl-wdr3500|\
322         tl-wr1041n-v2|\
323         tl-wr1043nd|\
324         tl-wr1043nd-v2|\
325         tl-wr741nd|\
326         tl-wr741nd-v4|\
327         tl-wr841n-v1|\
328         tl-wr841n-v7|\
329         tl-wr841n-v8|\
330         tl-wr841n-v11|\
331         tl-wa830re-v2|\
332         tl-wr842n-v2|\
333         tl-wr842n-v3|\
334         tl-wr941nd|\
335         tl-wr941nd-v5)
336                 status_led="tp-link:green:system"
337                 ;;
338         archer-c5|\
339         archer-c7|\
340         tl-wdr4900-v2|\
341         tl-mr10u|\
342         tl-mr12u|\
343         tl-mr13u|\
344         tl-wdr4300|\
345         tl-wr703n|\
346         tl-wr710n|\
347         tl-wr720n-v3|\
348         tl-wr810n|\
349         tl-wr941nd-v6)
350                 status_led="tp-link:blue:system"
351                 ;;
352         tl-wr841n-v9)
353                 status_led="tp-link:green:qss"
354                 ;;
355         tl-wr2543n)
356                 status_led="tp-link:green:wps"
357                 ;;
358         tl-wdr6500-v2)
359                 status_led="tp-link:white:system"
360                 ;;
361         tube2h)
362                 status_led="alfa:green:signal4"
363                 ;;
364         unifi)
365                 status_led="ubnt:green:dome"
366                 ;;
367         uap-pro|\
368         unifiac-lite|\
369         unifiac-pro)
370                 status_led="ubnt:white:dome"
371                 ;;
372         unifi-outdoor-plus)
373                 status_led="ubnt:white:front"
374                 ;;
375         airgateway|\
376         airgatewaypro)
377                 status_led="ubnt:white:status"
378                 ;;
379         whr-g301n|\
380         whr-hp-g300n|\
381         whr-hp-gn|\
382         wzr-hp-g300nh)
383                 status_led="buffalo:green:router"
384                 ;;
385         wlae-ag300n)
386                 status_led="buffalo:green:status"
387                 ;;
388         wzr-hp-ag300h|\
389         wzr-hp-g300nh2)
390                 status_led="buffalo:red:diag"
391                 ;;
392         r6100|\
393         wndap360|\
394         wndr3700|\
395         wndr3700v4|\
396         wndr4300|\
397         wnr2000|\
398         wnr2000-v3|\
399         wnr2200|\
400         wnr612-v2|\
401         wnr1000-v2|\
402         wpn824n)
403                 status_led="netgear:green:power"
404                 ;;
405         wp543)
406                 status_led="$board:green:diag"
407                 ;;
408         wpj342|\
409         wpj531|\
410         wpj558)
411                 status_led="$board:green:sig3"
412                 ;;
413         wrt400n|\
414         wrt160nl)
415                 status_led="$board:blue:wps"
416                 ;;
417         zcn-1523h-2|\
418         zcn-1523h-5)
419                 status_led="zcn-1523h:amber:init"
420                 ;;
421         wlr8100)
422                 status_led="sitecom:amber:status"
423                 ;;
424         esac
425 }
426
427 set_state() {
428         get_status_led
429
430         case "$1" in
431         preinit)
432                 status_led_blink_preinit
433                 ;;
434         failsafe)
435                 status_led_blink_failsafe
436                 ;;
437         preinit_regular)
438                 status_led_blink_preinit_regular
439                 ;;
440         done)
441                 status_led_on
442                 case $(ar71xx_board_name) in
443                 gl-ar300m)
444                         fw_printenv lc >/dev/null 2>&1 && fw_setenv "bootcount" 0
445                         ;;
446                 qihoo-c301)
447                         local n=$(fw_printenv activeregion | cut -d = -f 2)
448                         fw_setenv "image${n}trynum" 0
449                         ;;
450                 esac
451                 ;;
452         esac
453 }