The loading order of plugins

Ken CJ Chou kenchou0731 at gmail.com
Tue Oct 9 09:54:24 UTC 2018


Hi,

Aleksander Morgado <aleksander at aleksander.es> 於 2018年10月9日 週二 上午12:16寫道:

> 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
> .
>
Thanks, it's a better solution to this condition.

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?
>
> Then AT command such as "AT^SQPORT?" is not supported by "Cinterion
Gemalto ELS61". And The response message of command "AT+CFUN?" is in the
format "+CFUN: 1, 0", which is different from other modem.
The main reason that the modem cannot be supported by the Cinterion plugin
is that the modem needs extra steps before connecting.
But there're still some modems work well with the Cinterion plugin, so I
think its difficult to update the Cinterion plugin to support all those
modems.

regards,
Ken

> --
> Aleksander
> https://aleksander.es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20181009/da9b30fd/attachment-0001.html>


More information about the ModemManager-devel mailing list