ramips: add button support and make LEDs known to userspace for DIR-860L B1
[lede.git] / target / linux / ramips / base-files / etc / diag.sh
1 #!/bin/sh
2 # Copyright (C) 2010-2013 OpenWrt.org
3
4 . /lib/functions/leds.sh
5 . /lib/ramips.sh
6
7 get_status_led() {
8         board=$(ramips_board_name)
9
10         case $board in
11         3g150b|\
12         3g300m|\
13         w150m)
14                 status_led="$board:blue:ap"
15                 ;;
16         3g-6200n|\
17         ar670w|\
18         ar725w|\
19         asl26555|\
20         br-6425|\
21         br-6475nd|\
22         dir-860l-b1|\
23         e1700|\
24         fonera20n|\
25         mzk-750dhp|\
26         mzk-dp150n|\
27         mzk-w300nh2|\
28         nbg-419n|\
29         pwh2004|\
30         wnce2001|\
31         wndr3700v5|\
32         x5|\
33         x8|\
34         xdxrn502j)
35                 status_led="$board:green:power"
36                 ;;
37         a5-v11|\
38         cs-qr10|\
39         d105|\
40         dcs-930l-b1|\
41         ex2700|\
42         hlk-rm04|\
43         jhr-n825r|\
44         mpr-a1|\
45         mpr-a2|\
46         mzk-ex750np)
47                 status_led="$board:red:power"
48                 ;;
49         ai-br100|\
50         ht-tm02)
51                 status_led="$board:blue:wlan"
52                 ;;
53         all0239-3g|\
54         dcs-930|\
55         dir-300-b1|\
56         dir-300-b7|\
57         dir-320-b1|\
58         dir-600-b1|\
59         dir-600-b2|\
60         dir-610-a1|\
61         dir-615-d|\
62         dir-615-h1|\
63         dir-620-a1|\
64         dir-620-d1|\
65         hpm|\
66         hw550-3g|\
67         miniembwifi|\
68         mofi3500-3gn|\
69         rut5xx|\
70         v11st-fe|\
71         vocore|\
72         wmr-300|\
73         zbt-wg2626|\
74         zbt-wg3526)
75                 status_led="$board:green:status"
76                 ;;
77         atp-52b|\
78         ip2202)
79                 status_led="$board:green:run"
80                 ;;
81         awapn2403|\
82         dir-645|\
83         sk-wb8|\
84         wrh-300cr)
85                 status_led="$board:green:wps"
86                 ;;
87         c50)
88                 status_led="tp-link:blue:power"
89                 ;;
90         cf-wr800n|\
91         psg1208)
92                 status_led="$board:white:wps"
93                 ;;
94         cy-swr1100|\
95         w502u)
96                 status_led="$board:blue:wps"
97                 ;;
98         dap-1350|\
99         na930|\
100         pbr-m1|\
101         rt-n13u|\
102         rt-n14u|\
103         rt-n15|\
104         rt-n56u|\
105         wl-330n|\
106         wl-330n3g|\
107         wli-tx4-ag300n|\
108         wt3020|\
109         y1|\
110         y1s)
111                 status_led="$board:blue:power"
112                 ;;
113         db-wrt01|\
114         esr-9753)
115                 status_led="$board:orange:power"
116                 ;;
117         f5d8235-v2)
118                 status_led="$board:blue:router"
119                 ;;
120         f7c027)
121                 status_led="$board:orange:status"
122                 ;;
123         hc5*61|\
124         jhr-n805r|\
125         jhr-n926r|\
126         mlw221|\
127         mlwg2)
128                 status_led="$board:blue:system"
129                 ;;
130         linkits7688| \
131         linkits7688d)
132                 [ "$1" = "upgrade" ] && status_led="mediatek:orange:wifi"
133                 ;;
134         m2m)
135                 status_led="$board:blue:wifi"
136                 ;;
137         m3|\
138         m4)
139                 status_led="$board:blue:status"
140                 ;;
141         miwifi-mini|\
142         zte-q7)
143                 status_led="$board:red:status"
144                 ;;
145         mr-102n)
146                 status_led="$board:amber:status"
147                 ;;
148         nw718)
149                 status_led="$board:amber:cpu"
150                 ;;
151         oy-0001|\
152         sl-r7205|\
153         zbt-we826)
154                 status_led="$board:green:wifi"
155                 ;;
156         psr-680w)
157                 status_led="$board:red:wan"
158                 ;;
159         px-4885|\
160         re6500|\
161         whr-1166d|\
162         whr-300hp2|\
163         whr-600d|\
164         widora-neo)
165                 status_led="$board:orange:wifi"
166                 ;;
167         mzk-ex300np|\
168         rt-n10-plus|\
169         tew-691gr|\
170         tew-692gr|\
171         ur-326n4g|\
172         ur-336un|\
173         wf-2881|\
174         wr512-3gn)
175                 status_led="$board:green:wps"
176                 ;;
177         sap-g3200u3)
178                 status_led="$board:green:usb"
179                 ;;
180         v22rw-2x2)
181                 status_led="$board:green:security"
182                 ;;
183         w306r-v20|\
184         witi|\
185         zbt-wr8305rt)
186                 status_led="$board:green:sys"
187                 ;;
188         wcr-150gn|\
189         wl-351)
190                 status_led="$board:amber:power"
191                 ;;
192         whr-g300n|\
193         wzr-agl300nh)
194                 status_led="$board:green:router"
195                 ;;
196         wizfi630a)
197                 status_led="$board::run"
198                 ;;
199         wsr-1166|\
200         wsr-600)
201                 status_led="$board:green:power"
202                 ;;
203         wrtnode2r | \
204         wrtnode2p | \
205         wrtnode)
206                 status_led="wrtnode:blue:indicator"
207                 ;;
208         esac
209 }
210
211 set_state() {
212         get_status_led $1
213
214         case "$1" in
215         preinit)
216                 status_led_blink_preinit
217                 ;;
218         failsafe)
219                 status_led_blink_failsafe
220                 ;;
221         upgrade | \
222         preinit_regular)
223                 status_led_blink_preinit_regular
224                 ;;
225         done)
226                 status_led_on
227                 ;;
228         esac
229 }