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