QMI via MBIM for "FCC Authentication" fix

Emil Ljungdahl emil at kratern.se
Sat Apr 2 19:00:47 UTC 2016

On 08/12/15 07:27, Collin McMillan <cmc at nd.edu> wrote:
> Hi libmbim-ers,
> Here is an updated patch that includes a missing file (sorry!).
> Collin
> On Sun, Aug 2, 2015 at 9:29 AM, Collin McMillan <cmc at nd.edu> wrote:
>> On Sun, Aug 2, 2015 at 6:28 AM, Aleksander Morgado <
>> aleksander at aleksander.es> wrote:
>>> On Sat, Aug 1, 2015 at 11:07 PM, Collin McMillan <cmc at nd.edu> wrote:
>>>> Here is a utility that uses libmbim to issue the 0x555F command through
>>> the
>>>> QMI-over-MBIM service.
>>>> 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...
>>>> 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).
>>>> I believe this patch and utility will fix this issue for modems that do
>>> not
>>>> cooperate on the QMI interface directly:
>>>> https://bugzilla.kernel.org/show_bug.cgi?id=92101
>>> Looks pretty good!
>>> The libmbim patch has some wrong indentations (using tabs instead of
>>> spaces), but I can clean that up myself.
>> Oh yes, I suppose so.  If I made other mistakes, let me know and I'll fix
>> them.
>>> Your tool is also good, but why not add it as a new command to
>>> mbimcli? we could have a new "--qmi-dms-set-fcc-authentication"
>>> action; I think it's totally worth it, even as it is without the QMI
>>> over MBIM transport logic.
>> I'm not sure the best way to go from here.  What I would really like is if
>> ModemManager automatically did this on startup.  I know that ModemManager
>> already does this for proper QMI modems -- it somehow detects if the modem
>> is in LPM, and runs the FCC command via QMI.  No reason it couldn't be
>> updated to do it through QMI-over-MBIM as well.
>> If memory serves, ModemManager uses libqmi to do this.  If so, would it be
>> prudent to have the conversion handled automatically in libqmi?  In theory
>> it would require no changes to ModemManager, as the interface could be
> used
>> transparently.
>> On the other hand, perhaps I could update *both* ModemManager and mbimcli
>> to use the libmbim QMI-over-MBIM service?  That would essentially mean
>> putting the utility code in two places though.  So the choice is either
>> duplicate code (bad), or having libqmi use libmbim thus increasing the
>> number of dependencies (also bad).
>> In any case thanks very much for your and Bjorn's advice!  I am happily
>> sending this email from my now-LTE-enabled laptop! :-)
>>> --
>>> Aleksander
>>> https://aleksander.es

Hey guys

Any update on this one?
I got a new ThinkPad T460s with a Sierra EM7455 with the same behavior
here. So I guess this FCC Authentication is not something that will go
away anytime soon...
What can I help out with? Is the "QMI over MBIM" in libqmi the way to
go? How far did you get with that Collin?

Emil Ljungdahl

More information about the libmbim-devel mailing list