ramips: add support for ASUS RT-AC57U
[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-ac57u|\
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-ac57u|\
526         planex,vr500)
527                 lan_mac=$(mtd_get_mac_binary factory 57344)
528                 wan_mac=$(mtd_get_mac_binary factory 57350)
529                 ;;
530         asus,rt-n56u)
531                 lan_mac=$(cat /sys/class/net/eth0/address)
532                 lan_mac=$(macaddr_setbit_la "$lan_mac")
533                 wan_mac=$(mtd_get_mac_binary factory 32772)
534                 ;;
535         belkin,f9k1109v1)
536                 wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
537                 lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
538                 ;;
539         buffalo,wcr-1166ds|\
540         buffalo,wsr-1166dhp)
541                 local index="$(find_mtd_index "board_data")"
542                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
543                 lan_mac=$wan_mac
544                 ;;
545         buffalo,whr-1166d|\
546         buffalo,whr-300hp2|\
547         buffalo,whr-600d|\
548         buffalo,wsr-600dhp)
549                 wan_mac=$(mtd_get_mac_binary factory 4)
550                 lan_mac=$wan_mac
551                 ;;
552         buffalo,whr-g300n|\
553         glinet,gl-mt300n-v2)
554                 wan_mac=$(mtd_get_mac_binary factory 4)
555                 ;;
556         dlink,dch-m225|\
557         samsung,cy-swr1100)
558                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
559                 ;;
560         dlink,dir-510l|\
561         dlink,dwr-116-a1|\
562         dlink,dwr-118-a1|\
563         dlink,dwr-118-a2|\
564         dlink,dwr-921-c1|\
565         dlink,dwr-922-e2|\
566         lava,lr-25g001)
567                 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
568                 lan_mac=$(macaddr_add "$wan_mac" 1)
569                 ;;
570         dlink,dir-645)
571                 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
572                 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
573                 ;;
574         dlink,dir-860l-b1)
575                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
576                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
577                 ;;
578         dovado,tiny-ac)
579                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
580                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
581                 ;;
582         edimax,br-6475nd)
583                 lan_mac=$(cat /sys/class/net/eth0/address)
584                 wan_mac=$(mtd_get_mac_binary devdata 7)
585                 ;;
586         edimax,br-6478ac-v2)
587                 lan_mac=$(cat /sys/class/net/eth0/address)
588                 wan_mac=$(macaddr_add "$lan_mac" 2)
589                 ;;
590         elecom,wrc-1167ghbk2-s|\
591         elecom,wrc-1900gst|\
592         elecom,wrc-2533gst|\
593         samknows,whitebox-v8)
594                 wan_mac=$(mtd_get_mac_binary factory 57350)
595                 ;;
596         hiwifi,hc5661|\
597         hiwifi,hc5661a|\
598         hiwifi,hc5761|\
599         hiwifi,hc5861|\
600         hiwifi,hc5861b|\
601         hiwifi,hc5962)
602                 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
603                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
604                 wan_mac=$(macaddr_add "$lan_mac" 1)
605                 ;;
606         hootoo,ht-tm02|\
607         loewe,wmdr-143n|\
608         unbranded,a5-v11)
609                 lan_mac=$(cat /sys/class/net/eth0/address)
610                 ;;
611         iodata,wn-ac1167gr|\
612         iodata,wn-ac733gr3)
613                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" -1)
614                 ;;
615         iodata,wn-ax1167gr|\
616         iodata,wn-gx300gr)
617                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
618                 ;;
619         lenovo,newifi-d1)
620                 lan_mac=$(cat /sys/class/net/eth0/address)
621                 lan_mac=$(macaddr_add "$lan_mac" 2)
622                 ;;
623         linksys,e1700)
624                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
625                 ;;
626         mediatek,linkit-smart-7688)
627                 wan_mac=$(mtd_get_mac_binary factory 4)
628                 lan_mac=$(mtd_get_mac_binary factory 46)
629                 ;;
630         mercury,mac1200r-v2)
631                 lan_mac=$(mtd_get_mac_binary factory_info 13)
632                 wan_mac=$(macaddr_add "$lan_mac" 1)
633                 ;;
634         netgear,r6220|\
635         netgear,r6350|\
636         netgear,wndr3700-v5)
637                 wan_mac=$(mtd_get_mac_binary factory 4)
638                 lan_mac=$(macaddr_add "$wan_mac" 1)
639                 ;;
640         ohyeah,oy-0001|\
641         phicomm,k2g)
642                 lan_mac=$(mtd_get_mac_binary factory 40)
643                 wan_mac=$(mtd_get_mac_binary factory 46)
644                 ;;
645         onion,omega2|\
646         onion,omega2p)
647                 wan_mac=$(mtd_get_mac_binary factory 4)
648                 lan_mac=$(mtd_get_mac_binary factory 46)
649                 ;;
650         poray,m3|\
651         poray,m4-4m|\
652         poray,m4-8m|\
653         poray,x5|\
654         poray,x8)
655                 lan_mac=$(cat /sys/class/net/eth0/address)
656                 lan_mac=$(macaddr_add "$lan_mac" -2)
657                 ;;
658         sitecom,wlr-6000)
659                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
660                 ;;
661         skylab,skw92a)
662                 lan_mac=$(mtd_get_mac_binary factory 40)
663                 wan_mac=$(mtd_get_mac_binary factory 46)
664                 ;;
665         sparklan,wcr-150gn)
666                 wan_mac=$(mtd_get_mac_binary factory 40)
667                 ;;
668         tenda,w306r-v2)
669                 lan_mac=$(cat /sys/class/net/eth0/address)
670                 wan_mac=$(macaddr_add "$lan_mac" 5)
671                 ;;
672         trendnet,tew-691gr)
673                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
674                 ;;
675         trendnet,tew-692gr)
676                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
677                 ;;
678         wiznet,wizfi630a)
679                 lan_mac=$(mtd_get_mac_binary factory 4)
680                 wan_mac=$(mtd_get_mac_binary factory 40)
681                 ;;
682         xiaomi,mir3g|\
683         xiaomi,mir3p)
684                 lan_mac=$(mtd_get_mac_binary Factory 0xe006)
685                 ;;
686         xiaomi,miwifi-mini)
687                 wan_mac=$(cat /sys/class/net/eth0/address)
688                 lan_mac=$(macaddr_setbit_la "$wan_mac")
689                 ;;
690         zyxel,keenetic-omni|\
691         zyxel,keenetic-omni-ii|\
692         zyxel,keenetic-viva)
693                 wan_mac=$(mtd_get_mac_binary factory 40)
694                 ;;
695         zyxel,keenetic-start)
696                 wan_mac=$(mtd_get_mac_binary factory 40)
697                 ;;
698         *)
699                 lan_mac=$(cat /sys/class/net/eth0/address)
700                 wan_mac=$(macaddr_add "$lan_mac" 1)
701                 ;;
702         esac
703
704         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
705         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
706 }
707
708 board_config_update
709 board=$(board_name)
710 ramips_setup_interfaces $board
711 ramips_setup_macs $board
712 board_config_flush
713
714 exit 0