From edab966e45dc53325de169b25d12dcaef6f64e10 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 12 Jan 2014 18:56:15 +0000 Subject: brcm47xx: fix network failsafe indication Remove the code used on the old switch driver. The Ethernet drive is loaded as a module and needs some time to get up therefor we added some wait function. Signed-off-by: Hauke Mehrtens SVN-Revision: 39254 --- .../base-files/lib/preinit/05_init_interfaces_brcm | 35 +++++----------------- 1 file changed, 7 insertions(+), 28 deletions(-) (limited to 'target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm') 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 76382e5cee..4b0d0eb674 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 @@ -1,37 +1,16 @@ #!/bin/sh -set_preinit_iface() { +preinit_iface() { ifname=eth0 # hardware specific overrides - case "$(cat /proc/diag/model)" in - "Linksys WAP54G V1") ifname=eth1;; - "ASUS WL-HDD") ifname=eth1;; - "ASUS WL-300g") ifname=eth1;; - "ASUS (unknown, BCM4702)") ifname=eth1;; - "Sitecom WL-105b") ifname=eth1;; + case "$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)" in + "Asus WLHDD") ifname=eth1;; + "Asus WL300G") ifname=eth1;; esac - # The interface has to be up to configure the switch - ifconfig $ifname 0.0.0.0 up - [ -f /lib/modules/`uname -r`/switch-robo.ko ] && { - rmmod switch-robo - insmod switch-robo - } - [ -f /lib/modules/`uname -r`/switch-adm.ko ] && { - rmmod switch-adm - insmod switch-adm - } + local try=0; + while [ $((try++)) -le 5 ] && [ ! -f /sys/class/net/$ifname/operstate ]; do sleep 1; done } -init_iface() { - [ -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 -boot_hook_add preinit_main init_iface +boot_hook_add preinit_main preinit_iface -- cgit v1.2.3