<div dir="ltr">Hi Andreas,<div><br></div><div>Thanks for reviewing the patch.<br><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="gmail-"><br>
</span>I think this is too fragile to land in OE-Core. What happens if a<br>
network driver prints "device=eth0"? Or if other kernel messages make<br>
the string disappear from dmesg and connman gets restarted later?<br></blockquote><div> </div><div>True. If device=eth0 gets disappeared/corrupted, then we may have problem.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
FWIW, I'm attaching my current wrapper script for connmand. I don't<br>
think it's perfect, but at least it doesn't depend on any init manager<br>
and works across restarts.</blockquote><div>The wrapper script attached by you, takes care of the missing scenarios. Seems to be more complete.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Add these lines to connman's do_install, in case you'd like to test<br>
and/or submit it:<br>
<br>
mv ${D}${sbindir}/connmand ${D}${sbindir}/connmand.real<br>
install -m 755 ${WORKDIR}/<a href="http://connmand-nfsroot.in" rel="noreferrer" target="_blank">connmand-nfsroot.in</a> ${D}${sbindir}/connmand<br>
sed -e 's,@sbindir@,${sbindir},g' -i ${D}${sbindir}/connmand<br></blockquote><div>I think it would be good idea to integrate your changes into the already existing OE-core's connman script, instead of a calling original connman script from the wrapper script.</div><div><br></div><div>Regards,</div><div>Jagadeesh</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">><br>
> Signed-off-by: Jagadeesh Krishnanjanappa <<a href="mailto:jkrishnanjanappa@mvista.com">jkrishnanjanappa@mvista.com</a>><br>
> ---<br>
> meta/recipes-connectivity/<wbr>connman/connman/connman | 35 +++++++++++++----------<br>
> 1 file changed, 20 insertions(+), 15 deletions(-)<br>
><br>
> diff --git a/meta/recipes-connectivity/<wbr>connman/connman/connman b/meta/recipes-connectivity/<wbr>connman/connman/connman<br>
> index c64fa0d..aae2ca6 100644<br>
> --- a/meta/recipes-connectivity/<wbr>connman/connman/connman<br>
> +++ b/meta/recipes-connectivity/<wbr>connman/connman/connman<br>
> @@ -29,23 +29,28 @@ done<br>
> do_start() {<br>
> EXTRA_PARAM=""<br>
> if test $nfsroot -eq 1 ; then<br>
> - NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`<br>
> - NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`<br>
> + ethn_from_dmesg=`dmesg | grep "device="| sed "s|\(.*\)device=\(.*\), hwaddr=\(.*\)|\2|g"`<br>
> + if [ ! -z "$ethn_from_dmesg" ]; then<br>
> + EXTRA_PARAM="-I $ethn_from_dmesg"<br>
> + else<br>
> + NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`<br>
> + NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`<br>
><br>
> - if [ ! -z "$NET_ADDR" ]; then<br>
> - if [ "$NET_ADDR" = dhcp ]; then<br>
> - ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`<br>
> - if [ ! -z "$ethn" ]; then<br>
> - EXTRA_PARAM="-I $ethn"<br>
> - fi<br>
> - else<br>
> - for i in $NET_DEVS; do<br>
> - ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`<br>
> - if [ "$NET_ADDR" = "$ADDR" ]; then<br>
> - EXTRA_PARAM="-I $i"<br>
> - break<br>
> + if [ ! -z "$NET_ADDR" ]; then<br>
> + if [ "$NET_ADDR" = dhcp ]; then<br>
> + ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`<br>
> + if [ ! -z "$ethn" ]; then<br>
> + EXTRA_PARAM="-I $ethn"<br>
> fi<br>
> - done<br>
> + else<br>
> + for i in $NET_DEVS; do<br>
> + ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`<br>
> + if [ "$NET_ADDR" = "$ADDR" ]; then<br>
> + EXTRA_PARAM="-I $i"<br>
> + break<br>
> + fi<br>
> + done<br>
> + fi<br>
> fi<br>
> fi<br>
> fi<br>
><br>
<br>
</div></div><br>--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
<br></blockquote></div><br></div></div></div>