ramips: add support for Widora Neo 32MB flash revision
[openwrt/staging/mkresin.git] / target / linux / ramips / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions.sh
4 . /lib/functions/uci-defaults.sh
5 . /lib/functions/system.sh
6
7 ramips_setup_rt3x5x_vlans()
8 {
9 if [ ! -x /sbin/swconfig ]; then
10 # legacy default
11 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
12 return
13 fi
14 local wanports=""
15 local lanports=""
16 for port in 5 4 3 2 1 0; do
17 if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
18 continue
19 fi
20 if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
21 wanports="$port:wan $wanports"
22 else
23 lanports="$port:lan $lanports"
24 fi
25 done
26 ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
27 }
28
29 ramips_setup_interfaces()
30 {
31 local board="$1"
32
33 case $board in
34 11acnas|\
35 w2914nsv2|\
36 zbt-we2026)
37 ucidef_add_switch "switch0" \
38 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
39 ;;
40 3g150b|\
41 3g300m|\
42 a5-v11|\
43 all0256n-4M|\
44 all0256n-8M|\
45 all5002|\
46 all5003|\
47 broadway|\
48 dcs-930|\
49 dcs-930l-b1|\
50 ht-tm02|\
51 linkits7688 | \
52 m2m|\
53 microwrt|\
54 mpr-a2|\
55 ncs601w|\
56 omega2 | \
57 omega2p | \
58 timecloud|\
59 w150m|\
60 widora,neo-16m|\
61 widora,neo-32m|\
62 wnce2001|\
63 zbt-cpe102|\
64 zte-q7)
65 ucidef_add_switch "switch0"
66 ucidef_add_switch_attr "switch0" "enable" "false"
67 ucidef_set_interface_lan "eth0"
68 ;;
69 mlw221|\
70 mr-102n)
71 ucidef_set_interface_lan "eth0.2"
72 ;;
73 3g-6200n|\
74 ai-br100|\
75 alfa-network,ac1200rm|\
76 d240|\
77 db-wrt01|\
78 dir-300-b7|\
79 dir-320-b1|\
80 dir-610-a1|\
81 dir-615-h1|\
82 ew1200|\
83 firewrt|\
84 hc5661a|\
85 hc5962|\
86 hlk-rm04|\
87 k2p|\
88 kn|\
89 kn_rc|\
90 mac1200rv2|\
91 miwifi-mini|\
92 miwifi-nano|\
93 mt7621|\
94 mt7628|\
95 mzk-750dhp|\
96 mzk-w300nh2|\
97 d-team,newifi-d2|\
98 nixcore-x1-8M|\
99 nixcore-x1-16M|\
100 oy-0001|\
101 pbr-m1|\
102 psg1208|\
103 psg1218a|\
104 r6220|\
105 rt-n12p|\
106 sap-g3200u3|\
107 sk-wb8|\
108 u7621-06-256M-16M|\
109 vr500|\
110 wf-2881|\
111 witi|\
112 wl-wn575a3|\
113 wndr3700v5|\
114 wt1520-4M|\
115 wt1520-8M|\
116 youku-yk1|\
117 zbt-ape522ii|\
118 zbt-we1326|\
119 zbtlink,zbt-we3526|\
120 zbt-we826-16M|\
121 zbt-we826-32M|\
122 zbt-wg2626|\
123 zbt-wg3526-16M|\
124 zbt-wg3526-32M|\
125 zbt-wr8305rt)
126 ucidef_add_switch "switch0" \
127 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
128 ;;
129 mir3g)
130 ucidef_add_switch "switch0" \
131 "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
132 ;;
133 psg1218b)
134 ucidef_add_switch "switch0" \
135 "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
136 ;;
137 whr-300hp2|\
138 whr-600d|\
139 wsr-1166|\
140 wsr-600)
141 ucidef_add_switch "switch0" \
142 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
143 ;;
144 ar670w|\
145 ar725w|\
146 rt-ac51u)
147 ucidef_add_switch "switch0" \
148 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
149 ;;
150 rt-n15|\
151 wl-351)
152 ucidef_add_switch "switch0" \
153 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
154 ;;
155 asl26555-8M|\
156 asl26555-16M|\
157 rp-n53)
158 ucidef_add_switch "switch0" \
159 "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
160 ;;
161 atp-52b|\
162 awm002-evb-4M|\
163 awm002-evb-8M|\
164 c20i|\
165 dir-645|\
166 f5d8235-v2|\
167 gl-mt300a|\
168 gl-mt300n|\
169 gl-mt750|\
170 hg255d|\
171 jhr-n805r|\
172 jhr-n825r|\
173 jhr-n926r|\
174 mzk-wdpr|\
175 rb750gr3|\
176 rt-n14u|\
177 tplink,c20-v4|\
178 tplink,tl-mr3420-v5|\
179 tl-wr840n-v4|\
180 tl-wr840n-v5|\
181 tl-wr841n-v13|\
182 u7628-01-128M-16M|\
183 ubnt-erx|\
184 ubnt-erx-sfp|\
185 ur-326n4g|\
186 wrtnode|\
187 wrtnode2p | \
188 wrtnode2r | \
189 wt3020-4M|\
190 wt3020-8M|\
191 zbt-wa05)
192 ucidef_add_switch "switch0" \
193 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
194 ;;
195 c50|\
196 tplink,c20-v1)
197 ucidef_add_switch "switch0" \
198 "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
199 ;;
200 dir-860l-b1)
201 ucidef_add_switch "switch0" \
202 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
203 ;;
204 gb-pc1)
205 ucidef_add_switch "switch0" \
206 "0:lan" "4:lan" "6@eth0"
207 ;;
208 gl-mt300n-v2)
209 ucidef_add_switch "switch0" \
210 "1:lan" "0:wan" "6@eth0"
211 ;;
212 awapn2403)
213 ucidef_add_switch "switch0" \
214 "0:lan" "1:wan" "6@eth0"
215 ;;
216 b2c|\
217 nw718|\
218 psr-680w|\
219 sl-r7205|\
220 ur-336un|\
221 w502u|\
222 wr6202)
223 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
224 ;;
225 br-6475nd)
226 ucidef_add_switch "switch0" \
227 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
228 ;;
229 c108|\
230 cf-wr800n)
231 ucidef_add_switch "switch0" \
232 "4:lan" "6t@eth0"
233 ;;
234 cy-swr1100)
235 ucidef_add_switch "switch0" \
236 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
237 ;;
238 cs-qr10|\
239 d105|\
240 dch-m225|\
241 ex2700|\
242 ex3700|\
243 hpm|\
244 mzk-ex300np|\
245 mzk-ex750np|\
246 na930|\
247 pbr-d1|\
248 u25awf-h1|\
249 wli-tx4-ag300n|\
250 wmdr-143n|\
251 wmr-300|\
252 wn3000rpv3|\
253 wrh-300cr)
254 ucidef_set_interface_lan "eth0"
255 ;;
256 duzun-dm06)
257 ucidef_add_switch "switch0" \
258 "1:lan" "0:wan" "6@eth0"
259 ;;
260 e1700|\
261 mt7620a_mt7530)
262 ucidef_add_switch "switch1" \
263 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
264 ;;
265 hc5*61|\
266 y1s)
267 ucidef_add_switch "switch0" \
268 "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
269 ;;
270 kn_rf)
271 ucidef_add_switch "switch0" \
272 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
273 ;;
274 kng_rc)
275 ucidef_add_switch "switch1" \
276 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
277 ;;
278 mlwg2|\
279 wizard8800|\
280 wl-330n)
281 ucidef_set_interface_lan "eth0.1"
282 ;;
283 mr200)
284 ucidef_add_switch "switch0" \
285 "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
286 ucidef_set_interface_wan "usb0"
287 ;;
288 mzk-dp150n|\
289 vocore-8M|\
290 vocore-16M)
291 ucidef_add_switch "switch0" \
292 "0:lan" "4:lan" "6t@eth0"
293 ;;
294 newifi-d1)
295 ucidef_add_switch "switch0" \
296 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
297 ;;
298 re350-v1)
299 ucidef_add_switch "switch0" \
300 "0:lan" "6@eth0"
301 ;;
302 re6500)
303 ucidef_add_switch "switch0" \
304 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
305 ;;
306 rt-n56u)
307 ucidef_add_switch "switch0" \
308 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
309 ;;
310 tew-638apb-v2)
311 ucidef_add_switch "switch0" \
312 "4:lan" "6@eth0"
313 ;;
314 tew-691gr|\
315 tew-692gr|\
316 wlr-6000)
317 ucidef_add_switch "switch0" \
318 "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
319 ;;
320 vonets,var11n-300)
321 ucidef_add_switch "switch0" \
322 "0:lan" "4:wan" "6@eth0"
323 ;;
324 vocore2|\
325 vocore2lite)
326 ucidef_add_switch "switch0" \
327 "0:lan" "2:lan" "6t@eth0"
328 ;;
329 f5d8235-v1|\
330 tew-714tru|\
331 v11st-fe|\
332 wzr-agl300nh)
333 ucidef_add_switch "switch0" \
334 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
335 ;;
336 wcr-1166ds)
337 ucidef_add_switch "switch0" \
338 "3:lan" "4:wan" "6@eth0"
339 ;;
340 wcr-150gn|\
341 we1026-5g-16m)
342 ucidef_add_switch "switch0" \
343 "0:lan" "6t@eth0"
344 ;;
345 whr-1166d)
346 ucidef_add_switch "switch0" \
347 "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
348 ;;
349 wizfi630a)
350 ucidef_add_switch "switch0" \
351 "1:lan" "2:lan" "0:wan" "6@eth0"
352 ;;
353 zbt-we1226|\
354 y1)
355 ucidef_add_switch "switch0" \
356 "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
357 ;;
358 *)
359 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
360 if [ -n "${RT3X5X}" ]; then
361 ramips_setup_rt3x5x_vlans
362 else
363 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
364 fi
365 ;;
366 esac
367 }
368
369 ramips_setup_macs()
370 {
371 local board="$1"
372 local lan_mac=""
373 local wan_mac=""
374
375 case $board in
376 a5-v11|\
377 ht-tm02|\
378 wmdr-143n)
379 lan_mac=$(cat /sys/class/net/eth0/address)
380 ;;
381 all0239-3g|\
382 carambola|\
383 freestation5|\
384 w502u|\
385 wnce2001)
386 wan_mac=$(mtd_get_mac_binary factory 46)
387 ;;
388 bc2|\
389 broadway|\
390 d105|\
391 dir-300-b7|\
392 dir-320-b1|\
393 dir-620-a1|\
394 esr-9753|\
395 freestation5|\
396 hlk-rm04|\
397 mpr-a1|\
398 psr-680w|\
399 sl-r7205|\
400 y1|\
401 y1s)
402 lan_mac=$(cat /sys/class/net/eth0/address)
403 lan_mac=$(macaddr_setbit_la "$lan_mac")
404 wan_mac=$(macaddr_add "$lan_mac" 1)
405 ;;
406 br-6475nd)
407 lan_mac=$(cat /sys/class/net/eth0/address)
408 wan_mac=$(mtd_get_mac_binary devdata 7)
409 ;;
410 cy-swr1100|\
411 dch-m225)
412 lan_mac=$(mtd_get_mac_ascii factory lanmac)
413 ;;
414 dir-645)
415 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
416 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
417 ;;
418 dir-860l-b1)
419 lan_mac=$(mtd_get_mac_ascii factory lanmac)
420 wan_mac=$(mtd_get_mac_ascii factory wanmac)
421 ;;
422 e1700)
423 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
424 ;;
425 gl-mt300n-v2)
426 wan_mac=$(mtd_get_mac_binary factory 4)
427 ;;
428 hc5*61|\
429 hc5661a|\
430 hc5962)
431 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
432 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
433 wan_mac=$(macaddr_add "$lan_mac" 1)
434 ;;
435 kn_rc|\
436 kn_rf|\
437 kng_rc)
438 wan_mac=$(mtd_get_mac_binary factory 40)
439 ;;
440 linkits7688)
441 wan_mac=$(mtd_get_mac_binary factory 4)
442 lan_mac=$(mtd_get_mac_binary factory 46)
443 ;;
444 mac1200rv2)
445 lan_mac=$(mtd_get_mac_binary factory_info 13)
446 wan_mac=$(macaddr_add "$lan_mac" 1)
447 ;;
448 mir3g)
449 lan_mac=$(mtd_get_mac_binary Factory 0xe006)
450 ;;
451 miwifi-mini)
452 wan_mac=$(cat /sys/class/net/eth0/address)
453 lan_mac=$(macaddr_setbit_la "$wan_mac")
454 ;;
455 m3|\
456 m4-4M|\
457 m4-8M|\
458 x5|\
459 x8)
460 lan_mac=$(cat /sys/class/net/eth0/address)
461 lan_mac=$(macaddr_add "$lan_mac" -2)
462 ;;
463 newifi-d1)
464 lan_mac=$(cat /sys/class/net/eth0/address)
465 lan_mac=$(macaddr_add "$lan_mac" 2)
466 ;;
467 omega2|\
468 omega2p)
469 wan_mac=$(mtd_get_mac_binary factory 4)
470 lan_mac=$(mtd_get_mac_binary factory 46)
471 ;;
472 oy-0001)
473 lan_mac=$(mtd_get_mac_binary factory 40)
474 wan_mac=$(mtd_get_mac_binary factory 46)
475 ;;
476 r6220)
477 wan_mac=$(mtd_get_mac_binary factory 4)
478 lan_mac=$(macaddr_add "$wan_mac" 1)
479 ;;
480 rt-n56u)
481 lan_mac=$(cat /sys/class/net/eth0/address)
482 lan_mac=$(macaddr_setbit_la "$lan_mac")
483 wan_mac=$(mtd_get_mac_binary factory 32772)
484 ;;
485 sk-wb8)
486 wan_mac=$(mtd_get_mac_binary factory 57350)
487 ;;
488 tew-691gr)
489 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
490 ;;
491 tew-692gr)
492 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
493 ;;
494 tiny-ac)
495 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
496 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
497 ;;
498 vr500)
499 lan_mac=$(mtd_get_mac_binary factory 57344)
500 wan_mac=$(mtd_get_mac_binary factory 57350)
501 ;;
502 w306r-v20)
503 lan_mac=$(cat /sys/class/net/eth0/address)
504 wan_mac=$(macaddr_add "$lan_mac" 5)
505 ;;
506 wcr-1166ds|\
507 wsr-1166)
508 local index="$(find_mtd_index "board_data")"
509 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
510 lan_mac=$wan_mac
511 ;;
512 wcr-150gn)
513 wan_mac=$(mtd_get_mac_binary factory 40)
514 ;;
515 whr-1166d|\
516 whr-300hp2|\
517 whr-600d|\
518 wsr-600)
519 wan_mac=$(mtd_get_mac_binary factory 4)
520 lan_mac=$wan_mac
521 ;;
522 wizfi630a)
523 lan_mac=$(mtd_get_mac_binary factory 4)
524 wan_mac=$(mtd_get_mac_binary factory 40)
525 ;;
526 wlr-6000)
527 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
528 ;;
529 *)
530 lan_mac=$(cat /sys/class/net/eth0/address)
531 wan_mac=$(macaddr_add "$lan_mac" 1)
532 ;;
533 esac
534
535 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
536 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
537 }
538
539 board_config_update
540 board=$(board_name)
541 ramips_setup_interfaces $board
542 ramips_setup_macs $board
543 board_config_flush
544
545 exit 0