aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
diff options
context:
space:
mode:
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_brcm16
1 files changed, 16 insertions, 0 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
new file mode 100644
index 0000000..4b0d0eb
--- /dev/null
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+preinit_iface() {
+ ifname=eth0
+
+ # hardware specific overrides
+ case "$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)" in
+ "Asus WLHDD") ifname=eth1;;
+ "Asus WL300G") ifname=eth1;;
+ esac
+
+ local try=0;
+ while [ $((try++)) -le 5 ] && [ ! -f /sys/class/net/$ifname/operstate ]; do sleep 1; done
+}
+
+boot_hook_add preinit_main preinit_iface