The loading order of plugins
Dan Williams
dcbw at redhat.com
Mon Oct 8 18:36:39 UTC 2018
On Mon, 2018-10-08 at 18:16 +0200, Aleksander Morgado wrote:
> Hey,
>
> > I'm now working on a modem "Cinterion Gemalto ELS61". And I tried
> > to use it with ModemManager.
> > ModemManager suggests the "Cinterion" plugin. But somehow, the AT
> > command set and some response message format of "Cinterion Gemalto
> > ELS61" is different from other modems supported by the "Cinterion"
> > plugin. So I wrote a plugin named "G-ELS61" especially for it.
> >
> > The question is, both "Cinterion" plugin and "G-ELS61" plugin
> > support modem "Cinterion Gemalto ELS61". ModemManager will select
> > the prior loaded plugin as best-plugin.
> > While the order of loading plugins is not fixed in ModemManager
> > (Since "readdir()" returns entries in the order that files are
> > linked in filesystem). That means ModemManager may use different
> > plugin for the same modem on different devices.
> >
> > Currently, I use a simple workaround to solve the issue. I sort the
> > loading order by the plugins' filename before loading. So that I
> > can control the loading order of my plugin by its filename. The
> > diff log is attached below:
> >
>
> Plugins can say "I don't support this specific device", and so in
> your
> case you could update the Cinterion plugin so that the specific
> vid:pid is listed in MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, and then the
> order of loading of plugins is irrelevant, see:
> https://www.freedesktop.org/software/ModemManager/api/latest/ref-over
> view-modem-port-probing.html#id-1.2.5.4.
>
> BUT, why is it that the modem cannot be supported by the Cinterion
> plugin? Which are the commands that are different? Can the Cinterion
> plugin not be updated to support this new model as well?
If it helps to figure that out:
https://developer.gemalto.com/sites/default/files/els61-e2_atc_01000.pdf
Dan
More information about the ModemManager-devel
mailing list