SVN: rc-scripts/trunk/sysconfig/network-scripts/functions.network
arekm
arekm at pld-linux.org
Thu Apr 23 22:59:14 CEST 2009
Author: arekm
Date: Thu Apr 23 22:59:14 2009
New Revision: 10333
Modified:
rc-scripts/trunk/sysconfig/network-scripts/functions.network
Log:
Don't rely on mii check (it's unreliable). 'radio off' clarifications. Less iterations in loop.
Modified: rc-scripts/trunk/sysconfig/network-scripts/functions.network
==============================================================================
--- rc-scripts/trunk/sysconfig/network-scripts/functions.network (original)
+++ rc-scripts/trunk/sysconfig/network-scripts/functions.network Thu Apr 23 22:59:14 2009
@@ -578,8 +578,9 @@
{
[ -x /sbin/iwconfig ] || return 2
local output=$(LC_ALL=C iwconfig "$1" 2>&1)
+ # "radio off" is ipwxxx only "feature" (and there is no "radio on")
echo "$output" | grep -q "radio off" && return 0
- # XXX why no 'radio on' check?
+ # XXX: need more generic checks for wifi
return 2
}
@@ -592,17 +593,20 @@
if ! LC_ALL=C ip link show dev $1 2>/dev/null| grep -q UP ; then
ip link set dev $1 up >/dev/null 2>&1
timeout=0
- while [ $timeout -le 10 ]; do
+ while [ $timeout -le 6 ]; do
check_mii_tool $1
m=$?
check_ethtool $1
e=$?
check_iwconfig $1
i=$?
- if [ $m -eq 1 ] || [ $e -eq 1 ] ; then
+ # trust ethtool and iwconfig
+ if [ $i -eq 1 ] || [ $e -eq 1 ] ; then
return 1
fi
- if [ $m -eq 2 ] && [ $e -eq 2 ] && [ $i -eq 2 ]; then
+ # use mii check only if all other check are unsupported
+ # (mii check lies too often)
+ if [ $m -eq 1 ] && [ $i -eq 2 ] && [ $e -eq 2 ]; then
return 1
fi
usleep 500000
More information about the pld-cvs-commit
mailing list