diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-01-25 17:11:17 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-01-25 17:11:17 +0000 |
commit | a9929695c6ad0779eaa8cb3d68d37760981d55b7 (patch) | |
tree | 2f48135bc4a364cacd3ce07355213d4e32a9141f /target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4 | |
parent | 99c311e86cd7b0ed809a7994eb618819785a6223 (diff) |
add preinit modularization work by Daniel Dickinson (cshore)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19331 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4')
-rw-r--r-- | target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4 b/target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4 new file mode 100644 index 000000000..81cf1f138 --- /dev/null +++ b/target/linux/brcm-2.4/base-files/lib/preinit/05_init_interfaces_brcm-2.4 @@ -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 + + |