aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-01-12 18:56:15 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-01-12 18:56:15 +0000
commitedab966e45dc53325de169b25d12dcaef6f64e10 (patch)
treea172bc7564f4fb68db94610de2ff33da3493bb10 /target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
parentf4f31511fdbc833d7d0d0f24bf2a646d309c9d9e (diff)
downloadupstream-edab966e45dc53325de169b25d12dcaef6f64e10.tar.gz
upstream-edab966e45dc53325de169b25d12dcaef6f64e10.tar.bz2
upstream-edab966e45dc53325de169b25d12dcaef6f64e10.zip
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 <hauke@hauke-m.de> SVN-Revision: 39254
Diffstat (limited to 'target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm')
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm35
1 files changed, 7 insertions, 28 deletions
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