b413b434eb5556471d29f7aeb9cc0a176415358a
[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         netcore,nw718|\
37         petatel,psr-680w|\
38         skyline,sl-r7205|\
39         upvel,ur-336un)
40                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
41                 ;;
42         afoundry,ew1200|\
43         aigale,ai-br100|\
44         alfa-network,ac1200rm|\
45         asus,rt-n12p|\
46         buffalo,whr-g300n|\
47         d-team,pbr-m1|\
48         dlink,dir-300-b7|\
49         dlink,dir-320-b1|\
50         dlink,dir-610-a1|\
51         dlink,dir-615-h1|\
52         dlink,dir-810l|\
53         dlink,dwr-116-a1|\
54         dlink,dwr-921-c1|\
55         dlink,dwr-922-e2|\
56         edimax,3g-6200n|\
57         firefly,firewrt|\
58         hilink,hlk-rm04|\
59         hiwifi,hc5661a|\
60         hiwifi,hc5761a|\
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         tplink,re650-v1)
291                 ucidef_add_switch "switch0" \
292                         "0:lan" "6@eth0"
293                 ;;
294         dlink,dir-615-h1|\
295         d-team,newifi-d2|\
296         wevo,11acnas|\
297         wevo,w2914ns-v2|\
298         zbtlink,zbt-we2026)
299                 ucidef_add_switch "switch0" \
300                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
301                 ;;
302         dlink,dir-860l-b1|\
303         elecom,wrc-1167ghbk2-s|\
304         elecom,wrc-1900gst|\
305         elecom,wrc-2533gst|\
306         huawei,hg255d|\
307         iodata,wn-ax1167gr|\
308         iodata,wn-gx300gr)
309                 ucidef_add_switch "switch0" \
310                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
311                 ;;
312         dlink,dwr-118-a1)
313                 ucidef_add_switch "switch0" \
314                         "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
315                 ;;
316         dlink,dwr-118-a2)
317                 ucidef_add_switch "switch0" \
318                         "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
319                 ;;
320         duzun,dm06)
321                 ucidef_add_switch "switch0" \
322                         "1:lan" "0:wan" "6@eth0"
323                 ;;
324         edimax,br-6475nd)
325                 ucidef_add_switch "switch0" \
326                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
327                 ;;
328         edimax,br-6478ac-v2|\
329         tplink,archer-c2-v1)
330                 ucidef_add_switch "switch1" \
331                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
332                 ;;
333         fon,fon2601)
334                 ucidef_add_switch "switch0" \
335                         "0:lan" "4:wan" "6@eth0"
336                 ;;
337         gehua,ghl-r-001)
338                 ucidef_add_switch "switch0" \
339                         "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
340                 ;;
341         glinet,gl-mt300n-v2)
342                 ucidef_add_switch "switch0" \
343                         "1:lan" "0:wan" "6@eth0"
344                 ;;
345         gnubee,gb-pc1|\
346         gnubee,gb-pc2)
347                 ucidef_add_switch "switch0" \
348                         "0:lan" "4:lan" "6@eth0"
349                 ;;
350         head-weblink,hdrm200|\
351         hiwifi,hc5661|\
352         lenovo,newifi-y1s)
353                 ucidef_add_switch "switch0" \
354                         "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
355                 ;;
356         hiwifi,hc5761)
357                 ucidef_add_switch "switch0" \
358                         "1:lan" "4:lan" "0:wan" "6@eth0"
359                 ;;
360         hiwifi,hc5861)
361                 ucidef_add_switch "switch0" \
362                         "0:lan" "1:lan" "5:wan" "6@eth0"
363                 ;;
364         iodata,wn-ac1167gr|\
365         iodata,wn-ac733gr3)
366                 ucidef_add_switch "switch1" \
367                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
368                 ;;
369         lava,lr-25g001|\
370         sitecom,wlr-6000|\
371         trendnet,tew-691gr|\
372         trendnet,tew-692gr)
373                 ucidef_add_switch "switch0" \
374                         "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
375                 ;;
376         lenovo,newifi-d1)
377                 ucidef_add_switch "switch0" \
378                 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
379                 ;;
380         lenovo,newifi-y1|\
381         zbtlink,zbt-we1226)
382                 ucidef_add_switch "switch0" \
383                         "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
384                 ;;
385         linksys,e1700|\
386         ralink,mt7620a-mt7530-evb)
387                 ucidef_add_switch "switch1" \
388                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
389                 ;;
390         linksys,re6500)
391                 ucidef_add_switch "switch0" \
392                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
393                 ;;
394         netgear,r6120)
395                 ucidef_add_switch "switch0" \
396                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
397                 ;;
398         nexx,wt1520-4m|\
399         nexx,wt1520-8m|\
400         vonets,var11n-300)
401                 ucidef_add_switch "switch0" \
402                         "0:lan" "4:wan" "6@eth0"
403                 ;;
404         nexx,wt3020-4m|\
405         nexx,wt3020-8m)
406                 ucidef_add_switch "switch0" \
407                         "4:lan" "0:wan" "6@eth0"
408                 ;;
409         phicomm,k2g)
410                 ucidef_add_switch "switch0" \
411                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
412                 ;;
413         phicomm,psg1218b)
414                 ucidef_add_switch "switch0" \
415                         "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
416                 ;;
417         planex,mzk-dp150n|\
418         vocore,vocore-8m|\
419         vocore,vocore-16m)
420                 ucidef_add_switch "switch0" \
421                         "0:lan" "4:lan" "6t@eth0"
422                 ;;
423         samsung,cy-swr1100)
424                 ucidef_add_switch "switch0" \
425                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
426                 ;;
427         sparklan,wcr-150gn|\
428         zbtlink,we1026-5g-16m)
429                 ucidef_add_switch "switch0" \
430                         "0:lan" "6t@eth0"
431                 ;;
432         tplink,archer-c20-v1|\
433         tplink,archer-c50-v1)
434                 ucidef_add_switch "switch0" \
435                         "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
436                 ;;
437         tplink,archer-mr200)
438                 ucidef_add_switch "switch0" \
439                         "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
440                 ucidef_set_interface_wan "usb0"
441                 ;;
442         tplink,tl-wr902ac-v3)
443                 ucidef_add_switch "switch0" \
444                         "4:lan" "6@eth0"
445                 ;;
446         trendnet,tew-638apb-v2)
447                 ucidef_add_switch "switch0" \
448                         "4:lan" "6@eth0"
449                 ;;
450         vocore,vocore2|\
451         vocore,vocore2-lite)
452                 ucidef_add_switch "switch0" \
453                         "0:lan" "2:lan" "6t@eth0"
454                 ;;
455         wiznet,wizfi630a)
456                 ucidef_add_switch "switch0" \
457                         "0:lan" "1:lan" "2:wan" "6@eth0"
458                 ;;
459         wiznet,wizfi630s)
460                 ucidef_add_switch "switch0" \
461                         "0:wan" "3:lan" "4:lan" "6@eth0"
462                 ;;
463         xiaomi,mir3g)
464                 ucidef_add_switch "switch0" \
465                         "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
466                 ;;
467         xiaomi,mir3p)
468                 ucidef_add_switch "switch0" \
469                         "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
470                 ;;
471         xiaomi,mir4a-100m)
472                 ucidef_add_switch "switch0" \
473                         "4:lan:1" "2:lan:2" "0:wan" "6@eth0"
474                 ;;
475         zyxel,keenetic-omni-ii)
476                 ucidef_add_switch "switch0" \
477                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
478                 ;;
479         zyxel,keenetic-start)
480                 ucidef_add_switch "switch0" \
481                         "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
482                 ;;
483         zyxel,keenetic-viva)
484                 ucidef_add_switch "switch1" \
485                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
486                 ;;
487         *)
488                 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
489                 if [ -n "${RT3X5X}" ]; then
490                         ramips_setup_rt3x5x_vlans
491                 else
492                         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
493                 fi
494                 ;;
495         esac
496 }
497
498 ramips_setup_macs()
499 {
500         local board="$1"
501         local lan_mac=""
502         local wan_mac=""
503
504         case $board in
505         8devices,carambola|\
506         alfa-network,w502u|\
507         arcwireless,freestation5|\
508         cudy,wr1000|\
509         netgear,wnce2001)
510                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
511                 ;;
512         arcwireless,freestation5|\
513         dlink,dir-300-b7|\
514         dlink,dir-320-b1|\
515         dlink,dir-620-a1|\
516         engenius,esr-9753|\
517         hame,mpr-a1|\
518         hauppauge,broadway|\
519         huawei,d105|\
520         hilink,hlk-7628n|\
521         hilink,hlk-rm04|\
522         lenovo,newifi-y1|\
523         lenovo,newifi-y1s|\
524         nexaira,bc2|\
525         petatel,psr-680w|\
526         skyline,sl-r7205)
527                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
528                 wan_mac=$(macaddr_add "$lan_mac" 1)
529                 ;;
530         asus,rt-ac57u|\
531         phicomm,k2p|\
532         planex,vr500)
533                 lan_mac=$(mtd_get_mac_binary factory 0xe000)
534                 wan_mac=$(mtd_get_mac_binary factory 0xe006)
535                 ;;
536         asus,rt-n56u)
537                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
538                 wan_mac=$(mtd_get_mac_binary factory 0x8004)
539                 ;;
540         belkin,f9k1109v1)
541                 wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
542                 lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
543                 ;;
544         buffalo,wcr-1166ds|\
545         buffalo,wsr-1166dhp)
546                 local index="$(find_mtd_index "board_data")"
547                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
548                 lan_mac=$wan_mac
549                 ;;
550         buffalo,whr-1166d|\
551         buffalo,whr-300hp2|\
552         buffalo,whr-600d|\
553         buffalo,wsr-600dhp)
554                 wan_mac=$(mtd_get_mac_binary factory 0x4)
555                 lan_mac=$wan_mac
556                 ;;
557         buffalo,whr-g300n|\
558         glinet,gl-mt300n-v2)
559                 wan_mac=$(mtd_get_mac_binary factory 0x4)
560                 ;;
561         dlink,dch-m225|\
562         samsung,cy-swr1100)
563                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
564                 ;;
565         dlink,dir-510l|\
566         dlink,dwr-116-a1|\
567         dlink,dwr-118-a1|\
568         dlink,dwr-118-a2|\
569         dlink,dwr-921-c1|\
570         dlink,dwr-922-e2|\
571         lava,lr-25g001)
572                 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
573                 lan_mac=$(macaddr_add "$wan_mac" 1)
574                 ;;
575         dlink,dir-645)
576                 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
577                 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
578                 ;;
579         dlink,dir-860l-b1)
580                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
581                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
582                 ;;
583         dovado,tiny-ac)
584                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
585                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
586                 ;;
587         edimax,br-6475nd)
588                 wan_mac=$(mtd_get_mac_binary devdata 0x7)
589                 ;;
590         edimax,br-6478ac-v2)
591                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
592                 ;;
593         elecom,wrc-1167ghbk2-s|\
594         elecom,wrc-1900gst|\
595         elecom,wrc-2533gst|\
596         samknows,whitebox-v8)
597                 wan_mac=$(mtd_get_mac_binary factory 0xe006)
598                 ;;
599         hiwifi,hc5661|\
600         hiwifi,hc5661a|\
601         hiwifi,hc5761|\
602         hiwifi,hc5761a|\
603         hiwifi,hc5861|\
604         hiwifi,hc5861b|\
605         hiwifi,hc5962)
606                 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
607                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
608                 wan_mac=$(macaddr_add "$lan_mac" 1)
609                 ;;
610         iodata,wn-ac1167gr|\
611         iodata,wn-ac733gr3)
612                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
613                 ;;
614         iodata,wn-ax1167gr|\
615         iodata,wn-gx300gr|\
616         trendnet,tew-692gr)
617                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
618                 ;;
619         lenovo,newifi-d1)
620                 lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
621                 ;;
622         linksys,e1700)
623                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
624                 ;;
625         mediatek,linkit-smart-7688|\
626         onion,omega2|\
627         onion,omega2p)
628                 wan_mac=$(mtd_get_mac_binary factory 0x4)
629                 lan_mac=$(mtd_get_mac_binary factory 0x2e)
630                 ;;
631         mercury,mac1200r-v2)
632                 lan_mac=$(mtd_get_mac_binary factory_info 0xd)
633                 wan_mac=$(macaddr_add "$lan_mac" 1)
634                 ;;
635         netgear,r6220|\
636         netgear,r6350|\
637         netgear,wndr3700-v5)
638                 wan_mac=$(mtd_get_mac_binary factory 0x4)
639                 lan_mac=$(macaddr_add "$wan_mac" 1)
640                 ;;
641         ohyeah,oy-0001|\
642         phicomm,k2g|\
643         skylab,skw92a)
644                 lan_mac=$(mtd_get_mac_binary factory 0x28)
645                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
646                 ;;
647         poray,m3|\
648         poray,m4-4m|\
649         poray,m4-8m|\
650         poray,x5|\
651         poray,x8)
652                 lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2)
653                 ;;
654         sitecom,wlr-6000)
655                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x8004)" 2)
656                 ;;
657         sparklan,wcr-150gn|\
658         zyxel,keenetic-omni|\
659         zyxel,keenetic-omni-ii|\
660         zyxel,keenetic-start|\
661         zyxel,keenetic-viva)
662                 wan_mac=$(mtd_get_mac_binary factory 0x28)
663                 ;;
664         tenda,w306r-v2)
665                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5)
666                 ;;
667         trendnet,tew-691gr)
668                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3)
669                 ;;
670         wiznet,wizfi630a)
671                 lan_mac=$(mtd_get_mac_binary factory 0x4)
672                 wan_mac=$(mtd_get_mac_binary factory 0x28)
673                 ;;
674         xiaomi,mir3g|\
675         xiaomi,mir3p)
676                 lan_mac=$(mtd_get_mac_binary factory 0xe006)
677                 ;;
678         xiaomi,miwifi-mini)
679                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
680                 ;;
681         *)
682                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
683                 ;;
684         esac
685
686         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
687         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
688 }
689
690 board_config_update
691 board=$(board_name)
692 ramips_setup_interfaces $board
693 ramips_setup_macs $board
694 board_config_flush
695
696 exit 0