ramips: add support for Fon FON2601
[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,hc5962|\
61         mediatek,ap-mt7621a-v60|\
62         mediatek,mt7621-eval-board|\
63         mediatek,mt7628an-eval-board|\
64         mercury,mac1200r-v2|\
65         mqmaker,witi|\
66         mtc,wr1201|\
67         netgear,r6220|\
68         netgear,r6350|\
69         netgear,wndr3700-v5|\
70         netis,wf-2881|\
71         nixcore,x1-16m|\
72         nixcore,x1-8m|\
73         ohyeah,oy-0001|\
74         phicomm,k2p|\
75         phicomm,psg1208|\
76         phicomm,psg1218a|\
77         planex,db-wrt01|\
78         planex,mzk-750dhp|\
79         planex,mzk-w300nh2|\
80         planex,vr500|\
81         samknows,whitebox-v8|\
82         sanlinking,d240|\
83         storylink,sap-g3200u3|\
84         telco-electronics,x1|\
85         totolink,a7000r|\
86         totolink,lr1200|\
87         unielec,u7621-06-256m-16m|\
88         unielec,u7621-06-512m-64m|\
89         wavlink,wl-wn570ha1|\
90         wavlink,wl-wn575a3|\
91         xiaomi,miwifi-mini|\
92         xiaomi,miwifi-nano|\
93         xzwifi,creativebox-v1|\
94         youku,yk-l2|\
95         youku,yk1|\
96         zbtlink,zbt-ape522ii|\
97         zbtlink,zbt-we1326|\
98         zbtlink,zbt-we3526|\
99         zbtlink,zbt-we826-16m|\
100         zbtlink,zbt-we826-32m|\
101         zbtlink,zbt-we826-e|\
102         zbtlink,zbt-wg2626|\
103         zbtlink,zbt-wg3526-16m|\
104         zbtlink,zbt-wg3526-32m|\
105         zbtlink,zbt-wr8305rt|\
106         zyxel,keenetic|\
107         zyxel,keenetic-omni)
108                 ucidef_add_switch "switch0" \
109                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
110                 ;;
111         airlink101,ar670w|\
112         airlink101,ar725w|\
113         asus,rt-ac51u|\
114         rakwireless,rak633)
115                 ucidef_add_switch "switch0" \
116                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
117                 ;;
118         alfa-network,awusfree1|\
119         alfa-network,tube-e4g|\
120         buffalo,wli-tx4-ag300n|\
121         buffalo,wmr-300|\
122         dlink,dap-1522-a1|\
123         dlink,dch-m225|\
124         d-team,pbr-d1|\
125         elecom,wrh-300cr|\
126         huawei,d105|\
127         kimax,u25awf-h1|\
128         loewe,wmdr-143n|\
129         netgear,ex2700|\
130         netgear,ex3700|\
131         netgear,wn3000rp-v3|\
132         omnima,hpm|\
133         planex,cs-qr10|\
134         planex,mzk-ex300np|\
135         planex,mzk-ex750np|\
136         ravpower,wd03|\
137         sercomm,na930|\
138         tama,w06|\
139         tplink,tl-mr3020-v3|\
140         tplink,tl-wr802n-v4)
141                 ucidef_set_interface_lan "eth0"
142                 ;;
143         allnet,all0256n-4m|\
144         allnet,all0256n-8m|\
145         allnet,all5002|\
146         allnet,all5003|\
147         dlink,dcs-930l-b1|\
148         dlink,dcs-930|\
149         edimax,ew-7476rpc|\
150         edimax,ew-7478ac|\
151         hame,mpr-a2|\
152         hauppauge,broadway|\
153         hootoo,ht-tm02|\
154         intenso,memory2move|\
155         kimax,u35wf|\
156         mediatek,linkit-smart-7688|\
157         microduino,microwrt|\
158         mikrotik,rbm11g|\
159         netgear,wnce2001|\
160         onion,omega2p|\
161         onion,omega2|\
162         tenda,3g150b|\
163         tenda,3g300m|\
164         tenda,w150m|\
165         thunder,timecloud|\
166         tplink,tl-wa801nd-v5|\
167         unbranded,a5-v11|\
168         wansview,ncs601w|\
169         widora,neo-16m|\
170         widora,neo-32m|\
171         yukai,bocco|\
172         zbtlink,zbt-cpe102|\
173         zorlik,zl5900v2|\
174         zte,q7)
175                 ucidef_add_switch "switch0"
176                 ucidef_add_switch_attr "switch0" "enable" "false"
177                 ucidef_set_interface_lan "eth0"
178                 ;;
179         alphanetworks,asl26555-8m|\
180         alphanetworks,asl26555-16m|\
181         asus,rp-n53)
182                 ucidef_add_switch "switch0" \
183                         "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
184                 ;;
185         argus,atp-52b|\
186         asiarf,awm002-evb-4m|\
187         asiarf,awm002-evb-8m|\
188         asus,rt-ac57u|\
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         tplink,re650-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         fon,fon2601)
333                 ucidef_add_switch "switch0" \
334                         "0:lan" "4:wan" "6@eth0"
335                 ;;
336         gehua,ghl-r-001)
337                 ucidef_add_switch "switch0" \
338                         "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
339                 ;;
340         glinet,gl-mt300n-v2)
341                 ucidef_add_switch "switch0" \
342                         "1:lan" "0:wan" "6@eth0"
343                 ;;
344         gnubee,gb-pc1|\
345         gnubee,gb-pc2)
346                 ucidef_add_switch "switch0" \
347                         "0:lan" "4:lan" "6@eth0"
348                 ;;
349         head-weblink,hdrm200|\
350         hiwifi,hc5661|\
351         lenovo,newifi-y1s)
352                 ucidef_add_switch "switch0" \
353                         "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
354                 ;;
355         hiwifi,hc5761)
356                 ucidef_add_switch "switch0" \
357                         "1:lan" "4:lan" "0:wan" "6@eth0"
358                 ;;
359         hiwifi,hc5861)
360                 ucidef_add_switch "switch0" \
361                         "0:lan" "1:lan" "5:wan" "6@eth0"
362                 ;;
363         iodata,wn-ac1167gr|\
364         iodata,wn-ac733gr3)
365                 ucidef_add_switch "switch1" \
366                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
367                 ;;
368         lava,lr-25g001|\
369         sitecom,wlr-6000|\
370         trendnet,tew-691gr|\
371         trendnet,tew-692gr)
372                 ucidef_add_switch "switch0" \
373                         "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
374                 ;;
375         lenovo,newifi-d1)
376                 ucidef_add_switch "switch0" \
377                 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
378                 ;;
379         lenovo,newifi-y1|\
380         zbtlink,zbt-we1226)
381                 ucidef_add_switch "switch0" \
382                         "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
383                 ;;
384         linksys,e1700|\
385         ralink,mt7620a-mt7530-evb)
386                 ucidef_add_switch "switch1" \
387                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
388                 ;;
389         linksys,re6500)
390                 ucidef_add_switch "switch0" \
391                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
392                 ;;
393         netgear,r6120)
394                 ucidef_add_switch "switch0" \
395                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
396                 ;;
397         nexx,wt1520-4m|\
398         nexx,wt1520-8m|\
399         vonets,var11n-300)
400                 ucidef_add_switch "switch0" \
401                         "0:lan" "4:wan" "6@eth0"
402                 ;;
403         nexx,wt3020-4m|\
404         nexx,wt3020-8m)
405                 ucidef_add_switch "switch0" \
406                         "4:lan" "0:wan" "6@eth0"
407                 ;;
408         phicomm,k2g)
409                 ucidef_add_switch "switch0" \
410                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
411                 ;;
412         phicomm,psg1218b)
413                 ucidef_add_switch "switch0" \
414                         "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
415                 ;;
416         planex,mzk-dp150n|\
417         vocore,vocore-8m|\
418         vocore,vocore-16m)
419                 ucidef_add_switch "switch0" \
420                         "0:lan" "4:lan" "6t@eth0"
421                 ;;
422         samsung,cy-swr1100)
423                 ucidef_add_switch "switch0" \
424                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
425                 ;;
426         sparklan,wcr-150gn|\
427         zbtlink,we1026-5g-16m)
428                 ucidef_add_switch "switch0" \
429                         "0:lan" "6t@eth0"
430                 ;;
431         tplink,archer-c20-v1|\
432         tplink,archer-c50-v1)
433                 ucidef_add_switch "switch0" \
434                         "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
435                 ;;
436         tplink,archer-mr200)
437                 ucidef_add_switch "switch0" \
438                         "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
439                 ucidef_set_interface_wan "usb0"
440                 ;;
441         tplink,tl-wr902ac-v3)
442                 ucidef_add_switch "switch0" \
443                         "4:lan" "6@eth0"
444                 ;;
445         trendnet,tew-638apb-v2)
446                 ucidef_add_switch "switch0" \
447                         "4:lan" "6@eth0"
448                 ;;
449         vocore,vocore2|\
450         vocore,vocore2-lite)
451                 ucidef_add_switch "switch0" \
452                         "0:lan" "2:lan" "6t@eth0"
453                 ;;
454         wiznet,wizfi630a)
455                 ucidef_add_switch "switch0" \
456                         "0:lan" "1:lan" "2:wan" "6@eth0"
457                 ;;
458         wiznet,wizfi630s)
459                 ucidef_add_switch "switch0" \
460                         "0:wan" "3:lan" "4:lan" "6@eth0"
461                 ;;
462         xiaomi,mir3g)
463                 ucidef_add_switch "switch0" \
464                         "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
465                 ;;
466         xiaomi,mir3p)
467                 ucidef_add_switch "switch0" \
468                         "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
469                 ;;
470         xiaomi,mir4a-100m)
471                 ucidef_add_switch "switch0" \
472                         "4:lan:1" "2:lan:2" "0:wan" "6@eth0"
473                 ;;
474         zyxel,keenetic-omni-ii)
475                 ucidef_add_switch "switch0" \
476                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
477                 ;;
478         zyxel,keenetic-start)
479                 ucidef_add_switch "switch0" \
480                         "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
481                 ;;
482         zyxel,keenetic-viva)
483                 ucidef_add_switch "switch1" \
484                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
485                 ;;
486         *)
487                 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
488                 if [ -n "${RT3X5X}" ]; then
489                         ramips_setup_rt3x5x_vlans
490                 else
491                         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
492                 fi
493                 ;;
494         esac
495 }
496
497 ramips_setup_macs()
498 {
499         local board="$1"
500         local lan_mac=""
501         local wan_mac=""
502
503         case $board in
504         8devices,carambola|\
505         alfa-network,w502u|\
506         arcwireless,freestation5|\
507         netgear,wnce2001)
508                 wan_mac=$(mtd_get_mac_binary factory 46)
509                 ;;
510         arcwireless,freestation5|\
511         dlink,dir-300-b7|\
512         dlink,dir-320-b1|\
513         dlink,dir-620-a1|\
514         engenius,esr-9753|\
515         hame,mpr-a1|\
516         hauppauge,broadway|\
517         huawei,d105|\
518         hilink,hlk-7628n|\
519         hilink,hlk-rm04|\
520         lenovo,newifi-y1|\
521         lenovo,newifi-y1s|\
522         nexaira,bc2|\
523         petatel,psr-680w|\
524         skyline,sl-r7205)
525                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
526                 wan_mac=$(macaddr_add "$lan_mac" 1)
527                 ;;
528         asus,rt-ac57u|\
529         phicomm,k2p|\
530         planex,vr500)
531                 lan_mac=$(mtd_get_mac_binary factory 57344)
532                 wan_mac=$(mtd_get_mac_binary factory 57350)
533                 ;;
534         asus,rt-n56u)
535                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
536                 wan_mac=$(mtd_get_mac_binary factory 32772)
537                 ;;
538         belkin,f9k1109v1)
539                 wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
540                 lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
541                 ;;
542         buffalo,wcr-1166ds|\
543         buffalo,wsr-1166dhp)
544                 local index="$(find_mtd_index "board_data")"
545                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
546                 lan_mac=$wan_mac
547                 ;;
548         buffalo,whr-1166d|\
549         buffalo,whr-300hp2|\
550         buffalo,whr-600d|\
551         buffalo,wsr-600dhp)
552                 wan_mac=$(mtd_get_mac_binary factory 4)
553                 lan_mac=$wan_mac
554                 ;;
555         buffalo,whr-g300n|\
556         glinet,gl-mt300n-v2)
557                 wan_mac=$(mtd_get_mac_binary factory 4)
558                 ;;
559         dlink,dch-m225|\
560         samsung,cy-swr1100)
561                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
562                 ;;
563         dlink,dir-510l|\
564         dlink,dwr-116-a1|\
565         dlink,dwr-118-a1|\
566         dlink,dwr-118-a2|\
567         dlink,dwr-921-c1|\
568         dlink,dwr-922-e2|\
569         lava,lr-25g001)
570                 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
571                 lan_mac=$(macaddr_add "$wan_mac" 1)
572                 ;;
573         dlink,dir-645)
574                 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
575                 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
576                 ;;
577         dlink,dir-860l-b1)
578                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
579                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
580                 ;;
581         dovado,tiny-ac)
582                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
583                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
584                 ;;
585         edimax,br-6475nd)
586                 wan_mac=$(mtd_get_mac_binary devdata 7)
587                 ;;
588         edimax,br-6478ac-v2)
589                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
590                 ;;
591         elecom,wrc-1167ghbk2-s|\
592         elecom,wrc-1900gst|\
593         elecom,wrc-2533gst|\
594         samknows,whitebox-v8)
595                 wan_mac=$(mtd_get_mac_binary factory 57350)
596                 ;;
597         hiwifi,hc5661|\
598         hiwifi,hc5661a|\
599         hiwifi,hc5761|\
600         hiwifi,hc5861|\
601         hiwifi,hc5861b|\
602         hiwifi,hc5962)
603                 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
604                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
605                 wan_mac=$(macaddr_add "$lan_mac" 1)
606                 ;;
607         iodata,wn-ac1167gr|\
608         iodata,wn-ac733gr3)
609                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" -1)
610                 ;;
611         iodata,wn-ax1167gr|\
612         iodata,wn-gx300gr|\
613         trendnet,tew-692gr)
614                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
615                 ;;
616         lenovo,newifi-d1)
617                 lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
618                 ;;
619         linksys,e1700)
620                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
621                 ;;
622         mediatek,linkit-smart-7688|\
623         onion,omega2|\
624         onion,omega2p)
625                 wan_mac=$(mtd_get_mac_binary factory 4)
626                 lan_mac=$(mtd_get_mac_binary factory 46)
627                 ;;
628         mercury,mac1200r-v2)
629                 lan_mac=$(mtd_get_mac_binary factory_info 13)
630                 wan_mac=$(macaddr_add "$lan_mac" 1)
631                 ;;
632         netgear,r6220|\
633         netgear,r6350|\
634         netgear,wndr3700-v5)
635                 wan_mac=$(mtd_get_mac_binary factory 4)
636                 lan_mac=$(macaddr_add "$wan_mac" 1)
637                 ;;
638         ohyeah,oy-0001|\
639         phicomm,k2g|\
640         skylab,skw92a)
641                 lan_mac=$(mtd_get_mac_binary factory 40)
642                 wan_mac=$(mtd_get_mac_binary factory 46)
643                 ;;
644         poray,m3|\
645         poray,m4-4m|\
646         poray,m4-8m|\
647         poray,x5|\
648         poray,x8)
649                 lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2)
650                 ;;
651         sitecom,wlr-6000)
652                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
653                 ;;
654         sparklan,wcr-150gn|\
655         zyxel,keenetic-omni|\
656         zyxel,keenetic-omni-ii|\
657         zyxel,keenetic-start|\
658         zyxel,keenetic-viva)
659                 wan_mac=$(mtd_get_mac_binary factory 40)
660                 ;;
661         tenda,w306r-v2)
662                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5)
663                 ;;
664         trendnet,tew-691gr)
665                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
666                 ;;
667         wiznet,wizfi630a)
668                 lan_mac=$(mtd_get_mac_binary factory 4)
669                 wan_mac=$(mtd_get_mac_binary factory 40)
670                 ;;
671         xiaomi,mir3g|\
672         xiaomi,mir3p)
673                 lan_mac=$(mtd_get_mac_binary factory 0xe006)
674                 ;;
675         xiaomi,miwifi-mini)
676                 lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
677                 ;;
678         *)
679                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
680                 ;;
681         esac
682
683         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
684         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
685 }
686
687 board_config_update
688 board=$(board_name)
689 ramips_setup_interfaces $board
690 ramips_setup_macs $board
691 board_config_flush
692
693 exit 0