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