From db135715b54e0d78023c137b5dddd40c97c5adac Mon Sep 17 00:00:00 2001 From: hauke Date: Sat, 16 Feb 2013 16:24:15 +0000 Subject: brcm47xx: improve cpuport detection for filesafe Do not try to load bcm57xx.ko any more this is not needed for kernel 2.6 and 3.X Ask the switch driver where the CPU port is. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35624 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../base-files/lib/preinit/05_init_interfaces_brcm | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'target/linux/brcm47xx/base-files/lib/preinit') diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm index 1275b0320..e85dd49f4 100644 --- a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm +++ b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm @@ -14,7 +14,6 @@ set_preinit_iface() { # hardware specific overrides case "$(cat /proc/diag/model)" in "Linksys WAP54G V1") ifname=eth1;; - "Linksys E3000 V1"|"Linksys WRT610N V2") cpu_port="8u*";; "ASUS WL-HDD") ifname=eth1;; "ASUS WL-300g") ifname=eth1;; "ASUS (unknown, BCM4702)") ifname=eth1;; @@ -23,20 +22,17 @@ set_preinit_iface() { ifconfig $ifname 0.0.0.0 up } -check_module () { - module="$1"; shift; params="$*" - - insmod "$module" "$params" - sleep 1 - grep -q ^"$module " /proc/modules - return $? -} - init_iface() { insmod switch-core - check_module switch-robo || check_module switch-adm || { - check_module bcm57xx activate_gpio=0x4 && cpu_port="8u*" - } || rmmod switch-core + insmod switch-robo + insmod switch-adm + + [ -d /proc/switch/eth0 ] && [ "$ifname" = "eth0" ] && { + case "$(cat /proc/switch/eth0/cpuport)" in + "5") cpu_port="5u*";; + "8") cpu_port="8u*";; + esac + } } boot_hook_add preinit_main set_preinit_iface -- cgit v1.2.3