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