summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-connectivity/connman/connman/connman23
1 files changed, 15 insertions, 8 deletions
diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman
index 2625adeead..bf7a94a06d 100644
--- a/meta/recipes-connectivity/connman/connman/connman
+++ b/meta/recipes-connectivity/connman/connman/connman
@@ -30,16 +30,23 @@ do_start() {
30 EXTRA_PARAM="" 30 EXTRA_PARAM=""
31 if test $nfsroot -eq 1 ; then 31 if test $nfsroot -eq 1 ; then
32 NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` 32 NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`
33 NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ ]*\):.*$/\1/p'` 33 NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`
34 34
35 if [ x$NET_ADDR != x ]; then 35 if [ ! -z "$NET_ADDR" ]; then
36 for i in $NET_DEVS; do 36 if [ "$NET_ADDR" = dhcp ]; then
37 ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` 37 ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
38 if [ "$NET_ADDR" = "$ADDR" ]; then 38 if [ ! -z "$ethn" ]; then
39 EXTRA_PARAM="-I $i" 39 EXTRA_PARAM="-I $ethn"
40 break
41 fi 40 fi
42 done 41 else
42 for i in $NET_DEVS; do
43 ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
44 if [ "$NET_ADDR" = "$ADDR" ]; then
45 EXTRA_PARAM="-I $i"
46 break
47 fi
48 done
49 fi
43 fi 50 fi
44 fi 51 fi
45 if [ -f @LIBDIR@/connman/wired-setup ] ; then 52 if [ -f @LIBDIR@/connman/wired-setup ] ; then