<div dir="ltr"><div>Here is a utility that uses libmbim to issue the 0x555F command through the QMI-over-MBIM service.<br><br></div><div>I also attached a patch for libmbim-1.12.2 that includes the QMI-over-MBIM service.  Note that I had to modify the mbim-codegen files.  The function _mbim_struct_builder_append_byte_array in mbim_message.c was padding the output to multiples of 4. I had to add another flag (permit_padding) to _mbim_struct_builder_append_byte_array and _mbim_command_builder_append_byte_array, and the associated codegen files.  This alters the behavior so that types of unsized-byte-array are NOT padded.  This could have unforeseen consequences, but all the tests still passed...<br><br></div><div>With the new QMI-over-MBIM service in libmbim, it should not be that difficult to add the MBIM layer to libqmi (famous last words).<br><br></div><div>I believe this patch and utility will fix this issue for modems that do not cooperate on the QMI interface directly:<br><a href="https://bugzilla.kernel.org/show_bug.cgi?id=92101">https://bugzilla.kernel.org/show_bug.cgi?id=92101</a><br><br></div><div>Collin<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 30, 2015 at 5:49 PM, Bjørn Mork <span dir="ltr"><<a href="mailto:bjorn@mork.no" target="_blank">bjorn@mork.no</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Collin McMillan <<a href="mailto:cmc@nd.edu">cmc@nd.edu</a>> writes:<br>
<br>
> Wait, hold that thought.  I made a silly mistake!  I was sending 0x555B,<br>
> when it should be 0x555F.  Relevant part of the new transaction log:<br>
<br>
</span>Yes, I should have made it clearer that my trace was simply the example<br>
I had, and not the command you needed.<br>
<span class=""><br>
<br>
> Sent to modem 0x555F request<br>
><br>
> 03 00 00 00 3D 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 D1 A3 0B C2 F9<br>
> 7A 6E 43 BF 65 C7 E2 4F B0 F0 D3 01 00 00 00 01 00 00 00 0D 00 00 00 01 0C<br>
> 00 00 02 14 00 01 00 5F 55 00 00<br>
><br>
> Response recieved from modem<br>
><br>
> 03 00 00 80 44 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 D1 A3 0B C2 F9<br>
> 7A 6E 43 BF 65 C7 E2 4F B0 F0 D3 01 00 00 00 00 00 00 00 14 00 00 00 01 13<br>
> 00 80 02 14 02 01 00 5F 55 07 00 02 04 00 00 00 00 00<br>
><br>
><br>
> After this, it is necessary to reset the device (software detach and<br>
> reattach via USB authorized flag worked fine).  Then, I am able to<br>
> connect!  Finally!<br>
><br>
> I will clean up my code and make a utility available for anyone else having<br>
> this problem.  Then I'll work on integrating it into libqmi to create a<br>
> "MBIM layer" for QMI commands.<br>
<br>
</span>Great!<br>
<br>
FWIW, the 0x555B response you got can be decoded as:<br>
<br>
 01 25 00 80 02 03 02 06 00 5B 55 19 00 => header, message etc<br>
 02 04 00 00 00 00 00                   => status TLV, OK<br>
 10 01 00 0E                            => current USB comp is 14<br>
<span class=""> 11 0B 00 0A 01 06 07 08 09 0A 0B 0C 0E 13<br>
</span>    => 10 supported compositions:  1, 6, 7, 8, 9, 10, 11, 12, 14 and 19<br>
<br>
That list is a bit unexpected to me, showing that I certainly don't<br>
understand how all this works. I didn't expect "1" since that is usually<br>
"HIP  DM    NMEA  AT    MDM1  MS" AFAIK.  But I guess it means something<br>
different in this modem.  And I don't understand why 15, 16, 17 and 18<br>
are missing since they are only dual-mode combinations of modes 6 to 12.<br>
<br>
It's very useful to get this kind of info from different modems, since<br>
we have to guess how the firmware works. There are obviously still a few<br>
pieces missing.<br>
<div class="HOEnZb"><div class="h5"><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" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/libmbim-devel</a><br>
</div></div></blockquote></div><br></div>