diff options
-rw-r--r-- | meta/recipes-connectivity/connman/connman/connman | 23 |
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 |