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