[review] Fix subscribed event list management in the mbim-proxy

Aleksander Morgado aleksander at aleksander.es
Sun Nov 4 23:04:20 UTC 2018


>> > I've observed some out-of-sync issue between ModemManager and libmbim
>> > after applying this patchset .
>> >
>> > "mbimcli -p -d /dev/cdc-wdm0 --query-registration-state" reports the
>> > modem has registered to the home network, while "mmcli -m 0" reports
>> > modem state is "enabled" but not "registered".  I also observed once
>> > that the power/radio state was also out-of-sync between libmbim and
>> > ModemManager.
>> >
>> > Have you noticed any behavior difference?
>> >
>> Hum... no, I haven't observed any difference, which doesn't mean there
>> isn't any. A wild guess here, maybe we're actually de-registering from
>> the standard service indications with the new patches? I thought that
>> was not possible, at least not with the few devices I tested with. In
>> the worst case scenario, we can just bring back the logic that
>> explicitly registers to all indications in the basic services, but we
>> should make sure that's the problem first.
>> Which device are you using for testing?
>> Could you get debug logs *in the mbim-proxy* while testing this?
>> (you're using the proxy, right?)
> Yep, I was using the proxy. I didn't pay attention to the exact steps to reproduce the issue as I just observed it by chance. IIRC, the modem (Fibocom L850) was initially registered to network at boot. Then I used mmcli to disable it, and then to reenable it. I noticed the mmcli reported the modem wasn't registered. Then l used mbimcli to query but it said registered to home. I wasn't too sure which one lied. Also IIRC, the modem used to automatically register to home network after been enabled by MM.

I think I found the issue. I believe it's a mix between incorrectly
trying to enable QMI-over-MBIM indications in the Intel-based MBIM
modems and also assuming incorrectly that we cannot disable the
indications of standard services.

These two MRs should fix the issue you've seen, please test them and
report what you see.

With these two things in place, I can successfully get
"indicate-status" messages for the basic services on my L850.

There is one additional thing that we could fix, which is the fact
that when we enable the QMI-over-MBIM indications via MBIM device
service subscribe list, we're effectively disabling all standard
service indications that were automatically enabled for us, but that
is not an issue for ModemManager where we only enable those CIDs for
which we expect to receive indications. Not a big deal I think.


More information about the libmbim-devel mailing list