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