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