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