<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Peter: Actually I realised how severely damaged the umbim headers are when doing some SMS-stuff today.<br><div><div><br></div><div>One should look at the generated structs in libmbim and try to replace / correct the ones in umbim. For example: In umbim no structs holds a pointer. No structs holds the data-size for a ref-byte-array… Etc.</div><div><br></div><div>//M</div><div>On 13 Mar 2015, at 10:36 , Markus Gothe <<a href="mailto:nietzsche@lysator.liu.se">nietzsche@lysator.liu.se</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p dir="ltr">The struct is messed up, holding an uint32 instead of an ipv4element struct<br>
</p>
<div class="quote">Den 13 mar 2015 05:06 skrev Peter Gerten <<a href="mailto:peter.gerten@googlemail.com">peter.gerten@googlemail.com</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">For the IPv4 configuration, I get the correct gateway and DNS information but the IP address always is "24.0.0.0". Not sue what causes that. Any idea?<br><div><div><br></div><div>Peter<br><br></div><div><div class="elided-text">On Fri, Mar 13, 2015 at 4:29 AM, Markus Gothe <span dir="ltr"><<a href="mailto:nietzsche@lysator.liu.se">nietzsche@lysator.liu.se</a>></span> wrote:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex">I actually dug into 'umbim config' today... Yes IPv6 won't work at all... I decided to hide the problem behind a curtain. ;-)<br>
<br>
Well IIRC the struct might have some problems. I will check tomorrow. OK?<br>
<br>
//M - The panamahat hacker<br>
Den 12 mar 2015 14:31 skrev Bjørn Mork <<a href="mailto:bjorn@mork.no">bjorn@mork.no</a>>:<br>
<div>><br>
> Peter Gerten <<a href="mailto:peter.gerten@googlemail.com">peter.gerten@googlemail.com</a>> writes:<br>
><br>
> > There is actually code for MBIM_CID_IP_CONFIGURATION in the umbim source<br>
> > but it is not used in the connection script. I tried to add it and it gets<br>
> > DNS and gateway configuration right, but the IP address if wrong (I only<br>
> > tested ipv4 configuration, nor sure if ipv6 works).<br>
><br>
> Yes, I noticed that as well a while ago. Actually went as far as<br>
> thinking I could fix it. That's when I discovered the design thinko in<br>
> the data/<a href="http://gen-header.pl/">gen-header.pl</a> script: They try to convert every MBIM message<br>
> into a static sized struct.<br>
><br>
> That will obviously never work for any message with variable sized<br>
> fields. At least not any message varying at multiple places, and not<br>
> just the end. The MBIM_CID_IP_CONFIGURATION reply is a very complex<br>
> message, with flags indicating the presence of IPv4 and/or IPv6 data,<br>
> and each of those sets containing multple variable length arrays of<br>
> addresses. You just cannot create a single struct matching that...<br>
><br>
> But that's what they try to do:<br>
><br>
> struct mbim_basic_connect_ip_configuration_r {<br>
> uint32_t sessionid;<br>
> /* enum MbimIPConfigurationAvailableFlag */<br>
> uint32_t ipv4configurationavailable;<br>
> /* enum MbimIPConfigurationAvailableFlag */<br>
> uint32_t ipv6configurationavailable;<br>
> uint32_t ipv4addresscount;<br>
> /* struct mbimipv4element */<br>
> uint32_t ipv4address;<br>
> uint32_t ipv6addresscount;<br>
> /* struct mbimipv6element */<br>
> uint32_t ipv6address;<br>
> /* array type: ref-ipv4 */<br>
> uint32_t ipv4gateway;<br>
> /* array type: ref-ipv6 */<br>
> uint32_t ipv6gateway;<br>
> uint32_t ipv4dnsservercount;<br>
> /* array type: ipv4-array */<br>
> uint32_t ipv4dnsserver;<br>
> uint32_t ipv6dnsservercount;<br>
> /* array type: ipv6-array */<br>
> uint32_t ipv6dnsserver;<br>
> uint32_t ipv4mtu;<br>
> uint32_t ipv6mtu;<br>
> } __attribute__((packed));<br>
><br>
> Not really a show stopper. Anything can be fixed. It just wasn't the<br>
> quick fix I imagined it would be, so I decided to let it be.<br>
><br>
</div>> > I would actually love to use mbimcli instead of umbim on OpenWRT but<br>
> > currently do not know an easy way on how to do that.<br>
><br>
> Nor do I...<br>
><br>
> Fixing up umbim looks most promising, despite the issues mentioned. It<br>
> would be great if you were able to help doing that.<br>
><br>
> > I noticed Aleksander's blog post about a version with integrated<br>
> > ModemManager - unfortunately it seems to be very outdated now (<br>
> > <a href="https://sigquit.wordpress.com/2013/02/14/modemmanager-and-latest-udev-in-openwrt/">https://sigquit.wordpress.com/2013/02/14/modemmanager-and-latest-udev-in-openwrt/</a><br>
> > ).<br>
><br>
> Yes. But knowing the OpenWRT concerns about any size overhead (they<br>
> even delete most of the kernel module meta-data!), it is proably a waste<br>
> of time updating it. They will want umbim anyway, because of the<br>
> footprint.<br>
><br>
> Bjørn<br>
> _______________________________________________<br>
> libmbim-devel mailing list<br>
> <a href="mailto:libmbim-devel@lists.freedesktop.org">libmbim-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/libmbim-devel">http://lists.freedesktop.org/mailman/listinfo/libmbim-devel</a><br>
</blockquote></div><br></div></div></div>
</blockquote></div>_______________________________________________<br>libmbim-devel mailing list<br><a href="mailto:libmbim-devel@lists.freedesktop.org">libmbim-devel@lists.freedesktop.org</a><br>http://lists.freedesktop.org/mailman/listinfo/libmbim-devel<br></blockquote></div><br><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">//Markus - The panama-hat hacker</div>
</div>
<br></body></html>