ramips: add support for I-O DATA WNPR2600G
[openwrt/openwrt.git] / target / linux / ramips / base-files / etc / board.d / 02_network
index 4cf61597459e63483fd113957338504f6bdb13fe..d485010e3ab1d14453bb1bf341ff2c6d9c4bf98a 100755 (executable)
@@ -14,10 +14,10 @@ ramips_setup_rt3x5x_vlans()
        local wanports=""
        local lanports=""
        for port in 5 4 3 2 1 0; do
-               if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
+               if [ "$(swconfig dev rt305x port $port get disable)" = "1" ]; then
                        continue
                fi
-               if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
+               if [ "$(swconfig dev rt305x port $port get lan)" = "0" ]; then
                        wanports="$port:wan $wanports"
                else
                        lanports="$port:lan $lanports"
@@ -31,397 +31,485 @@ ramips_setup_interfaces()
        local board="$1"
 
        case $board in
-       11acnas|\
-       d-team,newifi-d2|\
-       w2914nsv2|\
-       zbt-we2026)
-               ucidef_add_switch "switch0" \
-                       "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
-               ;;
-       3g150b|\
-       3g300m|\
-       a5-v11|\
-       all0256n-4M|\
-       all0256n-8M|\
-       all5002|\
-       all5003|\
-       bocco|\
-       broadway|\
-       dcs-930|\
-       dcs-930l-b1|\
-       ht-tm02|\
-       kimax,u35wf|\
-       linkits7688 | \
-       m2m|\
-       microwrt|\
-       mikrotik,rbm11g|\
-       mpr-a2|\
-       ncs601w|\
-       omega2 | \
-       omega2p | \
-       timecloud|\
-       tplink,tl-wa801nd-v5|\
-       w150m|\
-       widora,neo-16m|\
-       widora,neo-32m|\
-       wnce2001|\
-       zbt-cpe102|\
-       zorlik,zl5900v2|\
-       zte-q7)
-               ucidef_add_switch "switch0"
-               ucidef_add_switch_attr "switch0" "enable" "false"
-               ucidef_set_interface_lan "eth0"
-               ;;
-       mlw221|\
-       mr-102n)
-               ucidef_set_interface_lan "eth0.2"
+       accton,wr6202|\
+       alfa-network,w502u|\
+       netcore,nw718|\
+       petatel,psr-680w|\
+       skyline,sl-r7205|\
+       upvel,ur-336un)
+               ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
                ;;
-       3g-6200n|\
-       ai-br100|\
+       adslr,g7|\
+       afoundry,ew1200|\
+       aigale,ai-br100|\
        alfa-network,ac1200rm|\
-       mediatek,ap-mt7621a-v60|\
-       d240|\
-       db-wrt01|\
-       dir-300-b7|\
-       dir-320-b1|\
-       dir-610-a1|\
-       dir-615-h1|\
-       dir-810l|\
+       asus,rt-n12p|\
+       buffalo,whr-g300n|\
+       d-team,pbr-m1|\
+       dlink,dir-300-b7|\
+       dlink,dir-320-b1|\
+       dlink,dir-610-a1|\
+       dlink,dir-810l|\
        dlink,dwr-116-a1|\
        dlink,dwr-921-c1|\
-       ew1200|\
-       firewrt|\
-       hc5661a|\
-       hc5962|\
-       hlk-rm04|\
-       k2p|\
-       kn|\
-       kn_rc|\
-       mac1200rv2|\
-       miwifi-mini|\
-       miwifi-nano|\
-       mt7621|\
-       mt7628|\
+       dlink,dwr-922-e2|\
+       edimax,3g-6200n|\
+       firefly,firewrt|\
+       hilink,hlk-rm04|\
+       hiwifi,hc5661a|\
+       hiwifi,hc5761a|\
+       hiwifi,hc5962|\
+       mediatek,ap-mt7621a-v60|\
+       mediatek,mt7621-eval-board|\
+       mediatek,mt7628an-eval-board|\
+       mercury,mac1200r-v2|\
+       mqmaker,witi|\
        mtc,wr1201|\
-       mzk-750dhp|\
-       mzk-w300nh2|\
-       netgear,r6120|\
-       nixcore-x1-8M|\
-       nixcore-x1-16M|\
-       oy-0001|\
-       pbr-m1|\
-       psg1208|\
-       psg1218a|\
-       r6220|\
-       netgear,r6350|\
-       rt-n12p|\
-       sap-g3200u3|\
-       sk-wb8|\
+       netis,wf-2881|\
+       nixcore,x1-16m|\
+       nixcore,x1-8m|\
+       ohyeah,oy-0001|\
+       phicomm,k2p|\
+       phicomm,psg1208|\
+       phicomm,psg1218a|\
+       planex,db-wrt01|\
+       planex,mzk-750dhp|\
+       planex,mzk-w300nh2|\
+       planex,vr500|\
+       samknows,whitebox-v8|\
+       sanlinking,d240|\
+       storylink,sap-g3200u3|\
+       telco-electronics,x1|\
+       totolink,a7000r|\
+       totolink,lr1200|\
        unielec,u7621-06-256m-16m|\
        unielec,u7621-06-512m-64m|\
-       vr500|\
        wavlink,wl-wn570ha1|\
-       wf-2881|\
-       whr-g300n|\
-       mqmaker,witi-256m|\
-       mqmaker,witi-512m|\
-       wl-wn575a3|\
-       wndr3700v5|\
-       youku-yk1|\
-       zbt-ape522ii|\
-       zbt-we1326|\
+       wavlink,wl-wn575a3|\
+       xiaomi,miwifi-mini|\
+       xiaomi,miwifi-nano|\
+       xiaoyu,xy-c5|\
+       xzwifi,creativebox-v1|\
+       youku,yk-l2|\
+       youku,yk1|\
+       zbtlink,zbt-ape522ii|\
+       zbtlink,zbt-we1326|\
        zbtlink,zbt-we3526|\
-       zbt-we826-16M|\
-       zbt-we826-32M|\
-       zbt-wg2626|\
-       zbt-wg3526-16M|\
-       zbt-wg3526-32M|\
-       zbt-wr8305rt)
+       zbtlink,zbt-we826-16m|\
+       zbtlink,zbt-we826-32m|\
+       zbtlink,zbt-we826-e|\
+       zbtlink,zbt-wg2626|\
+       zbtlink,zbt-wg3526-16m|\
+       zbtlink,zbt-wg3526-32m|\
+       zbtlink,zbt-wr8305rt|\
+       zyxel,keenetic|\
+       zyxel,keenetic-omni)
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
                ;;
+       airlink101,ar670w|\
+       airlink101,ar725w|\
+       asus,rt-ac51u|\
+       rakwireless,rak633)
+               ucidef_add_switch "switch0" \
+                       "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
+               ;;
        alfa-network,awusfree1|\
-       cs-qr10|\
-       d105|\
+       alfa-network,tube-e4g|\
+       buffalo,wli-tx4-ag300n|\
+       buffalo,wmr-300|\
        dlink,dap-1522-a1|\
-       dch-m225|\
-       ex2700|\
-       ex3700|\
-       hpm|\
-       mzk-ex300np|\
-       mzk-ex750np|\
-       na930|\
-       pbr-d1|\
+       dlink,dch-m225|\
+       d-team,pbr-d1|\
+       elecom,wrh-300cr|\
+       huawei,d105|\
+       kimax,u25awf-h1|\
+       loewe,wmdr-143n|\
+       netgear,ex2700|\
+       netgear,ex3700|\
+       netgear,wn3000rp-v3|\
+       omnima,hpm|\
+       planex,cs-qr10|\
+       planex,mzk-ex300np|\
+       planex,mzk-ex750np|\
        ravpower,wd03|\
+       sercomm,na930|\
        tama,w06|\
        tplink,tl-mr3020-v3|\
-       u25awf-h1|\
-       wli-tx4-ag300n|\
-       wmdr-143n|\
-       wmr-300|\
-       wn3000rpv3|\
-       wrh-300cr)
+       tplink,tl-wr802n-v4)
                ucidef_set_interface_lan "eth0"
                ;;
-       dlink,dwr-118-a1)
-               ucidef_add_switch "switch0" \
-                       "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
-               ;;
-       dlink,dwr-118-a2)
-               ucidef_add_switch "switch0" \
-                       "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
-               ;;
-       mir3g)
-               ucidef_add_switch "switch0" \
-                       "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
-               ;;
-       psg1218b)
-               ucidef_add_switch "switch0" \
-                       "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
-               ;;
-       whr-300hp2|\
-       whr-600d|\
-       wsr-1166|\
-       wsr-600)
-               ucidef_add_switch "switch0" \
-                       "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
-               ;;
-       ar670w|\
-       ar725w|\
-       rt-ac51u)
-               ucidef_add_switch "switch0" \
-                       "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
-               ;;
-       rt-n15|\
-       wl-351)
-               ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
+       allnet,all0256n-4m|\
+       allnet,all0256n-8m|\
+       allnet,all5002|\
+       allnet,all5003|\
+       dlink,dcs-930l-b1|\
+       dlink,dcs-930|\
+       edimax,ew-7476rpc|\
+       edimax,ew-7478ac|\
+       hame,mpr-a2|\
+       hauppauge,broadway|\
+       hootoo,ht-tm02|\
+       intenso,memory2move|\
+       kimax,u35wf|\
+       mediatek,linkit-smart-7688|\
+       microduino,microwrt|\
+       mikrotik,rbm11g|\
+       netgear,wnce2001|\
+       onion,omega2p|\
+       onion,omega2|\
+       tenda,3g150b|\
+       tenda,3g300m|\
+       tenda,w150m|\
+       thunder,timecloud|\
+       tplink,tl-wa801nd-v5|\
+       unbranded,a5-v11|\
+       wansview,ncs601w|\
+       widora,neo-16m|\
+       widora,neo-32m|\
+       yukai,bocco|\
+       zbtlink,zbt-cpe102|\
+       zorlik,zl5900v2|\
+       zte,q7)
+               ucidef_add_switch "switch0"
+               ucidef_add_switch_attr "switch0" "enable" "false"
+               ucidef_set_interface_lan "eth0"
                ;;
-       asl26555-8M|\
-       asl26555-16M|\
-       rp-n53)
+       alphanetworks,asl26555-8m|\
+       alphanetworks,asl26555-16m|\
+       asus,rp-n53)
                ucidef_add_switch "switch0" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
                ;;
-       atp-52b|\
-       awm002-evb-4M|\
-       awm002-evb-8M|\
+       argus,atp-52b|\
+       asiarf,awm002-evb-4m|\
+       asiarf,awm002-evb-8m|\
+       asus,rt-ac57u|\
+       asus,rt-n14u|\
        bdcom,wap2100-sk|\
-       c20i|\
-       dir-645|\
-       gl-mt300a|\
-       gl-mt300n|\
-       gl-mt750|\
+       dlink,dir-645|\
+       glinet,gl-mt300a|\
+       glinet,gl-mt300n|\
+       glinet,gl-mt750|\
+       hilink,hlk-7628n|\
+       hiwifi,hc5661|\
        hiwifi,hc5861b|\
-       jhr-n805r|\
-       jhr-n825r|\
-       jhr-n926r|\
+       jcg,jhr-n805r|\
+       jcg,jhr-n825r|\
+       jcg,jhr-n926r|\
+       mikrotik,rb750gr3|\
        mikrotik,rbm33g|\
-       mzk-wdpr|\
-       rb750gr3|\
-       rt-n14u|\
+       planex,mzk-wdpr|\
        skylab,skw92a|\
-       tplink,c20-v4|\
-       tplink,c50-v3|\
+       tplink,archer-c20-v4|\
+       tplink,archer-c20i|\
+       tplink,archer-c50-v3|\
+       tplink,archer-c50-v4|\
        tplink,tl-mr3420-v5|\
+       tplink,tl-wr840n-v4|\
+       tplink,tl-wr840n-v5|\
+       tplink,tl-wr841n-v13|\
+       tplink,tl-wr841n-v14|\
        tplink,tl-wr842n-v5|\
-       tl-wr840n-v4|\
-       tl-wr840n-v5|\
-       tl-wr841n-v13|\
-       u7628-01-128M-16M|\
-       ubnt-erx|\
-       ubnt-erx-sfp|\
-       ur-326n4g|\
-       wrtnode|\
-       wrtnode2p | \
-       wrtnode2r | \
+       unielec,u7628-01-128m-16m|\
+       ubiquiti,edgerouterx|\
+       ubiquiti,edgerouterx-sfp|\
+       upvel,ur-326n4g|\
+       wrtnode,wrtnode|\
+       wrtnode,wrtnode2p|\
+       wrtnode,wrtnode2r|\
        youhua,wr1200js|\
-       zbt-wa05|\
+       zbtlink,zbt-wa05|\
        zyxel,keenetic-extra-ii)
                ucidef_add_switch "switch0" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
                ;;
-       c50|\
-       tplink,c20-v1)
+       asiarf,ap7621-001)
+               ucidef_add_switch "switch0" "0:lan" "4:wan" "6@eth0"
+               ;;
+       asiarf,ap7621-nv1)
+               ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0"
+               ;;
+       asiarf,awapn2403)
                ucidef_add_switch "switch0" \
-                       "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
+                       "0:lan" "1:wan" "6@eth0"
                ;;
-       dir-860l-b1|\
+       asus,rt-ac85p|\
+       dlink,dir-860l-b1|\
        elecom,wrc-1167ghbk2-s|\
-       elecom,wrc-2533gst|\
        elecom,wrc-1900gst|\
-       hg255d|\
+       elecom,wrc-2533gst|\
+       huawei,hg255d|\
        iodata,wn-ax1167gr|\
-       iodata,wn-gx300gr)
+       iodata,wn-gx300gr|\
+       iodata,wnpr2600g|\
+       iptime,a604m)
                ucidef_add_switch "switch0" \
                        "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
                ;;
-       gnubee,gb-pc1|\
-       gnubee,gb-pc2)
+       asus,rt-n15|\
+       belkin,f9k1109v1|\
+       sitecom,wl-351)
                ucidef_add_switch "switch0" \
-                       "0:lan" "4:lan" "6@eth0"
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
                ;;
-       gl-mt300n-v2)
+       asus,rt-n56u)
                ucidef_add_switch "switch0" \
-                       "1:lan" "0:wan" "6@eth0"
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
+               ;;
+       asus,wl-330n|\
+       easyacc,wizard-8800|\
+       kingston,mlwg2)
+               ucidef_set_interface_lan "eth0.1"
                ;;
-       awapn2403)
+       aximcom,mr-102n|\
+       kingston,mlw221)
+               ucidef_set_interface_lan "eth0.2"
+               ;;
+       belkin,f5d8235-v1|\
+       belkin,f5d8235-v2|\
+       buffalo,wzr-agl300nh|\
+       ralink,v11st-fe|\
+       trendnet,tew-714tru)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:wan" "6@eth0"
+                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
                ;;
-       b2c|\
-       nw718|\
-       psr-680w|\
-       sl-r7205|\
-       ur-336un|\
-       w502u|\
-       wr6202)
-               ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+       buffalo,wcr-1166ds)
+               ucidef_add_switch "switch0" \
+                       "3:lan" "4:wan" "6@eth0"
                ;;
-       br-6475nd)
+       buffalo,whr-300hp2|\
+       buffalo,whr-600d|\
+       buffalo,wsr-1166dhp|\
+       buffalo,wsr-600dhp)
                ucidef_add_switch "switch0" \
-                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
+                       "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
+               ;;
+       buffalo,whr-1166d)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
                ;;
-       c108|\
-       cf-wr800n)
+       comfast,cf-wr800n|\
+       hnet,c108)
                ucidef_add_switch "switch0" \
                        "4:lan" "6t@eth0"
                ;;
-       cy-swr1100)
+       cudy,wr1000)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
+                       "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
                ;;
-       duzun-dm06)
+       dlink,dir-510l|\
+       glinet,vixmini|\
+       netgear,ex6150|\
+       tplink,re350-v1|\
+       tplink,re650-v1)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "6@eth0"
+               ;;
+       dlink,dir-615-h1|\
+       d-team,newifi-d2|\
+       wevo,11acnas|\
+       wevo,w2914ns-v2|\
+       zbtlink,zbt-we2026)
+               ucidef_add_switch "switch0" \
+                       "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
+               ;;
+       dlink,dwr-118-a1)
+               ucidef_add_switch "switch0" \
+                       "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
+               ;;
+       dlink,dwr-118-a2)
+               ucidef_add_switch "switch0" \
+                       "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
+               ;;
+       duzun,dm06)
                ucidef_add_switch "switch0" \
                        "1:lan" "0:wan" "6@eth0"
                ;;
-       e1700|\
-       mt7620a_mt7530)
-               ucidef_add_switch "switch1" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
+       edimax,br-6475nd)
+               ucidef_add_switch "switch0" \
+                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
                ;;
        edimax,br-6478ac-v2|\
-       tplink,c2-v1)
+       tplink,archer-c2-v1)
                ucidef_add_switch "switch1" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
                ;;
-       hc5661|\
-       hc5861|\
-       y1s)
+       engenius,esr600)
                ucidef_add_switch "switch0" \
-                       "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
+                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
                ;;
-       kn_rf)
+       fon,fon2601)
                ucidef_add_switch "switch0" \
-                       "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
+                       "0:lan" "4:wan" "6@eth0"
                ;;
-       kng_rc)
-               ucidef_add_switch "switch1" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
+       edimax,rg21s)
+               ucidef_add_switch "switch0" \
+                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
                ;;
-       mlwg2|\
-       wizard8800|\
-       wl-330n)
-               ucidef_set_interface_lan "eth0.1"
+       gehua,ghl-r-001)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
                ;;
-       mr200)
+       glinet,gl-mt300n-v2)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
-               ucidef_set_interface_wan "usb0"
+                       "1:lan" "0:wan" "6@eth0"
+               ;;
+       gnubee,gb-pc1|\
+       gnubee,gb-pc2)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "4:lan" "6@eth0"
+               ;;
+       head-weblink,hdrm200)
+               ucidef_add_switch "switch0" \
+                       "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
                ;;
-       hc5761)
+       hiwifi,hc5761)
                ucidef_add_switch "switch0" \
                        "1:lan" "4:lan" "0:wan" "6@eth0"
                ;;
-       mzk-dp150n|\
-       vocore-8M|\
-       vocore-16M)
+       hiwifi,hc5861)
                ucidef_add_switch "switch0" \
-                       "0:lan" "4:lan" "6t@eth0"
+                       "0:lan" "1:lan" "5:wan" "6@eth0"
                ;;
-       newifi-d1)
+       iodata,wn-ac1167gr|\
+       iodata,wn-ac733gr3)
+               ucidef_add_switch "switch1" \
+                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
+               ;;
+       iptime,a3)
+               ucidef_add_switch "switch0" \
+                       "2:lan:2" "3:lan:1" "0:wan" "6@eth0"
+               ;;
+       lava,lr-25g001|\
+       sitecom,wlr-6000|\
+       trendnet,tew-691gr|\
+       trendnet,tew-692gr)
+               ucidef_add_switch "switch0" \
+                       "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
+               ;;
+       lenovo,newifi-d1)
                ucidef_add_switch "switch0" \
                "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
                ;;
+       lenovo,newifi-y1|\
+       zbtlink,zbt-we1226)
+               ucidef_add_switch "switch0" \
+                       "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
+               ;;
+       lenovo,newifi-y1s)
+               ucidef_add_switch "switch0" \
+                       "1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
+               ;;
+       linksys,e1700|\
+       ralink,mt7620a-mt7530-evb)
+               ucidef_add_switch "switch1" \
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
+               ;;
+       linksys,re6500)
+               ucidef_add_switch "switch0" \
+                       "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
+               ;;
+       netgear,r6120|\
+       netgear,r6220|\
+       netgear,r6260|\
+       netgear,r6350|\
+       netgear,r6850|\
+       netgear,wndr3700-v5)
+               ucidef_add_switch "switch0" \
+                       "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
+               ;;
+       nexx,wt1520-4m|\
+       nexx,wt1520-8m|\
+       vonets,var11n-300)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "4:wan" "6@eth0"
+               ;;
+       nexx,wt3020-4m|\
+       nexx,wt3020-8m)
+               ucidef_add_switch "switch0" \
+                       "4:lan" "0:wan" "6@eth0"
+               ;;
        phicomm,k2g)
                ucidef_add_switch "switch0" \
                        "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
                ;;
-       re350-v1)
+       phicomm,psg1218b)
                ucidef_add_switch "switch0" \
-                       "0:lan" "6@eth0"
+                       "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
                ;;
-       re6500)
+       planex,mzk-dp150n|\
+       vocore,vocore-8m|\
+       vocore,vocore-16m)
                ucidef_add_switch "switch0" \
-                       "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
+                       "0:lan" "4:lan" "6t@eth0"
                ;;
-       rt-n56u)
+       samsung,cy-swr1100)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
                ;;
-       tew-638apb-v2)
+       sparklan,wcr-150gn|\
+       zbtlink,we1026-5g-16m)
                ucidef_add_switch "switch0" \
-                       "4:lan" "6@eth0"
+                       "0:lan" "6t@eth0"
                ;;
-       lava,lr-25g001|\
-       tew-691gr|\
-       tew-692gr|\
-       wlr-6000)
+       tplink,archer-c20-v1|\
+       tplink,archer-c50-v1)
                ucidef_add_switch "switch0" \
-                       "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
+                       "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
+               ;;
+       tplink,archer-mr200)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
+               ucidef_set_interface_wan "usb0"
                ;;
        tplink,tl-wr902ac-v3)
                ucidef_add_switch "switch0" \
                        "4:lan" "6@eth0"
                ;;
-       vonets,var11n-300|\
-       wt1520-4M|\
-       wt1520-8M)
+       trendnet,tew-638apb-v2)
                ucidef_add_switch "switch0" \
-                       "0:lan" "4:wan" "6@eth0"
+                       "4:lan" "6@eth0"
                ;;
-       vocore2|\
-       vocore2lite)
+       vocore,vocore2|\
+       vocore,vocore2-lite)
                ucidef_add_switch "switch0" \
                        "0:lan" "2:lan" "6t@eth0"
                ;;
-       f5d8235-v1|\
-       f5d8235-v2|\
-       tew-714tru|\
-       v11st-fe|\
-       wzr-agl300nh)
+       wiznet,wizfi630a)
                ucidef_add_switch "switch0" \
-                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
+                       "0:lan" "1:lan" "2:wan" "6@eth0"
                ;;
-       wcr-1166ds)
+       wiznet,wizfi630s)
                ucidef_add_switch "switch0" \
-                       "3:lan" "4:wan" "6@eth0"
+                       "0:wan" "3:lan" "4:lan" "6@eth0"
                ;;
-       wcr-150gn|\
-       we1026-5g-16m)
+       xiaomi,mir3g)
                ucidef_add_switch "switch0" \
-                       "0:lan" "6t@eth0"
+                       "2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
                ;;
-       whr-1166d)
+       xiaomi,mir3p)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
+                       "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
                ;;
-       wizfi630a)
+       xiaomi,mir4a-100m)
                ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:wan" "6@eth0"
+                       "4:lan:1" "2:lan:2" "0:wan" "6@eth0"
                ;;
-       wt3020-4M|\
-       wt3020-8M)
+       zyxel,keenetic-omni-ii)
                ucidef_add_switch "switch0" \
-                       "4:lan" "0:wan" "6@eth0"
+                       "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
                ;;
-       zbtlink,zbt-we1226|\
-       y1)
+       zyxel,keenetic-start)
                ucidef_add_switch "switch0" \
-                       "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
+                       "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
+               ;;
+       zyxel,keenetic-viva)
+               ucidef_add_switch "switch1" \
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
                ;;
        *)
-               RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
+               RT3X5X=$(grep -E "(RT3.5|RT5350)" /proc/cpuinfo)
                if [ -n "${RT3X5X}" ]; then
                        ramips_setup_rt3x5x_vlans
                else
@@ -438,193 +526,220 @@ ramips_setup_macs()
        local wan_mac=""
 
        case $board in
-       a5-v11|\
-       ht-tm02|\
-       wmdr-143n)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               ;;
-       carambola|\
-       freestation5|\
-       w502u|\
-       wnce2001)
-               wan_mac=$(mtd_get_mac_binary factory 46)
-               ;;
-       bc2|\
-       broadway|\
-       d105|\
-       dir-300-b7|\
-       dir-320-b1|\
-       dir-620-a1|\
-       esr-9753|\
-       freestation5|\
-       hlk-rm04|\
-       mpr-a1|\
-       psr-680w|\
-       sl-r7205|\
-       y1|\
-       y1s)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               lan_mac=$(macaddr_setbit_la "$lan_mac")
+       8devices,carambola|\
+       alfa-network,w502u|\
+       arcwireless,freestation5|\
+       lenovo,newifi-y1|\
+       lenovo,newifi-y1s|\
+       netgear,wnce2001|\
+       ohyeah,oy-0001|\
+       phicomm,k2g|\
+       skylab,skw92a|\
+       totolink,lr1200)
+               wan_mac=$(mtd_get_mac_binary factory 0x2e)
+               ;;
+       dlink,dir-300-b7|\
+       dlink,dir-320-b1|\
+       dlink,dir-620-a1|\
+       engenius,esr-9753|\
+       hame,mpr-a1|\
+       hauppauge,broadway|\
+       huawei,d105|\
+       hilink,hlk-7628n|\
+       hilink,hlk-rm04|\
+       nexaira,bc2|\
+       petatel,psr-680w|\
+       skyline,sl-r7205)
+               lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
                wan_mac=$(macaddr_add "$lan_mac" 1)
                ;;
-       br-6475nd)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               wan_mac=$(mtd_get_mac_binary devdata 7)
-               ;;
-       cy-swr1100|\
-       dch-m225)
-               lan_mac=$(mtd_get_mac_ascii factory lanmac)
-               ;;
-       dir-645)
-               lan_mac=$(mtd_get_mac_ascii nvram lanmac)
-               wan_mac=$(mtd_get_mac_ascii nvram wanmac)
+       asus,rt-ac57u|\
+       d-team,newifi-d2|\
+       d-team,pbr-m1|\
+       elecom,wrc-1167ghbk2-s|\
+       elecom,wrc-1900gst|\
+       elecom,wrc-2533gst|\
+       lenovo,newifi-d1|\
+       phicomm,k2p|\
+       planex,vr500|\
+       samknows,whitebox-v8|\
+       youku,yk-l2|\
+       zbtlink,zbt-we3526)
+               wan_mac=$(mtd_get_mac_binary factory 0xe006)
+               ;;
+       asus,rt-ac85p)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
+               ;;
+       asus,rt-n56u)
+               lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
+               wan_mac=$(mtd_get_mac_binary factory 0x8004)
+               ;;
+       belkin,f9k1109v1)
+               wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
+               lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
+               label_mac=$wan_mac
+               ;;
+       buffalo,wcr-1166ds|\
+       buffalo,wsr-1166dhp)
+               local index="$(find_mtd_index "board_data")"
+               wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
+               lan_mac=$wan_mac
                ;;
-       dir-860l-b1)
+       buffalo,whr-1166d|\
+       buffalo,whr-300hp2|\
+       buffalo,whr-600d|\
+       buffalo,whr-g300n|\
+       buffalo,wsr-600dhp|\
+       glinet,gl-mt300n-v2|\
+       zyxel,keenetic-start)
+               # This empty case has to be kept for devices without any MAC address adjustments
+               ;;
+       cudy,wr1000)
+               wan_mac=$(mtd_get_mac_binary factory 0x2e)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
+               ;;
+       dlink,dch-m225|\
+       samsung,cy-swr1100)
                lan_mac=$(mtd_get_mac_ascii factory lanmac)
-               wan_mac=$(mtd_get_mac_ascii factory wanmac)
                ;;
+       dlink,dir-510l|\
        dlink,dwr-116-a1|\
        dlink,dwr-118-a1|\
        dlink,dwr-118-a2|\
        dlink,dwr-921-c1|\
+       dlink,dwr-922-e2|\
        lava,lr-25g001)
                wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
                lan_mac=$(macaddr_add "$wan_mac" 1)
+               label_mac=$wan_mac
+               ;;
+       dlink,dir-615-d|\
+       dlink,dir-615-h1|\
+       glinet,gl-mt300a|\
+       glinet,gl-mt300n|\
+       glinet,gl-mt750|\
+       zbtlink,zbt-wg3526-16m|\
+       zbtlink,zbt-wg3526-32m)
+               wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
+               ;;
+       dlink,dir-645)
+               lan_mac=$(mtd_get_mac_ascii nvram lanmac)
+               wan_mac=$(mtd_get_mac_ascii nvram wanmac)
                ;;
-       e1700)
-               wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
-               ;;
-       edimax,br-6478ac-v2)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               wan_mac=$(macaddr_add "$lan_mac" 2)
-               ;;
-       elecom,wrc-1167ghbk2-s|\
-       elecom,wrc-2533gst|\
-       elecom,wrc-1900gst|\
-       sk-wb8)
-               wan_mac=$(mtd_get_mac_binary factory 57350)
-               ;;
-       gl-mt300n-v2|\
-       whr-g300n)
-               wan_mac=$(mtd_get_mac_binary factory 4)
-               ;;
-       hc5*61|\
-       hc5661a|\
-       hc5962|\
-       hiwifi,hc5861b)
-               lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
-               [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
-               wan_mac=$(macaddr_add "$lan_mac" 1)
-               ;;
-       iodata,wn-ax1167gr|\
-       iodata,wn-gx300gr)
-               wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
+       dlink,dir-860l-b1)
+               lan_mac=$(mtd_get_mac_ascii factory lanmac)
+               wan_mac=$(mtd_get_mac_ascii factory wanmac)
+               label_mac=$(cat /sys/class/ieee80211/phy1/macaddress)
                ;;
-       kn_rc|\
-       kn_rf|\
-       kng_rc)
-               wan_mac=$(mtd_get_mac_binary factory 40)
+       dovado,tiny-ac)
+               lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
                ;;
-       linkits7688)
-               wan_mac=$(mtd_get_mac_binary factory 4)
-               lan_mac=$(mtd_get_mac_binary factory 46)
+       edimax,br-6475nd)
+               wan_mac=$(mtd_get_mac_binary devdata 0x7)
                ;;
-       mac1200rv2)
-               lan_mac=$(mtd_get_mac_binary factory_info 13)
+       edimax,br-6478ac-v2|\
+       netgear,r6260|\
+       netgear,r6350|\
+       netgear,r6850)
+               wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
+               ;;
+       edimax,rg21s|\
+       engenius,esr600)
+               lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
+               ;;
+       hiwifi,hc5661|\
+       hiwifi,hc5661a|\
+       hiwifi,hc5761|\
+       hiwifi,hc5761a|\
+       hiwifi,hc5861|\
+       hiwifi,hc5861b|\
+       hiwifi,hc5962)
+               lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
+               label_mac=$lan_mac
+               [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
                wan_mac=$(macaddr_add "$lan_mac" 1)
                ;;
-       mir3g)
-               lan_mac=$(mtd_get_mac_binary Factory 0xe006)
-               ;;
-       miwifi-mini)
-               wan_mac=$(cat /sys/class/net/eth0/address)
-               lan_mac=$(macaddr_setbit_la "$wan_mac")
+       iodata,wn-ac1167gr|\
+       iodata,wn-ac733gr3)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
                ;;
-       m3|\
-       m4-4M|\
-       m4-8M|\
-       x5|\
-       x8)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               lan_mac=$(macaddr_add "$lan_mac" -2)
+       iodata,wn-ax1167gr|\
+       iodata,wn-gx300gr|\
+       trendnet,tew-692gr)
+               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
                ;;
-       newifi-d1)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               lan_mac=$(macaddr_add "$lan_mac" 2)
+       iodata,wnpr2600g)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
+               label_mac=$wan_mac
                ;;
-       omega2|\
-       omega2p)
-               wan_mac=$(mtd_get_mac_binary factory 4)
-               lan_mac=$(mtd_get_mac_binary factory 46)
+       iptime,a3|\
+       iptime,a604m)
+               wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
                ;;
-       oy-0001|\
-       phicomm,k2g)
-               lan_mac=$(mtd_get_mac_binary factory 40)
-               wan_mac=$(mtd_get_mac_binary factory 46)
-               ;;
-       r6220|\
-       netgear,r6350)
-               wan_mac=$(mtd_get_mac_binary factory 4)
-               lan_mac=$(macaddr_add "$wan_mac" 1)
+       linksys,e1700)
+               wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
                ;;
-       rt-n56u)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               lan_mac=$(macaddr_setbit_la "$lan_mac")
-               wan_mac=$(mtd_get_mac_binary factory 32772)
+       mediatek,linkit-smart-7688|\
+       onion,omega2|\
+       onion,omega2p)
+               wan_mac=$(mtd_get_mac_binary factory 0x4)
+               lan_mac=$(mtd_get_mac_binary factory 0x2e)
                ;;
-       skylab,skw92a)
-               lan_mac=$(mtd_get_mac_binary factory 40)
-               wan_mac=$(mtd_get_mac_binary factory 46)
+       mercury,mac1200r-v2)
+               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1)
                ;;
-       tew-691gr)
-               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
+       poray,m3|\
+       poray,m4-4m|\
+       poray,m4-8m|\
+       poray,x5|\
+       poray,x8)
+               lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2)
                ;;
-       tew-692gr)
-               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
+       sitecom,wlr-6000)
+               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x8004)" 2)
                ;;
-       tiny-ac)
-               lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
-               wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
+       sparklan,wcr-150gn|\
+       wiznet,wizfi630a|\
+       zyxel,keenetic-omni|\
+       zyxel,keenetic-omni-ii|\
+       zyxel,keenetic-viva)
+               wan_mac=$(mtd_get_mac_binary factory 0x28)
                ;;
-       vr500)
-               lan_mac=$(mtd_get_mac_binary factory 57344)
-               wan_mac=$(mtd_get_mac_binary factory 57350)
+       tenda,w306r-v2)
+               wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5)
                ;;
-       w306r-v20)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               wan_mac=$(macaddr_add "$lan_mac" 5)
+       trendnet,tew-691gr)
+               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3)
                ;;
-       wcr-1166ds|\
-       wsr-1166)
-               local index="$(find_mtd_index "board_data")"
-               wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
-               lan_mac=$wan_mac
+       vocore,vocore2|\
+       vocore,vocore2-lite)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
                ;;
-       wcr-150gn)
-               wan_mac=$(mtd_get_mac_binary factory 40)
+       xiaomi,mir3g)
+               lan_mac=$(mtd_get_mac_binary factory 0xe006)
                ;;
-       whr-1166d|\
-       whr-300hp2|\
-       whr-600d|\
-       wsr-600)
-               wan_mac=$(mtd_get_mac_binary factory 4)
-               lan_mac=$wan_mac
+       xiaomi,mir3p)
+               lan_mac=$(mtd_get_mac_binary factory 0xe006)
+               label_mac=$lan_mac
                ;;
-       wizfi630a)
-               lan_mac=$(mtd_get_mac_binary factory 4)
-               wan_mac=$(mtd_get_mac_binary factory 40)
+       xiaomi,miwifi-mini)
+               lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
                ;;
-       wlr-6000)
-               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
+       zbtlink,zbt-we1326)
+               wan_mac=$(mtd_get_mac_binary factory 0xe006)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
                ;;
        *)
-               lan_mac=$(cat /sys/class/net/eth0/address)
-               wan_mac=$(macaddr_add "$lan_mac" 1)
+               wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
                ;;
        esac
 
        [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
        [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
+       [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
 }
 
 board_config_update