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