The loading order of plugins

Aleksander Morgado aleksander at aleksander.es
Mon Oct 8 16:16:48 UTC 2018


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-overview-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?

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list