ERROR: mbim message timeout - (using umbim on OpenWRT)

Bjørn Mork bjorn at mork.no
Thu Mar 12 05:27:41 PDT 2015


Aleksander Morgado <aleksander at aleksander.es> writes:
> On Thu, Mar 12, 2015 at 10:36 AM, Peter Gerten
> <peter.gerten at googlemail.com> wrote:
>> On Thu, Mar 12, 2015 at 5:04 PM, Aleksander Morgado
>> <aleksander at aleksander.es> wrote:
>>>
>>>
>>> umbim isn't based on libmbim, so this is not the proper place to ask.
>>> You should ask in the openwrt mailing list, as they are the ones who
>>> wrote it.
>>>
>> thanks for the info, I was not aware of that.
>>
>>>
>>> Anyway, maybe someone reading this mailing list may help?
>>>
>>> > All of the modem work fine on Ubuntu 14.04 with ModemManager.
>>>
>>> Well, then that's good news for libmbim :)
>>>
>> Although the ModemManager mysteriously work (I use the nm-aplet UI in
>> Ubuntu), I could reproduce a behavior similar to umbim with mbimcli:
>>
>> peter at x240:~$ sudo mbimcli -d /dev/cdc-wdm1 --query-device-caps
>> [/dev/cdc-wdm1] Device capabilities retrieved:
>>           Device type: 'embedded'
>>        Cellular class: 'gsm'
>>           Voice class: 'embedded'
>>             Sim class: 'removable'
>>            Data class: 'gprs, edge, umts, hsdpa, hsupa, custom'
>>              SMS caps: 'pdu-receive, pdu-send'
>>             Ctrl caps: 'reg-manual, hw-radio-switch'
>>          Max sessions: '8'
>>     Custom data class: 'HSPA+'
>>             Device ID: '862595020074379'
>>         Firmware info: '11.350.16.17.00'
>>         Hardware info: 'ML1ME936M'
>>
>> peter at x240:~$ sudo mbimcli -d /dev/cdc-wdm1 --query-device-caps
>> error: operation failed: Transaction timed out
>>
>> Again, the is difficult for me to reproduce as I can sometimes call it
>> several times in a row without timeout. This happens with mbimcli 1.6.0 (as
>> shipped with Ubuntu 14.04) as well as with mbimcli 1.13.0 which I just built
>> from the latest sources on the git repository.
>
> If you want to run mbimcli at the same time as ModemManager uses the
> MBIM port, then you need to run mbimcli with the --device-open-proxy
> (or short, '-p'), so that it uses the MBIM Proxy setup in libmbim to
> share the MBIM port (available since libmbim 1.10.0 and MM 1.4).

But then you have to make sure that ModemManager uses the proxy too, or
you will experience exactly the same behaviour as described above.

BTDT :-)


> If you're stuck with libmbim 1.6 or MM < 1.4, then MM will still work,
> but you won't be able to run mbimcli commands at the same time.
>
> In the case of umbim, you can only run one umbim process at any given
> time, or they will fight for the same port. The transaction timeout
> may be because umbim isn't getting a response message and it times
> out, or because another umbim process is around taking care of the
> message receptions.

I believe there are too many things to fix in umbim at the time being
for us to guess exactly which bug is causing this behaviour.  One
obvious one, which might cause such problems, is the static
MBIM_BUFFER_SIZE (at least looking at the 2014-12-10 umbim version,
which seems to be the default in current OpenWRT trunk). I am sure there
are other bugs too.

The umbim package looks like a good start, but it is not nearly as
mature as libmbim yet. umbim is currently in a state where it probably
works on some specific modems, but it needs more work to generalize it
for any MBIM modem. Like using the modem specified buffer size.


Bjørn


More information about the libmbim-devel mailing list