From c0f6c75cf777e549e76f4e82ed89c2d5833246dc Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Thu, 14 Feb 2013 12:38:16 +0000
Subject: [PATCH] brcm47xx: if the cpuport of the switch is port 8 assume
 vlan0ports: "1 2 3 4 8" and vlan0ports: "0 8"

SVN-Revision: 35597
---
 .../brcm47xx/base-files/etc/init.d/netconfig  | 24 +++++++------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/target/linux/brcm47xx/base-files/etc/init.d/netconfig b/target/linux/brcm47xx/base-files/etc/init.d/netconfig
index 229beb900c..2b1a66d33d 100755
--- a/target/linux/brcm47xx/base-files/etc/init.d/netconfig
+++ b/target/linux/brcm47xx/base-files/etc/init.d/netconfig
@@ -91,6 +91,14 @@ start() {
 			if (mac_check != "") mac_check = mac_check ":"
 			mac_check = mac_check "[0-9a-fA-F][0-9a-fA-F]"
 		}
+		if (system("[ -d /proc/switch/eth0 ] ") == 0) {
+			getline < "/proc/switch/eth0/cpuport"
+			cpuport=$0
+			if (cpuport == "8") {
+				c["vlan0ports"]="1 2 3 4 8"
+				c["vlan1ports"]="0 8"
+			}
+		}
 	}
 
 	($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") || ($1 ~ /macaddr/) {
@@ -157,22 +165,6 @@ start() {
 			c["lan_ifname"] = "eth0"
 			c["wan_ifname"] = "eth1"
 		}
-		# generic broadcom 4705/4785 processor with 5397 switch?
-		#  EXCEPT Linksys WRT300N V1.1
-		if ((nvram["boardtype"] == "0x478") && \
-		    (model != "Linksys WRT300N V1.1")) {
-			c["vlan0ports"] = "1 2 3 4 8*"
-			c["vlan1ports"] = "0 8"
-		}
-
-		# generic broadcom 4716 processor with 53115 switch
-		if ((tolower(nvram["boardtype"]) == "0x04cf") || \
-			(tolower(nvram["boardtype"]) == "0xf5b2") || \
-			(tolower(nvram["boardtype"]) == "0xf52a") || \
-			(tolower(nvram["boardtype"]) == "0xf52e")) {
-			c["vlan0ports"] = "1 2 3 4 8*"
-			c["vlan1ports"] = "0 8"
-		}
 
 		# WAP54G
 		if ((nvram["boardnum"] == "2") || \
-- 
GitLab