Modem creation/startup order

Aleksander Morgado aleksander at
Fri Feb 10 17:47:13 UTC 2017

On Fri, Feb 10, 2017 at 3:39 PM,  <colin.helliwell at> wrote:
> I’ve got two ports whitelisted for use by MM. What determines which one of
> them will be ‘Modem/0’ ?

Just the first modem that finishes first probing all ports.

> Is there a way to get MM to create/initialise 0 first, then 1 – as opposed
> to doing both in *parallel*?

Nope, no way, they will be done in parallel. Note, though, that you
can "name" modems or refer to them directly using the physical device
USB path, which won't change across reboots:

> I’m getting MM to use the Cinterion plugin for my modem, by adding
> ENV{ID_MODEL_ID}="0x0001”
> to the udev rule (the port is a tty); together with mods to the plugin code,
> to set its MM_PLUGIN_ALLOWED_DRIVERS to the modem’s driver name.
> However it’s also deciding to also try 3 other plugins (as well as Generic)
> – Via, Iridium, Nokia.  It’s not a major problem because it does try
> Cinterion first, and decide it’s the best one. But why the other candidates?

The plugin that has a VID:PID list and matches the VID:PID of your
modem will always be tested first. The additional plugins are plugins
that support RAW RS232 devices; i.e. plugins where in addition to a
VID:PID list we also do AT queries to load vendor and product strings,
and we match against them. Think of a RS232 modem behind a USB
adapter, there is no VID:PID match possible there, but the plugins
still query the modem to decide which is the best plugin.


More information about the ModemManager-devel mailing list