brcm47xx: add proper switch port mapping for WRT610Nv2 / Linksys E3000v1
[openwrt/staging/rmilecki.git] / target / linux / brcm47xx / base-files / etc / board.d / 01_detect
index 2623b57bce4f7f45442fecdb93809ca331859e20..91ac16eed74f7df38a535c527c8d793ac34793a0 100755 (executable)
@@ -2,7 +2,7 @@
 # Copyright (C) 2006-2015 OpenWrt.org
 
 . /lib/functions/system.sh
-. /lib/functions/uci-defaults-new.sh
+. /lib/functions/uci-defaults.sh
 
 detect_by_vlanports() {
        local vlan0ports="$(nvram get vlan0ports)"
@@ -17,6 +17,13 @@ detect_by_vlanports() {
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
 
+       elif [ "${vlan0ports:0:9}" = "1 2 3 4 8" -a "${vlan1ports:0:3}" = "0 8" -a ${cpuport:-0} -eq 8 ] || \
+            [ "${vlan1ports:0:9}" = "1 2 3 4 8" -a "${vlan2ports:0:3}" = "0 8" -a ${cpuport:-0} -eq 8 ] || \
+            [ "${vlan2ports:0:9}" = "1 2 3 4 8" -a "${vlan1ports:0:3}" = "0 8" -a ${cpuport:-0} -eq 8 ];
+       then
+               ucidef_add_switch "switch0" \
+                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "8@eth0"
+
        elif [ "${vlan0ports:0:9}" = "0 1 2 3 5" -a "${vlan1ports:0:3}" = "4 5" -a ${cpuport:-0} -eq 5 ] || \
                 [ "${vlan1ports:0:9}" = "0 1 2 3 5" -a "${vlan2ports:0:3}" = "4 5" -a ${cpuport:-0} -eq 5 ] || \
                 [ "${vlan2ports:0:9}" = "0 1 2 3 5" -a "${vlan1ports:0:3}" = "4 5" -a ${cpuport:-0} -eq 5 ];
@@ -24,6 +31,13 @@ detect_by_vlanports() {
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
 
+       elif [ "${vlan0ports:0:9}" = "1 2 3 4 5" -a "${vlan1ports:0:3}" = "0 5" -a ${cpuport:-0} -eq 5 ] || \
+            [ "${vlan1ports:0:9}" = "1 2 3 4 5" -a "${vlan2ports:0:3}" = "0 5" -a ${cpuport:-0} -eq 5 ] || \
+            [ "${vlan2ports:0:9}" = "1 2 3 4 5" -a "${vlan1ports:0:3}" = "0 5" -a ${cpuport:-0} -eq 5 ];
+       then
+               ucidef_add_switch "switch0" \
+                       "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
+
        else
                logger -t "01_detect" "Unable to determine network configuration"
                ucidef_set_interface_lan "eth0"
@@ -149,6 +163,11 @@ detect_by_model() {
                        "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
                ;;
 
+       "Linksys E3000 V1")
+               ucidef_add_switch "switch0" \
+                       "0:wan" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "8@eth0"
+               ;;
+
        *)
                detect_by_boardtype "$boardtype" "$boardnum"
                ;;