<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,<br><br><div class="gmail_quote"><div dir="ltr">Aleksander Morgado <<a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>> 於 2018年10月9日 週二 上午12:16寫道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey,<br>
<br>
> I'm now working on a modem "Cinterion Gemalto ELS61". And I tried to use it with ModemManager.<br>
> 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.<br>
><br>
> 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.<br>
> 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.<br>
><br>
> 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:<br>
><br>
<br>
Plugins can say "I don't support this specific device", and so in your<br>
case you could update the Cinterion plugin so that the specific<br>
vid:pid is listed in MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, and then the<br>
order of loading of plugins is irrelevant, see:<br>
<a href="https://www.freedesktop.org/software/ModemManager/api/latest/ref-overview-modem-port-probing.html#id-1.2.5.4" rel="noreferrer" target="_blank">https://www.freedesktop.org/software/ModemManager/api/latest/ref-overview-modem-port-probing.html#id-1.2.5.4</a>.<br></blockquote><div>Thanks, it's a better solution to this condition.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
BUT, why is it that the modem cannot be supported by the Cinterion<br>
plugin? Which are the commands that are different? Can the Cinterion<br>
plugin not be updated to support this new model as well?<br>
<br></blockquote><div>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.</div><div>The main reason that the modem cannot be supported by the Cinterion plugin is that the modem needs extra steps before connecting.</div><div>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.</div><div><br></div><div><div>regards,</div><div>Ken</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
-- <br>
Aleksander<br>
<a href="https://aleksander.es" rel="noreferrer" target="_blank">https://aleksander.es</a><br>
</blockquote></div></div></div></div></div>