d064bfef3b88ca849dbd36406508e13bca5c063e
[openwrt/staging/wigyori.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,c50-v3|\
179 tplink,tl-mr3420-v5|\
180 tl-wr840n-v4|\
181 tl-wr840n-v5|\
182 tl-wr841n-v13|\
183 u7628-01-128M-16M|\
184 ubnt-erx|\
185 ubnt-erx-sfp|\
186 ur-326n4g|\
187 wrtnode|\
188 wrtnode2p | \
189 wrtnode2r | \
190 wt3020-4M|\
191 wt3020-8M|\
192 zbt-wa05)
193 ucidef_add_switch "switch0" \
194 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
195 ;;
196 c50|\
197 tplink,c20-v1)
198 ucidef_add_switch "switch0" \
199 "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
200 ;;
201 dir-860l-b1)
202 ucidef_add_switch "switch0" \
203 "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
204 ;;
205 gb-pc1)
206 ucidef_add_switch "switch0" \
207 "0:lan" "4:lan" "6@eth0"
208 ;;
209 gl-mt300n-v2)
210 ucidef_add_switch "switch0" \
211 "1:lan" "0:wan" "6@eth0"
212 ;;
213 awapn2403)
214 ucidef_add_switch "switch0" \
215 "0:lan" "1:wan" "6@eth0"
216 ;;
217 b2c|\
218 nw718|\
219 psr-680w|\
220 sl-r7205|\
221 ur-336un|\
222 w502u|\
223 wr6202)
224 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
225 ;;
226 br-6475nd)
227 ucidef_add_switch "switch0" \
228 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
229 ;;
230 c108|\
231 cf-wr800n)
232 ucidef_add_switch "switch0" \
233 "4:lan" "6t@eth0"
234 ;;
235 cy-swr1100)
236 ucidef_add_switch "switch0" \
237 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
238 ;;
239 cs-qr10|\
240 d105|\
241 dch-m225|\
242 ex2700|\
243 ex3700|\
244 hpm|\
245 mzk-ex300np|\
246 mzk-ex750np|\
247 na930|\
248 pbr-d1|\
249 u25awf-h1|\
250 wli-tx4-ag300n|\
251 wmdr-143n|\
252 wmr-300|\
253 wn3000rpv3|\
254 wrh-300cr)
255 ucidef_set_interface_lan "eth0"
256 ;;
257 duzun-dm06)
258 ucidef_add_switch "switch0" \
259 "1:lan" "0:wan" "6@eth0"
260 ;;
261 e1700|\
262 mt7620a_mt7530)
263 ucidef_add_switch "switch1" \
264 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
265 ;;
266 hc5*61|\
267 y1s)
268 ucidef_add_switch "switch0" \
269 "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
270 ;;
271 kn_rf)
272 ucidef_add_switch "switch0" \
273 "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
274 ;;
275 kng_rc)
276 ucidef_add_switch "switch1" \
277 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
278 ;;
279 mlwg2|\
280 wizard8800|\
281 wl-330n)
282 ucidef_set_interface_lan "eth0.1"
283 ;;
284 mr200)
285 ucidef_add_switch "switch0" \
286 "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
287 ucidef_set_interface_wan "usb0"
288 ;;
289 mzk-dp150n|\
290 vocore-8M|\
291 vocore-16M)
292 ucidef_add_switch "switch0" \
293 "0:lan" "4:lan" "6t@eth0"
294 ;;
295 newifi-d1)
296 ucidef_add_switch "switch0" \
297 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
298 ;;
299 re350-v1)
300 ucidef_add_switch "switch0" \
301 "0:lan" "6@eth0"
302 ;;
303 re6500)
304 ucidef_add_switch "switch0" \
305 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
306 ;;
307 rt-n56u)
308 ucidef_add_switch "switch0" \
309 "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
310 ;;
311 tew-638apb-v2)
312 ucidef_add_switch "switch0" \
313 "4:lan" "6@eth0"
314 ;;
315 tew-691gr|\
316 tew-692gr|\
317 wlr-6000)
318 ucidef_add_switch "switch0" \
319 "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
320 ;;
321 vonets,var11n-300)
322 ucidef_add_switch "switch0" \
323 "0:lan" "4:wan" "6@eth0"
324 ;;
325 vocore2|\
326 vocore2lite)
327 ucidef_add_switch "switch0" \
328 "0:lan" "2:lan" "6t@eth0"
329 ;;
330 f5d8235-v1|\
331 tew-714tru|\
332 v11st-fe|\
333 wzr-agl300nh)
334 ucidef_add_switch "switch0" \
335 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
336 ;;
337 wcr-1166ds)
338 ucidef_add_switch "switch0" \
339 "3:lan" "4:wan" "6@eth0"
340 ;;
341 wcr-150gn|\
342 we1026-5g-16m)
343 ucidef_add_switch "switch0" \
344 "0:lan" "6t@eth0"
345 ;;
346 whr-1166d)
347 ucidef_add_switch "switch0" \
348 "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
349 ;;
350 wizfi630a)
351 ucidef_add_switch "switch0" \
352 "1:lan" "2:lan" "0:wan" "6@eth0"
353 ;;
354 zbtlink,zbt-we1226|\
355 y1)
356 ucidef_add_switch "switch0" \
357 "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
358 ;;
359 *)
360 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
361 if [ -n "${RT3X5X}" ]; then
362 ramips_setup_rt3x5x_vlans
363 else
364 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
365 fi
366 ;;
367 esac
368 }
369
370 ramips_setup_macs()
371 {
372 local board="$1"
373 local lan_mac=""
374 local wan_mac=""
375
376 case $board in
377 a5-v11|\
378 ht-tm02|\
379 wmdr-143n)
380 lan_mac=$(cat /sys/class/net/eth0/address)
381 ;;
382 all0239-3g|\
383 carambola|\
384 freestation5|\
385 w502u|\
386 wnce2001)
387 wan_mac=$(mtd_get_mac_binary factory 46)
388 ;;
389 bc2|\
390 broadway|\
391 d105|\
392 dir-300-b7|\
393 dir-320-b1|\
394 dir-620-a1|\
395 esr-9753|\
396 freestation5|\
397 hlk-rm04|\
398 mpr-a1|\
399 psr-680w|\
400 sl-r7205|\
401 y1|\
402 y1s)
403 lan_mac=$(cat /sys/class/net/eth0/address)
404 lan_mac=$(macaddr_setbit_la "$lan_mac")
405 wan_mac=$(macaddr_add "$lan_mac" 1)
406 ;;
407 br-6475nd)
408 lan_mac=$(cat /sys/class/net/eth0/address)
409 wan_mac=$(mtd_get_mac_binary devdata 7)
410 ;;
411 cy-swr1100|\
412 dch-m225)
413 lan_mac=$(mtd_get_mac_ascii factory lanmac)
414 ;;
415 dir-645)
416 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
417 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
418 ;;
419 dir-860l-b1)
420 lan_mac=$(mtd_get_mac_ascii factory lanmac)
421 wan_mac=$(mtd_get_mac_ascii factory wanmac)
422 ;;
423 e1700)
424 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
425 ;;
426 gl-mt300n-v2)
427 wan_mac=$(mtd_get_mac_binary factory 4)
428 ;;
429 hc5*61|\
430 hc5661a|\
431 hc5962)
432 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
433 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
434 wan_mac=$(macaddr_add "$lan_mac" 1)
435 ;;
436 kn_rc|\
437 kn_rf|\
438 kng_rc)
439 wan_mac=$(mtd_get_mac_binary factory 40)
440 ;;
441 linkits7688)
442 wan_mac=$(mtd_get_mac_binary factory 4)
443 lan_mac=$(mtd_get_mac_binary factory 46)
444 ;;
445 mac1200rv2)
446 lan_mac=$(mtd_get_mac_binary factory_info 13)
447 wan_mac=$(macaddr_add "$lan_mac" 1)
448 ;;
449 mir3g)
450 lan_mac=$(mtd_get_mac_binary Factory 0xe006)
451 ;;
452 miwifi-mini)
453 wan_mac=$(cat /sys/class/net/eth0/address)
454 lan_mac=$(macaddr_setbit_la "$wan_mac")
455 ;;
456 m3|\
457 m4-4M|\
458 m4-8M|\
459 x5|\
460 x8)
461 lan_mac=$(cat /sys/class/net/eth0/address)
462 lan_mac=$(macaddr_add "$lan_mac" -2)
463 ;;
464 newifi-d1)
465 lan_mac=$(cat /sys/class/net/eth0/address)
466 lan_mac=$(macaddr_add "$lan_mac" 2)
467 ;;
468 omega2|\
469 omega2p)
470 wan_mac=$(mtd_get_mac_binary factory 4)
471 lan_mac=$(mtd_get_mac_binary factory 46)
472 ;;
473 oy-0001)
474 lan_mac=$(mtd_get_mac_binary factory 40)
475 wan_mac=$(mtd_get_mac_binary factory 46)
476 ;;
477 r6220)
478 wan_mac=$(mtd_get_mac_binary factory 4)
479 lan_mac=$(macaddr_add "$wan_mac" 1)
480 ;;
481 rt-n56u)
482 lan_mac=$(cat /sys/class/net/eth0/address)
483 lan_mac=$(macaddr_setbit_la "$lan_mac")
484 wan_mac=$(mtd_get_mac_binary factory 32772)
485 ;;
486 sk-wb8)
487 wan_mac=$(mtd_get_mac_binary factory 57350)
488 ;;
489 tew-691gr)
490 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
491 ;;
492 tew-692gr)
493 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
494 ;;
495 tiny-ac)
496 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
497 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
498 ;;
499 vr500)
500 lan_mac=$(mtd_get_mac_binary factory 57344)
501 wan_mac=$(mtd_get_mac_binary factory 57350)
502 ;;
503 w306r-v20)
504 lan_mac=$(cat /sys/class/net/eth0/address)
505 wan_mac=$(macaddr_add "$lan_mac" 5)
506 ;;
507 wcr-1166ds|\
508 wsr-1166)
509 local index="$(find_mtd_index "board_data")"
510 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
511 lan_mac=$wan_mac
512 ;;
513 wcr-150gn)
514 wan_mac=$(mtd_get_mac_binary factory 40)
515 ;;
516 whr-1166d|\
517 whr-300hp2|\
518 whr-600d|\
519 wsr-600)
520 wan_mac=$(mtd_get_mac_binary factory 4)
521 lan_mac=$wan_mac
522 ;;
523 wizfi630a)
524 lan_mac=$(mtd_get_mac_binary factory 4)
525 wan_mac=$(mtd_get_mac_binary factory 40)
526 ;;
527 wlr-6000)
528 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
529 ;;
530 *)
531 lan_mac=$(cat /sys/class/net/eth0/address)
532 wan_mac=$(macaddr_add "$lan_mac" 1)
533 ;;
534 esac
535
536 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
537 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
538 }
539
540 board_config_update
541 board=$(board_name)
542 ramips_setup_interfaces $board
543 ramips_setup_macs $board
544 board_config_flush
545
546 exit 0