#!/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
	ifconfig $ifname 0.0.0.0 up
}

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 set_preinit_iface
boot_hook_add preinit_main init_iface
