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