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