ramips: add support for CreativeBox v1
[openwrt/openwrt.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 d-team,newifi-d2|\
36 w2914nsv2|\
37 zbt-we2026)
38 ucidef_add_switch "switch0" \
39 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
40 ;;
41 3g150b|\
42 3g300m|\
43 a5-v11|\
44 all0256n-4M|\
45 all0256n-8M|\
46 all5002|\
47 all5003|\
48 bocco|\
49 broadway|\
50 dcs-930|\
51 dcs-930l-b1|\
52 ht-tm02|\
53 kimax,u35wf|\
54 linkits7688 | \
55 m2m|\
56 microwrt|\
57 mikrotik,rbm11g|\
58 mpr-a2|\
59 ncs601w|\
60 omega2 | \
61 omega2p | \
62 timecloud|\
63 tplink,tl-wa801nd-v5|\
64 w150m|\
65 widora,neo-16m|\
66 widora,neo-32m|\
67 wnce2001|\
68 zbt-cpe102|\
69 zorlik,zl5900v2|\
70 zte-q7)
71 ucidef_add_switch "switch0"
72 ucidef_add_switch_attr "switch0" "enable" "false"
73 ucidef_set_interface_lan "eth0"
74 ;;
75 mlw221|\
76 mr-102n)
77 ucidef_set_interface_lan "eth0.2"
78 ;;
79 3g-6200n|\
80 ai-br100|\
81 alfa-network,ac1200rm|\
82 mediatek,ap-mt7621a-v60|\
83 xzwifi,creativebox-v1|\
84 d240|\
85 db-wrt01|\
86 dir-300-b7|\
87 dir-320-b1|\
88 dir-610-a1|\
89 dir-615-h1|\
90 dir-810l|\
91 dlink,dwr-116-a1|\
92 dlink,dwr-921-c1|\
93 ew1200|\
94 firewrt|\
95 hc5661a|\
96 hc5962|\
97 hlk-rm04|\
98 k2p|\
99 kn|\
100 kn_rc|\
101 mac1200rv2|\
102 miwifi-mini|\
103 miwifi-nano|\
104 mt7621|\
105 mt7628|\
106 mtc,wr1201|\
107 mzk-750dhp|\
108 mzk-w300nh2|\
109 netgear,r6120|\
110 nixcore-x1-8M|\
111 nixcore-x1-16M|\
112 oy-0001|\
113 pbr-m1|\
114 psg1208|\
115 psg1218a|\
116 r6220|\
117 netgear,r6350|\
118 rt-n12p|\
119 sap-g3200u3|\
120 sk-wb8|\
121 unielec,u7621-06-256m-16m|\
122 unielec,u7621-06-512m-64m|\
123 vr500|\
124 wavlink,wl-wn570ha1|\
125 wf-2881|\
126 whr-g300n|\
127 mqmaker,witi-256m|\
128 mqmaker,witi-512m|\
129 wl-wn575a3|\
130 wndr3700v5|\
131 youku-yk1|\
132 zbt-ape522ii|\
133 zbt-we1326|\
134 zbtlink,zbt-we3526|\
135 zbt-we826-16M|\
136 zbt-we826-32M|\
137 zbt-wg2626|\
138 zbt-wg3526-16M|\
139 zbt-wg3526-32M|\
140 zbt-wr8305rt)
141 ucidef_add_switch "switch0" \
142 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
143 ;;
144 alfa-network,awusfree1|\
145 cs-qr10|\
146 d105|\
147 dlink,dap-1522-a1|\
148 dch-m225|\
149 ex2700|\
150 ex3700|\
151 hpm|\
152 mzk-ex300np|\
153 mzk-ex750np|\
154 na930|\
155 pbr-d1|\
156 ravpower,wd03|\
157 tama,w06|\
158 tplink,tl-mr3020-v3|\
159 u25awf-h1|\
160 wli-tx4-ag300n|\
161 wmdr-143n|\
162 wmr-300|\
163 wn3000rpv3|\
164 wrh-300cr)
165 ucidef_set_interface_lan "eth0"
166 ;;
167 dlink,dwr-118-a1)
168 ucidef_add_switch "switch0" \
169 "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
170 ;;
171 dlink,dwr-118-a2)
172 ucidef_add_switch "switch0" \
173 "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
174 ;;
175 mir3g)
176 ucidef_add_switch "switch0" \
177 "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
178 ;;
179 psg1218b)
180 ucidef_add_switch "switch0" \
181 "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
182 ;;
183 whr-300hp2|\
184 whr-600d|\
185 wsr-1166|\
186 wsr-600)
187 ucidef_add_switch "switch0" \
188 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
189 ;;
190 ar670w|\
191 ar725w|\
192 rt-ac51u)
193 ucidef_add_switch "switch0" \
194 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
195 ;;
196 rt-n15|\
197 wl-351)
198 ucidef_add_switch "switch0" \
199 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
200 ;;
201 asl26555-8M|\
202 asl26555-16M|\
203 rp-n53)
204 ucidef_add_switch "switch0" \
205 "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
206 ;;
207 atp-52b|\
208 awm002-evb-4M|\
209 awm002-evb-8M|\
210 bdcom,wap2100-sk|\
211 c20i|\
212 dir-645|\
213 gl-mt300a|\
214 gl-mt300n|\
215 gl-mt750|\
216 hiwifi,hc5861b|\
217 jhr-n805r|\
218 jhr-n825r|\
219 jhr-n926r|\
220 mikrotik,rbm33g|\
221 mzk-wdpr|\
222 rb750gr3|\
223 rt-n14u|\
224 skylab,skw92a|\
225 tplink,c20-v4|\
226 tplink,c50-v3|\
227 tplink,tl-mr3420-v5|\
228 tplink,tl-wr842n-v5|\
229 tl-wr840n-v4|\
230 tl-wr840n-v5|\
231 tl-wr841n-v13|\
232 u7628-01-128M-16M|\
233 ubnt-erx|\
234 ubnt-erx-sfp|\
235 ur-326n4g|\
236 wrtnode|\
237 wrtnode2p | \
238 wrtnode2r | \
239 youhua,wr1200js|\
240 zbt-wa05|\
241 zyxel,keenetic-extra-ii)
242 ucidef_add_switch "switch0" \
243 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
244 ;;
245 c50|\
246 tplink,c20-v1)
247 ucidef_add_switch "switch0" \
248 "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
249 ;;
250 dir-860l-b1|\
251 elecom,wrc-1167ghbk2-s|\
252 elecom,wrc-2533gst|\
253 elecom,wrc-1900gst|\
254 hg255d|\
255 iodata,wn-ax1167gr|\
256 iodata,wn-gx300gr)
257 ucidef_add_switch "switch0" \
258 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
259 ;;
260 gnubee,gb-pc1|\
261 gnubee,gb-pc2)
262 ucidef_add_switch "switch0" \
263 "0:lan" "4:lan" "6@eth0"
264 ;;
265 gl-mt300n-v2)
266 ucidef_add_switch "switch0" \
267 "1:lan" "0:wan" "6@eth0"
268 ;;
269 awapn2403)
270 ucidef_add_switch "switch0" \
271 "0:lan" "1:wan" "6@eth0"
272 ;;
273 b2c|\
274 nw718|\
275 psr-680w|\
276 sl-r7205|\
277 ur-336un|\
278 w502u|\
279 wr6202)
280 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
281 ;;
282 br-6475nd)
283 ucidef_add_switch "switch0" \
284 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
285 ;;
286 c108|\
287 cf-wr800n)
288 ucidef_add_switch "switch0" \
289 "4:lan" "6t@eth0"
290 ;;
291 cy-swr1100)
292 ucidef_add_switch "switch0" \
293 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
294 ;;
295 duzun-dm06)
296 ucidef_add_switch "switch0" \
297 "1:lan" "0:wan" "6@eth0"
298 ;;
299 e1700|\
300 mt7620a_mt7530)
301 ucidef_add_switch "switch1" \
302 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
303 ;;
304 edimax,br-6478ac-v2|\
305 tplink,c2-v1)
306 ucidef_add_switch "switch1" \
307 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
308 ;;
309 hc5661|\
310 hc5861|\
311 y1s)
312 ucidef_add_switch "switch0" \
313 "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
314 ;;
315 kn_rf)
316 ucidef_add_switch "switch0" \
317 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
318 ;;
319 kng_rc)
320 ucidef_add_switch "switch1" \
321 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
322 ;;
323 mlwg2|\
324 wizard8800|\
325 wl-330n)
326 ucidef_set_interface_lan "eth0.1"
327 ;;
328 mr200)
329 ucidef_add_switch "switch0" \
330 "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
331 ucidef_set_interface_wan "usb0"
332 ;;
333 hc5761)
334 ucidef_add_switch "switch0" \
335 "1:lan" "4:lan" "0:wan" "6@eth0"
336 ;;
337 mzk-dp150n|\
338 vocore-8M|\
339 vocore-16M)
340 ucidef_add_switch "switch0" \
341 "0:lan" "4:lan" "6t@eth0"
342 ;;
343 newifi-d1)
344 ucidef_add_switch "switch0" \
345 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
346 ;;
347 phicomm,k2g)
348 ucidef_add_switch "switch0" \
349 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
350 ;;
351 re350-v1)
352 ucidef_add_switch "switch0" \
353 "0:lan" "6@eth0"
354 ;;
355 re6500)
356 ucidef_add_switch "switch0" \
357 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
358 ;;
359 rt-n56u)
360 ucidef_add_switch "switch0" \
361 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
362 ;;
363 tew-638apb-v2)
364 ucidef_add_switch "switch0" \
365 "4:lan" "6@eth0"
366 ;;
367 lava,lr-25g001|\
368 tew-691gr|\
369 tew-692gr|\
370 wlr-6000)
371 ucidef_add_switch "switch0" \
372 "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
373 ;;
374 tplink,tl-wr902ac-v3)
375 ucidef_add_switch "switch0" \
376 "4:lan" "6@eth0"
377 ;;
378 vonets,var11n-300|\
379 wt1520-4M|\
380 wt1520-8M)
381 ucidef_add_switch "switch0" \
382 "0:lan" "4:wan" "6@eth0"
383 ;;
384 vocore2|\
385 vocore2lite)
386 ucidef_add_switch "switch0" \
387 "0:lan" "2:lan" "6t@eth0"
388 ;;
389 f5d8235-v1|\
390 f5d8235-v2|\
391 tew-714tru|\
392 v11st-fe|\
393 wzr-agl300nh)
394 ucidef_add_switch "switch0" \
395 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
396 ;;
397 wcr-1166ds)
398 ucidef_add_switch "switch0" \
399 "3:lan" "4:wan" "6@eth0"
400 ;;
401 wcr-150gn|\
402 we1026-5g-16m)
403 ucidef_add_switch "switch0" \
404 "0:lan" "6t@eth0"
405 ;;
406 whr-1166d)
407 ucidef_add_switch "switch0" \
408 "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
409 ;;
410 wizfi630a)
411 ucidef_add_switch "switch0" \
412 "0:lan" "1:lan" "2:wan" "6@eth0"
413 ;;
414 wt3020-4M|\
415 wt3020-8M)
416 ucidef_add_switch "switch0" \
417 "4:lan" "0:wan" "6@eth0"
418 ;;
419 zbtlink,zbt-we1226|\
420 y1)
421 ucidef_add_switch "switch0" \
422 "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
423 ;;
424 *)
425 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
426 if [ -n "${RT3X5X}" ]; then
427 ramips_setup_rt3x5x_vlans
428 else
429 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
430 fi
431 ;;
432 esac
433 }
434
435 ramips_setup_macs()
436 {
437 local board="$1"
438 local lan_mac=""
439 local wan_mac=""
440
441 case $board in
442 a5-v11|\
443 ht-tm02|\
444 wmdr-143n)
445 lan_mac=$(cat /sys/class/net/eth0/address)
446 ;;
447 carambola|\
448 freestation5|\
449 w502u|\
450 wnce2001)
451 wan_mac=$(mtd_get_mac_binary factory 46)
452 ;;
453 bc2|\
454 broadway|\
455 d105|\
456 dir-300-b7|\
457 dir-320-b1|\
458 dir-620-a1|\
459 esr-9753|\
460 freestation5|\
461 hlk-rm04|\
462 mpr-a1|\
463 psr-680w|\
464 sl-r7205|\
465 y1|\
466 y1s)
467 lan_mac=$(cat /sys/class/net/eth0/address)
468 lan_mac=$(macaddr_setbit_la "$lan_mac")
469 wan_mac=$(macaddr_add "$lan_mac" 1)
470 ;;
471 br-6475nd)
472 lan_mac=$(cat /sys/class/net/eth0/address)
473 wan_mac=$(mtd_get_mac_binary devdata 7)
474 ;;
475 cy-swr1100|\
476 dch-m225)
477 lan_mac=$(mtd_get_mac_ascii factory lanmac)
478 ;;
479 dir-645)
480 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
481 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
482 ;;
483 dir-860l-b1)
484 lan_mac=$(mtd_get_mac_ascii factory lanmac)
485 wan_mac=$(mtd_get_mac_ascii factory wanmac)
486 ;;
487 dlink,dwr-116-a1|\
488 dlink,dwr-118-a1|\
489 dlink,dwr-118-a2|\
490 dlink,dwr-921-c1|\
491 lava,lr-25g001)
492 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
493 lan_mac=$(macaddr_add "$wan_mac" 1)
494 ;;
495 e1700)
496 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
497 ;;
498 edimax,br-6478ac-v2)
499 lan_mac=$(cat /sys/class/net/eth0/address)
500 wan_mac=$(macaddr_add "$lan_mac" 2)
501 ;;
502 elecom,wrc-1167ghbk2-s|\
503 elecom,wrc-2533gst|\
504 elecom,wrc-1900gst|\
505 sk-wb8)
506 wan_mac=$(mtd_get_mac_binary factory 57350)
507 ;;
508 gl-mt300n-v2|\
509 whr-g300n)
510 wan_mac=$(mtd_get_mac_binary factory 4)
511 ;;
512 hc5*61|\
513 hc5661a|\
514 hc5962|\
515 hiwifi,hc5861b)
516 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
517 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
518 wan_mac=$(macaddr_add "$lan_mac" 1)
519 ;;
520 iodata,wn-ax1167gr|\
521 iodata,wn-gx300gr)
522 wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
523 ;;
524 kn_rc|\
525 kn_rf|\
526 kng_rc)
527 wan_mac=$(mtd_get_mac_binary factory 40)
528 ;;
529 linkits7688)
530 wan_mac=$(mtd_get_mac_binary factory 4)
531 lan_mac=$(mtd_get_mac_binary factory 46)
532 ;;
533 mac1200rv2)
534 lan_mac=$(mtd_get_mac_binary factory_info 13)
535 wan_mac=$(macaddr_add "$lan_mac" 1)
536 ;;
537 mir3g)
538 lan_mac=$(mtd_get_mac_binary Factory 0xe006)
539 ;;
540 miwifi-mini)
541 wan_mac=$(cat /sys/class/net/eth0/address)
542 lan_mac=$(macaddr_setbit_la "$wan_mac")
543 ;;
544 m3|\
545 m4-4M|\
546 m4-8M|\
547 x5|\
548 x8)
549 lan_mac=$(cat /sys/class/net/eth0/address)
550 lan_mac=$(macaddr_add "$lan_mac" -2)
551 ;;
552 newifi-d1)
553 lan_mac=$(cat /sys/class/net/eth0/address)
554 lan_mac=$(macaddr_add "$lan_mac" 2)
555 ;;
556 omega2|\
557 omega2p)
558 wan_mac=$(mtd_get_mac_binary factory 4)
559 lan_mac=$(mtd_get_mac_binary factory 46)
560 ;;
561 oy-0001|\
562 phicomm,k2g)
563 lan_mac=$(mtd_get_mac_binary factory 40)
564 wan_mac=$(mtd_get_mac_binary factory 46)
565 ;;
566 r6220|\
567 netgear,r6350)
568 wan_mac=$(mtd_get_mac_binary factory 4)
569 lan_mac=$(macaddr_add "$wan_mac" 1)
570 ;;
571 rt-n56u)
572 lan_mac=$(cat /sys/class/net/eth0/address)
573 lan_mac=$(macaddr_setbit_la "$lan_mac")
574 wan_mac=$(mtd_get_mac_binary factory 32772)
575 ;;
576 skylab,skw92a)
577 lan_mac=$(mtd_get_mac_binary factory 40)
578 wan_mac=$(mtd_get_mac_binary factory 46)
579 ;;
580 tew-691gr)
581 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
582 ;;
583 tew-692gr)
584 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
585 ;;
586 tiny-ac)
587 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
588 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
589 ;;
590 vr500)
591 lan_mac=$(mtd_get_mac_binary factory 57344)
592 wan_mac=$(mtd_get_mac_binary factory 57350)
593 ;;
594 w306r-v20)
595 lan_mac=$(cat /sys/class/net/eth0/address)
596 wan_mac=$(macaddr_add "$lan_mac" 5)
597 ;;
598 wcr-1166ds|\
599 wsr-1166)
600 local index="$(find_mtd_index "board_data")"
601 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
602 lan_mac=$wan_mac
603 ;;
604 wcr-150gn)
605 wan_mac=$(mtd_get_mac_binary factory 40)
606 ;;
607 whr-1166d|\
608 whr-300hp2|\
609 whr-600d|\
610 wsr-600)
611 wan_mac=$(mtd_get_mac_binary factory 4)
612 lan_mac=$wan_mac
613 ;;
614 wizfi630a)
615 lan_mac=$(mtd_get_mac_binary factory 4)
616 wan_mac=$(mtd_get_mac_binary factory 40)
617 ;;
618 wlr-6000)
619 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
620 ;;
621 *)
622 lan_mac=$(cat /sys/class/net/eth0/address)
623 wan_mac=$(macaddr_add "$lan_mac" 1)
624 ;;
625 esac
626
627 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
628 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
629 }
630
631 board_config_update
632 board=$(board_name)
633 ramips_setup_interfaces $board
634 ramips_setup_macs $board
635 board_config_flush
636
637 exit 0