primary device changing from boot to boot

Dan Williams dcbw at
Fri Sep 1 20:22:45 UTC 2017

On Fri, 2017-09-01 at 13:01 -0700, Tim Harvey wrote:
> Greetings,
> I've got a Sierra Wireless HL7588 modem which exposes three ttyACM
> devs via the cdc_acm driver. The device appears to work fine with
> ModemManager (1.6.8) but occasionally mm detects the primary device
> as
> ttyACM2 instead of the usuall ttyACM0. In this case (detected primary
> AT interface of ttyACM2), if I've already configured NetworkManager
> to
> use /dev/ttyACM0 I can't bring up the modem.

NM has a "DeviceIdentifier" property on GSM connections partly for this
reason.  You cannot always guarantee that even if MM *did* detect the
first exposed TTY as primary, that it's going to be called ttyACM0. 
The kernel is free to name these things whatever it wants, and if
ttyACM0 is already used it'll pick another one.  I've had this happen
when some program holds the TTY open and the modem reboots.

So moral of the story is, don't depend on device names.

Get the MM device identifier from the modem:

dbus-send --print-reply --system --dest=org.freedesktop.ModemManager1
string:org.freedesktop.ModemManager1.Modem string:DeviceIdentifier

and then set that string as the DeviceIdentifier in the NetworkManager
connection for the modem.  That connection will then only ever apply to
that specific modem.  You can then do things liek "nmcli con up
<connection mame>" and NM will figure out what device it should use.


> What causes the primary interface to change and how am I supposed to
> deal with it not being consistent with respect to NetworkManager
> configuration?
> Regards,
> Tim
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at

More information about the ModemManager-devel mailing list