Add Failsafe support for Linksys E3000V1 / WRT610NV2
[librecmc/librecmc.git] / target / linux / brcm47xx / base-files / lib / preinit / 05_init_interfaces_brcm
1 #!/bin/sh
2
3 set_preinit_iface() {
4         ifname=eth0
5
6         insmod diag
7         insmod hwmon
8         insmod pps_core
9         insmod ptp
10         insmod tg3
11         insmod b44
12         insmod bgmac
13
14         # hardware specific overrides
15         case "$(cat /proc/diag/model)" in
16                 "Linksys WAP54G V1") ifname=eth1;;
17                 "Linksys E3000 V1"|"Linksys WRT610N V2") cpu_port="8u*";;
18                 "ASUS WL-HDD") ifname=eth1;;
19                 "ASUS WL-300g") ifname=eth1;;
20                 "ASUS (unknown, BCM4702)") ifname=eth1;;
21                 "Sitecom WL-105b") ifname=eth1;;
22         esac
23         ifconfig $ifname 0.0.0.0 up
24 }
25
26 check_module () {
27   module="$1"; shift; params="$*"
28
29   insmod "$module" "$params"
30   sleep 1
31   grep -q ^"$module " /proc/modules
32   return $?
33 }
34
35 init_iface() {
36         insmod switch-core
37         check_module switch-robo || check_module switch-adm  || {
38           check_module bcm57xx activate_gpio=0x4 && cpu_port="8u*"
39         } || rmmod switch-core
40 }
41
42 boot_hook_add preinit_main set_preinit_iface
43 boot_hook_add preinit_main init_iface