ramips: add support for Xiaomi Mi Wi-Fi Router 3G v2
[openwrt/openwrt.git] / target / linux / ramips / base-files / etc / board.d / 02_network
index b80041c2abc2ed7a5d8d895c2d83d2c0dfa72c8b..480726a870e1a155d6b8857a3ed4a3a619987169 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"
@@ -82,12 +82,13 @@ ramips_setup_interfaces()
        telco-electronics,x1|\
        totolink,a7000r|\
        totolink,lr1200|\
-       unielec,u7621-06-256m-16m|\
-       unielec,u7621-06-512m-64m|\
+       unielec,u7621-06-16m|\
+       unielec,u7621-06-64m|\
        wavlink,wl-wn570ha1|\
        wavlink,wl-wn575a3|\
        xiaomi,miwifi-mini|\
        xiaomi,miwifi-nano|\
+       xiaoyu,xy-c5|\
        xzwifi,creativebox-v1|\
        youku,yk-l2|\
        youku,yk1|\
@@ -210,7 +211,7 @@ ramips_setup_interfaces()
        tplink,tl-wr841n-v13|\
        tplink,tl-wr841n-v14|\
        tplink,tl-wr842n-v5|\
-       unielec,u7628-01-128m-16m|\
+       unielec,u7628-01-16m|\
        ubiquiti,edgerouterx|\
        ubiquiti,edgerouterx-sfp|\
        upvel,ur-326n4g|\
@@ -226,10 +227,27 @@ ramips_setup_interfaces()
        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" \
                        "0:lan" "1:wan" "6@eth0"
                ;;
+       asus,rt-ac65p|\
+       asus,rt-ac85p|\
+       dlink,dir-860l-b1|\
+       elecom,wrc-1167ghbk2-s|\
+       elecom,wrc-1900gst|\
+       elecom,wrc-2533gst|\
+       huawei,hg255d|\
+       iodata,wn-ax1167gr|\
+       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"
+               ;;
        asus,rt-n15|\
        belkin,f9k1109v1|\
        sitecom,wl-351)
@@ -273,11 +291,14 @@ ramips_setup_interfaces()
                        "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
                ;;
        comfast,cf-wr800n|\
-       hnet,c108)
+       hnet,c108|\
+       tplink,tl-wr902ac-v3|\
+       trendnet,tew-638apb-v2)
                ucidef_add_switch "switch0" \
-                       "4:lan" "6t@eth0"
+                       "4:lan" "6@eth0"
                ;;
-       cudy,wr1000)
+       cudy,wr1000|\
+       xiaomi,mir3g-v2)
                ucidef_add_switch "switch0" \
                        "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
                ;;
@@ -297,17 +318,6 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
                ;;
-       dlink,dir-860l-b1|\
-       elecom,wrc-1167ghbk2-s|\
-       elecom,wrc-1900gst|\
-       elecom,wrc-2533gst|\
-       huawei,hg255d|\
-       iodata,wn-ax1167gr|\
-       iodata,wn-gx300gr|\
-       iptime,a604m)
-               ucidef_add_switch "switch0" \
-                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "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"
@@ -329,10 +339,18 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch1" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
                ;;
+       engenius,esr600)
+               ucidef_add_switch "switch0" \
+                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
+               ;;
        fon,fon2601)
                ucidef_add_switch "switch0" \
                        "0:lan" "4:wan" "6@eth0"
                ;;
+       edimax,rg21s)
+               ucidef_add_switch "switch0" \
+                       "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
+               ;;
        gehua,ghl-r-001)
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
@@ -363,6 +381,10 @@ ramips_setup_interfaces()
                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|\
@@ -431,7 +453,7 @@ ramips_setup_interfaces()
                        "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
                ;;
        sparklan,wcr-150gn|\
-       zbtlink,we1026-5g-16m)
+       zbtlink,zbt-we1026-5g-16m)
                ucidef_add_switch "switch0" \
                        "0:lan" "6t@eth0"
                ;;
@@ -445,14 +467,6 @@ ramips_setup_interfaces()
                        "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"
-               ;;
-       trendnet,tew-638apb-v2)
-               ucidef_add_switch "switch0" \
-                       "4:lan" "6@eth0"
-               ;;
        vocore,vocore2|\
        vocore,vocore2-lite)
                ucidef_add_switch "switch0" \
@@ -491,7 +505,7 @@ ramips_setup_interfaces()
                        "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
@@ -511,7 +525,8 @@ ramips_setup_macs()
        8devices,carambola|\
        alfa-network,w502u|\
        arcwireless,freestation5|\
-       cudy,wr1000|\
+       lenovo,newifi-y1|\
+       lenovo,newifi-y1s|\
        netgear,wnce2001|\
        ohyeah,oy-0001|\
        phicomm,k2g|\
@@ -528,8 +543,6 @@ ramips_setup_macs()
        huawei,d105|\
        hilink,hlk-7628n|\
        hilink,hlk-rm04|\
-       lenovo,newifi-y1|\
-       lenovo,newifi-y1s|\
        nexaira,bc2|\
        petatel,psr-680w|\
        skyline,sl-r7205)
@@ -546,11 +559,16 @@ ramips_setup_macs()
        phicomm,k2p|\
        planex,vr500|\
        samknows,whitebox-v8|\
+       youhua,wr1200js|\
        youku,yk-l2|\
-       zbtlink,zbt-we1326|\
        zbtlink,zbt-we3526)
                wan_mac=$(mtd_get_mac_binary factory 0xe006)
                ;;
+       asus,rt-ac65p|\
+       asus,rt-ac85p)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
+               ;;
        asus,rt-n56u)
                lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
                wan_mac=$(mtd_get_mac_binary factory 0x8004)
@@ -558,6 +576,7 @@ ramips_setup_macs()
        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)
@@ -571,9 +590,14 @@ ramips_setup_macs()
        buffalo,whr-g300n|\
        buffalo,wsr-600dhp|\
        glinet,gl-mt300n-v2|\
+       xiaomi,miwifi-mini|\
        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)
@@ -587,6 +611,17 @@ ramips_setup_macs()
        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)
@@ -595,6 +630,7 @@ ramips_setup_macs()
        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)
                ;;
        dovado,tiny-ac)
                lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
@@ -609,6 +645,11 @@ ramips_setup_macs()
        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|\
@@ -616,19 +657,25 @@ ramips_setup_macs()
        hiwifi,hc5861|\
        hiwifi,hc5861b|\
        hiwifi,hc5962)
-               lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
+               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)
                ;;
        iodata,wn-ac1167gr|\
        iodata,wn-ac733gr3)
-               wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
                ;;
        iodata,wn-ax1167gr|\
        iodata,wn-gx300gr|\
        trendnet,tew-692gr)
                wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
                ;;
+       iodata,wnpr2600g)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
+               label_mac=$wan_mac
+               ;;
+       iptime,a3|\
        iptime,a604m)
                wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
                ;;
@@ -667,12 +714,24 @@ ramips_setup_macs()
        trendnet,tew-691gr)
                wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3)
                ;;
-       xiaomi,mir3g|\
+       vocore,vocore2|\
+       vocore,vocore2-lite)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
+               ;;
+       xiaomi,mir3g)
+               lan_mac=$(mtd_get_mac_binary factory 0xe006)
+               ;;
+       xiaomi,mir3g-v2)
+               wan_mac=$(mtd_get_mac_binary factory 0xe006)
+               label_mac=$wan_mac
+               ;;
        xiaomi,mir3p)
                lan_mac=$(mtd_get_mac_binary factory 0xe006)
+               label_mac=$lan_mac
                ;;
-       xiaomi,miwifi-mini)
-               lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
+       zbtlink,zbt-we1326)
+               wan_mac=$(mtd_get_mac_binary factory 0xe006)
+               label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
                ;;
        *)
                wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
@@ -681,6 +740,7 @@ ramips_setup_macs()
 
        [ -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