rename -brcm-2.4 preinit files to -brcm, as they're shared with brcm47xx
[openwrt/openwrt.git] / target / linux / brcm-2.4 / base-files / lib / preinit / 05_init_interfaces_brcm
diff --git a/target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm b/target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm
new file mode 100644 (file)
index 0000000..81cf1f1
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+set_preinit_iface() {
+       ifname=eth0
+
+       insmod diag
+
+       # 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;;
+       esac
+}
+
+check_module () {
+  module="$1"; shift; params="$*"
+
+  insmod "$module" "$params"
+  sleep 1
+  grep "^$module" /proc/modules
+  return $?
+}
+
+init_iface() {
+       check_module tg3
+       insmod switch-core
+       check_module switch-robo || check_module switch-adm  || { 
+         check_module bcm57xx activate_gpio=0x4 && cpu_port="8u*"
+       } || rmmod switch-core
+}
+
+boot_hook_add preinit_main init_iface
+boot_hook_add preinit_main set_preinit_iface
+
+