7fa4ff0bcc92a26aacead2fe33538986ddfba504
[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-750p-pbr2|\
320         rb-750up-r2|\
321         rb-911g-2hpnd|\
322         rb-911g-5hpacd|\
323         rb-911g-5hpnd|\
324         rb-941-2nd|\
325         rb-951ui-2nd|\
326         rb-952ui-5ac2nd|\
327         rb-962uigs-5hact2hnt|\
328         rb-lhg-5nd|\
329         rb-mapl-2nd)
330                 status_led="rb:green:user"
331                 ;;
332         rb-951ui-2hnd)
333                 status_led="rb:green:act"
334                 ;;
335         rb-912uag-2hpnd|\
336         rb-912uag-5hpnd|\
337         rb-sxt2n|\
338         rb-sxt5n)
339                 status_led="rb:green:power"
340                 ;;
341         re450|\
342         sc300m)
343                 status_led="$board:blue:power"
344                 ;;
345         routerstation|\
346         routerstation-pro)
347                 status_led="ubnt:green:rf"
348                 ;;
349         rw2458n)
350                 status_led="$board:green:d3"
351                 ;;
352         smart-300)
353                 status_led="nc-link:green:system"
354                 ;;
355         qihoo-c301)
356                 status_led="qihoo:green:status"
357                 ;;
358         tellstick-znet-lite)
359                 status_led="tellstick:white:system"
360                 ;;
361         tew-673gru)
362                 status_led="trendnet:blue:wps"
363                 ;;
364         tew-712br|\
365         tew-732br|\
366         tew-823dru)
367                 status_led="trendnet:green:power"
368                 ;;
369         tl-mr3020)
370                 status_led="tp-link:green:wps"
371                 ;;
372         tl-wa750re)
373                 status_led="tp-link:orange:re"
374                 ;;
375         tl-wa850re|\
376         tl-wa850re-v2)
377                 status_led="tp-link:blue:re"
378                 ;;
379         tl-wa855re-v1|\
380         tl-wa860re)
381                 status_led="tp-link:green:power"
382                 ;;
383         tl-mr6400)
384                 status_led="tp-link:white:power"
385                 ;;
386         tl-mr3220|\
387         tl-mr3220-v2|\
388         tl-mr3420|\
389         tl-mr3420-v2|\
390         tl-wa701nd-v2|\
391         tl-wa801nd-v2|\
392         tl-wa901nd|\
393         tl-wa901nd-v2|\
394         tl-wa901nd-v3|\
395         tl-wa901nd-v4|\
396         tl-wdr3320-v2|\
397         tl-wdr3500|\
398         tl-wr1041n-v2|\
399         tl-wr1043nd|\
400         tl-wr1043nd-v2|\
401         tl-wr1043nd-v4|\
402         tl-wr740n-v6|\
403         tl-wr741nd|\
404         tl-wr741nd-v4|\
405         tl-wa801nd-v3|\
406         tl-wr840n-v2|\
407         tl-wr840n-v3|\
408         tl-wr841n-v1|\
409         tl-wr841n-v7|\
410         tl-wr841n-v8|\
411         tl-wr841n-v11|\
412         tl-wa830re-v2|\
413         tl-wr842n-v2|\
414         tl-wr842n-v3|\
415         tl-wr941nd|\
416         tl-wr941nd-v5)
417                 status_led="tp-link:green:system"
418                 ;;
419         archer-c5|\
420         archer-c7|\
421         tl-wdr4900-v2|\
422         tl-mr10u|\
423         tl-mr12u|\
424         tl-mr13u|\
425         tl-wdr4300|\
426         tl-wr703n|\
427         tl-wr710n|\
428         tl-wr720n-v3|\
429         tl-wr802n-v1|\
430         tl-wr810n|\
431         tl-wr940n-v4|\
432         tl-wr941nd-v6)
433                 status_led="tp-link:blue:system"
434                 ;;
435         tl-wr841n-v9)
436                 status_led="tp-link:green:qss"
437                 ;;
438         tl-wr2543n)
439                 status_led="tp-link:green:wps"
440                 ;;
441         tl-wdr6500-v2)
442                 status_led="tp-link:white:system"
443                 ;;
444         tube2h)
445                 status_led="alfa:green:signal4"
446                 ;;
447         unifi)
448                 status_led="ubnt:green:dome"
449                 ;;
450         uap-pro|\
451         unifiac-lite|\
452         unifiac-pro)
453                 status_led="ubnt:white:dome"
454                 ;;
455         unifi-outdoor-plus)
456                 status_led="ubnt:white:front"
457                 ;;
458         airgateway|\
459         airgatewaypro)
460                 status_led="ubnt:white:status"
461                 ;;
462         wi2a-ac200i)
463                 status_led="nokia:green:ctrl"
464                 ;;
465         whr-g301n|\
466         whr-hp-g300n|\
467         whr-hp-gn|\
468         wzr-hp-g300nh)
469                 status_led="buffalo:green:router"
470                 ;;
471         wlae-ag300n)
472                 status_led="buffalo:green:status"
473                 ;;
474         r6100|\
475         wndap360|\
476         wndr3700|\
477         wndr3700v4|\
478         wndr4300|\
479         wnr2000|\
480         wnr2000-v3|\
481         wnr2200|\
482         wnr612-v2|\
483         wnr1000-v2|\
484         wpn824n)
485                 status_led="netgear:green:power"
486                 ;;
487         wp543)
488                 status_led="$board:green:diag"
489                 ;;
490         wpj342|\
491         wpj531|\
492         wpj558)
493                 status_led="$board:green:sig3"
494                 ;;
495         wpj563)
496                 status_led="$board:green:sig1"
497                 ;;
498         wrt400n|\
499         wrt160nl)
500                 status_led="$board:blue:wps"
501                 ;;
502         zcn-1523h-2|\
503         zcn-1523h-5)
504                 status_led="zcn-1523h:amber:init"
505                 ;;
506         wlr8100)
507                 status_led="sitecom:amber:status"
508                 ;;
509         esac
510 }
511
512 set_state() {
513         get_status_led
514
515         case "$1" in
516         preinit)
517                 status_led_blink_preinit
518                 ;;
519         failsafe)
520                 status_led_blink_failsafe
521                 ;;
522         preinit_regular)
523                 status_led_blink_preinit_regular
524                 ;;
525         done)
526                 status_led_on
527                 case $(board_name) in
528                 gl-ar300m)
529                         fw_printenv lc >/dev/null 2>&1 && fw_setenv "bootcount" 0
530                         ;;
531                 qihoo-c301)
532                         local n=$(fw_printenv activeregion | cut -d = -f 2)
533                         fw_setenv "image${n}trynum" 0
534                         ;;
535                 wi2a-ac200i)
536                         fw_setenv PKRstCnt 0
537                         ;;
538                 esac
539                 ;;
540         esac
541 }