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

Ben Chan benchan at chromium.org
Mon Nov 5 22:23:28 UTC 2018

On Sun, Nov 4, 2018 at 3:04 PM Aleksander Morgado
<aleksander at aleksander.es> wrote:
> Hey,
> >> > 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.
> https://gitlab.freedesktop.org/mobile-broadband/libqmi/merge_requests/8
> https://gitlab.freedesktop.org/mobile-broadband/libmbim/merge_requests/4
> 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.

That seems to address the issue I observed on Fibocom L850. I don't
have a QMI-MBIM device to test with at the moment.

> --
> Aleksander
> https://aleksander.es

More information about the libmbim-devel mailing list