#!/bin/sh
# determine wired-lan or wlan

INSTALLED_WLAN_FILE=/var/log/installed_wlan

WLAN_IFNAME=`/bin/cat /var/log/wlan_ifname`

IFCFG_ETH0=/etc/sysconfig/network-scripts/ifcfg-eth0
IFCFG_WLAN=/etc/sysconfig/network-scripts/ifcfg-${WLAN_IFNAME}
SYS_NETWORK=/etc/sysconfig/network

if [ ! -f $INSTALLED_WLAN_FILE ]; then
	. $IFCFG_ETH0
	if [ $ONBOOT != "yes" ]; then
		sed -e "s/^ONBOOT=.*$/ONBOOT=yes/g" -i $IFCFG_ETH0
	fi
	exit 0
fi

##########################################################
# detect eth0 link state

#echo "	eth0 up"
/sbin/ifconfig eth0 up
sleep 4
#echo "	after sleep 4"

ETH0_OPERSTATE=`cat /sys/class/net/eth0/operstate`
# echo "ETH0_OPERSTATE $ETH0_OPERSTATE"
if [ "$ETH0_OPERSTATE" = "down" ]; then
	ETH0_PHY_STATE=0
else
	if [ "$ETH0_OPERSTATE" = "unknown" ]; then
		ETH0_PHY_STATE=`cat /sys/class/net/eth0/carrier`
	else
		ETH0_PHY_STATE=1
	fi
fi

echo
echo "	ETH0_PHY_STATE $ETH0_PHY_STATE"
echo

/sbin/ifconfig eth0 down
##########################################################


# if wlan installed & eth0 no link, activate wlan
if [ $ETH0_PHY_STATE -eq 0  ]; then
	. $IFCFG_ETH0
	if [ $ONBOOT != "no" ]; then
		sed -e "s/^ONBOOT=.*$/ONBOOT=no/g" -i $IFCFG_ETH0
	fi

	. $IFCFG_WLAN
	if [ $ONBOOT != "yes" ]; then
		sed -e "s/^ONBOOT=.*$/ONBOOT=yes/g" -i $IFCFG_WLAN
	fi

	. $SYS_NETWORK
	if [ "$GATEWAYDEV" != "ra0" ]; then
		sed -e "s/^GATEWAYDEV=.*$/GATEWAYDEV=ra0/g" -i $SYS_NETWORK
	fi
else
	. $IFCFG_ETH0
	if [ $ONBOOT != "yes" ]; then
		sed -e "s/^ONBOOT=.*$/ONBOOT=yes/g" -i $IFCFG_ETH0
	fi

	. $IFCFG_WLAN
	if [ $ONBOOT != "no" ]; then
		sed -e "s/^ONBOOT=.*$/ONBOOT=no/g" -i $IFCFG_WLAN
	fi

	. $SYS_NETWORK
	if [ "$GATEWAYDEV" != "eth0" ]; then
		sed -e "s/^GATEWAYDEV=.*$/GATEWAYDEV=eth0/g" -i $SYS_NETWORK
	fi
fi

exit 0
