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