ramips: add support for Blueendless Kimax U35WF
[openwrt/staging/lynxis.git] / target / linux / ramips / base-files / lib / upgrade / platform.sh
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4
5 PART_NAME=firmware
6
7 platform_check_image() {
8 local board=$(board_name)
9 local magic="$(get_magic_long "$1")"
10
11 [ "$#" -gt 1 ] && return 1
12
13 case "$board" in
14 3g150b|\
15 3g300m|\
16 a5-v11|\
17 ai-br100|\
18 air3gii|\
19 alfa-network,ac1200rm|\
20 alfa-network,awusfree1|\
21 all0239-3g|\
22 all0256n-4M|\
23 all0256n-8M|\
24 all5002|\
25 all5003|\
26 mediatek,ap-mt7621a-v60|\
27 ar725w|\
28 asl26555-8M|\
29 asl26555-16M|\
30 awapn2403|\
31 awm002-evb-4M|\
32 awm002-evb-8M|\
33 bc2|\
34 bocco|\
35 broadway|\
36 c108|\
37 carambola|\
38 cf-wr800n|\
39 cs-qr10|\
40 d105|\
41 d240|\
42 dap-1350|\
43 db-wrt01|\
44 dcs-930|\
45 dcs-930l-b1|\
46 dir-300-b1|\
47 dir-300-b7|\
48 dir-320-b1|\
49 dir-600-b1|\
50 dir-615-d|\
51 dir-615-h1|\
52 dir-620-a1|\
53 dir-620-d1|\
54 dir-810l|\
55 duzun-dm06|\
56 e1700|\
57 elecom,wrc-1167ghbk2-s|\
58 esr-9753|\
59 ew1200|\
60 ex2700|\
61 ex3700|\
62 f7c027|\
63 firewrt|\
64 fonera20n|\
65 freestation5|\
66 gnubee,gb-pc1|\
67 gnubee,gb-pc2|\
68 gl-mt300a|\
69 gl-mt300n|\
70 gl-mt750|\
71 gl-mt300n-v2|\
72 hc5*61|\
73 hc5661a|\
74 hg255d|\
75 hlk-rm04|\
76 hpm|\
77 ht-tm02|\
78 hw550-3g|\
79 iodata,wn-ax1167gr|\
80 iodata,wn-gx300gr|\
81 ip2202|\
82 jhr-n805r|\
83 jhr-n825r|\
84 jhr-n926r|\
85 k2p|\
86 kimax,u35wf|\
87 kn|\
88 kn_rc|\
89 kn_rf|\
90 kng_rc|\
91 linkits7688|\
92 m2m|\
93 m3|\
94 m4-4M|\
95 m4-8M|\
96 mac1200rv2|\
97 microwrt|\
98 miniembplug|\
99 miniembwifi|\
100 miwifi-mini|\
101 miwifi-nano|\
102 mlw221|\
103 mlwg2|\
104 mofi3500-3gn|\
105 mpr-a1|\
106 mpr-a2|\
107 mr-102n|\
108 mt7628|\
109 mzk-750dhp|\
110 mzk-dp150n|\
111 mzk-ex300np|\
112 mzk-ex750np|\
113 mzk-w300nh2|\
114 mzk-wdpr|\
115 nbg-419n|\
116 nbg-419n2|\
117 newifi-d1|\
118 d-team,newifi-d2|\
119 nixcore-x1-8M|\
120 nixcore-x1-16M|\
121 nw718|\
122 omega2|\
123 omega2p|\
124 oy-0001|\
125 pbr-d1|\
126 pbr-m1|\
127 phicomm,k2g|\
128 psg1208|\
129 psg1218a|\
130 psg1218b|\
131 psr-680w|\
132 px-4885-4M|\
133 px-4885-8M|\
134 rb750gr3|\
135 re6500|\
136 rp-n53|\
137 rt5350f-olinuxino|\
138 rt5350f-olinuxino-evb|\
139 rt-ac51u|\
140 rt-g32-b1|\
141 rt-n10-plus|\
142 rt-n12p|\
143 rt-n13u|\
144 rt-n14u|\
145 rt-n15|\
146 rt-n56u|\
147 rut5xx|\
148 sap-g3200u3|\
149 sk-wb8|\
150 sl-r7205|\
151 tama,w06|\
152 tew-638apb-v2|\
153 tew-691gr|\
154 tew-692gr|\
155 tew-714tru|\
156 timecloud|\
157 tiny-ac|\
158 u25awf-h1|\
159 u7621-06-256M-16M|\
160 u7628-01-128M-16M|\
161 ur-326n4g|\
162 ur-336un|\
163 v22rw-2x2|\
164 vonets,var11n-300|\
165 vocore-8M|\
166 vocore-16M|\
167 vocore2|\
168 vocore2lite|\
169 vr500|\
170 w150m|\
171 w2914nsv2|\
172 w306r-v20|\
173 w502u|\
174 ravpower,wd03|\
175 wf-2881|\
176 whr-1166d|\
177 whr-300hp2|\
178 whr-600d|\
179 whr-g300n|\
180 widora,neo-16m|\
181 widora,neo-32m|\
182 mqmaker,witi-256m|\
183 mqmaker,witi-512m|\
184 wizfi630a|\
185 wl-330n|\
186 wl-330n3g|\
187 wl-341v3|\
188 wl-351|\
189 wl-wn575a3|\
190 wli-tx4-ag300n|\
191 wlr-6000|\
192 wmdr-143n|\
193 wmr-300|\
194 wn3000rpv3|\
195 wnce2001|\
196 wndr3700v5|\
197 wr512-3gn-4M|\
198 wr512-3gn-8M|\
199 wr6202|\
200 wrh-300cr|\
201 wrtnode|\
202 wrtnode2r |\
203 wrtnode2p |\
204 wsr-600|\
205 wt1520-4M|\
206 wt1520-8M|\
207 wt3020-4M|\
208 wt3020-8M|\
209 wzr-agl300nh|\
210 x5|\
211 x8|\
212 y1|\
213 y1s|\
214 youhua,wr1200js|\
215 we1026-5g-16m|\
216 zbt-ape522ii|\
217 zbt-cpe102|\
218 zbt-wa05|\
219 zbtlink,zbt-we1226|\
220 zbt-we1326|\
221 zbt-we2026|\
222 zbtlink,zbt-we3526|\
223 zbt-we826-16M|\
224 zbt-we826-32M|\
225 zbt-wg2626|\
226 zbt-wg3526-16M|\
227 zbt-wg3526-32M|\
228 zbt-wr8305rt|\
229 zorlik,zl5900v2|\
230 zte-q7|\
231 zyxel,keenetic-extra-ii|\
232 youku-yk1)
233 [ "$magic" != "27051956" ] && {
234 echo "Invalid image type."
235 return 1
236 }
237 return 0
238 ;;
239 3g-6200n|\
240 3g-6200nl|\
241 br-6475nd)
242 [ "$magic" != "43535953" ] && {
243 echo "Invalid image type."
244 return 1
245 }
246 return 0
247 ;;
248
249 ar670w)
250 [ "$magic" != "6d000080" ] && {
251 echo "Invalid image type."
252 return 1
253 }
254 return 0
255 ;;
256 c20i|\
257 c50|\
258 mr200|\
259 tplink,c2-v1|\
260 tplink,c20-v1|\
261 tplink,c20-v4|\
262 tplink,c50-v3|\
263 tplink,tl-mr3420-v5|\
264 tplink,tl-wa801nd-v5|\
265 tplink,tl-wr842n-v5|\
266 tplink,tl-wr902ac-v3|\
267 tl-wr840n-v4|\
268 tl-wr840n-v5|\
269 tl-wr841n-v13)
270 [ "$magic" != "03000000" ] && {
271 echo "Invalid image type."
272 return 1
273 }
274 return 0
275 ;;
276 cy-swr1100|\
277 dch-m225|\
278 dir-610-a1|\
279 dir-645|\
280 dir-860l-b1)
281 [ "$magic" != "5ea3a417" ] && {
282 echo "Invalid image type."
283 return 1
284 }
285 return 0
286 ;;
287 dlink,dwr-116-a1|\
288 dlink,dwr-921-c1|\
289 dwr-512-b)
290 [ "$magic" != "0404242b" ] && {
291 echo "Invalid image type."
292 return 1
293 }
294 return 0
295 ;;
296 hc5962|\
297 mir3g|\
298 r6220|\
299 ubnt-erx|\
300 ubnt-erx-sfp)
301 nand_do_platform_check "$board" "$1"
302 return $?;
303 ;;
304 mikrotik,rbm11g|\
305 mikrotik,rbm33g|\
306 re350-v1)
307 [ "$magic" != "01000000" ] && {
308 echo "Invalid image type."
309 return 1
310 }
311 return 0
312 ;;
313 wcr-1166ds|\
314 wsr-1166)
315 [ "$magic" != "48445230" ] && {
316 echo "Invalid image type."
317 return 1
318 }
319 return 0
320 ;;
321 esac
322
323 echo "Sysupgrade is not yet supported on $board."
324 return 1
325 }
326
327 platform_pre_upgrade() {
328 local board=$(board_name)
329
330 case "$board" in
331 mikrotik,rbm11g|\
332 mikrotik,rbm33g)
333 [ -z "$(rootfs_type)" ] && mtd erase firmware
334 ;;
335 esac
336 }
337
338 platform_nand_pre_upgrade() {
339 local board=$(board_name)
340
341 case "$board" in
342 ubnt-erx|\
343 ubnt-erx-sfp)
344 platform_upgrade_ubnt_erx "$ARGV"
345 ;;
346 esac
347 }
348
349 platform_do_upgrade() {
350 local board=$(board_name)
351
352 case "$board" in
353 hc5962|\
354 mir3g|\
355 r6220|\
356 ubnt-erx|\
357 ubnt-erx-sfp)
358 nand_do_upgrade "$ARGV"
359 ;;
360 *)
361 default_do_upgrade "$ARGV"
362 ;;
363 esac
364 }
365
366 blink_led() {
367 . /etc/diag.sh; set_state upgrade
368 }
369
370 append sysupgrade_pre_upgrade blink_led