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