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