rules.mk: export TMPDIR
[openwrt/openwrt.git] / target / linux / brcm47xx / base-files / lib / preinit / 15_set_preinit_interface_brcm
index bc749398f55c55942c3ce6544b76341012c634f8..f40e160b3b03f587fbda4b50676961d01af24284 100644 (file)
@@ -1,34 +1,16 @@
 #!/bin/sh
 
-preinit_net_echo_send() {
-       preinit_ip
+preinit_ip() {
+       # if the preinit interface isn't specified and ifname is set in
+       # preinit.arch use that interface
+       if [ -z "$pi_ifname" ]; then
+               pi_ifname=$ifname
+       fi
 
-       [ -d /proc/switch/eth0 ] && [ "$pi_ifname" = "eth0" ] && {
-
-               echo 1 > /proc/switch/eth0/reset
-               echo 1 > /proc/switch/eth0/enable
-               echo 1 > /proc/switch/eth0/enable_vlan
-
-               # this would be easier if we blasted the message across all ports
-               # but we don't want packets leaking across interfaces
-               for port in $(seq 0 4); do {
-
-                       echo "$port ${cpu_port:-5u*}" > /proc/switch/eth0/vlan/1/ports
-                       sleep 1
-
-                       netmsg $pi_broadcast "$1"
-               }; done
-
-       } || netmsg $pi_broadcast "$1"
-}
-
-preinit_net_echo() {
        [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
-               { 
-                       [ "$pi_preinit_net_messages" = "y" ] || {
-                               [ "$pi_failsafe_net_message"  = "true" ] && 
-                                   [ "$pi_preinit_no_failsafe_netmsg" != "y" ] 
-                        }
-               } && preinit_net_echo_send $1
-       }
+               ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up
+
+               local try=0;
+               while [ $((try++)) -le 5 ] && [ ! "$(cat /sys/class/net/$pi_ifname/operstate)" = "up" ]; do sleep 1; done
+       }
 }