<div><div><div dir="auto">Check out the paul/Infineon branch for some udev rules that should work in your case.</div><div dir="auto"><br></div><div dir="auto">You should be able to blacklist the offending ACM interface using a simile udev rule.</div><div dir="auto"><br></div><div dir="auto">Alternatively, also on that branch is a work in progress plugin for the HL75xx series that uses the NCM interfaces. There are some firmware quirks that make it tough to use the NCM ports on the "A" series firmware as-is, but changing the pdp_unlock parameter (via AT+HBHV) makes this plugin work.</div><br></div></div><div><div><div class="gmail_quote"><div>On Fri, Sep 1, 2017 at 1:26 PM Dan Williams <<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 2017-09-01 at 13:01 -0700, Tim Harvey wrote:<br>
> Greetings,<br>
><br>
> I've got a Sierra Wireless HL7588 modem which exposes three ttyACM<br>
> devs via the cdc_acm driver. The device appears to work fine with<br>
> ModemManager (1.6.8) but occasionally mm detects the primary device<br>
> as<br>
> ttyACM2 instead of the usuall ttyACM0. In this case (detected primary<br>
> AT interface of ttyACM2), if I've already configured NetworkManager<br>
> to<br>
> use /dev/ttyACM0 I can't bring up the modem.<br>
<br>
NM has a "DeviceIdentifier" property on GSM connections partly for this<br>
reason. You cannot always guarantee that even if MM *did* detect the<br>
first exposed TTY as primary, that it's going to be called ttyACM0.<br>
The kernel is free to name these things whatever it wants, and if<br>
ttyACM0 is already used it'll pick another one. I've had this happen<br>
when some program holds the TTY open and the modem reboots.<br>
<br>
So moral of the story is, don't depend on device names.<br>
<br>
Get the MM device identifier from the modem:<br>
<br>
dbus-send --print-reply --system --dest=org.freedesktop.ModemManager1<br>
/org/freedesktop/ModemManager1/Modem/0<br>
org.freedesktop.DBus.Properties.Get<br>
string:org.freedesktop.ModemManager1.Modem string:DeviceIdentifier<br>
<br>
and then set that string as the DeviceIdentifier in the NetworkManager<br>
connection for the modem. That connection will then only ever apply to<br>
that specific modem. You can then do things liek "nmcli con up<br>
<connection mame>" and NM will figure out what device it should use.<br>
<br>
Dan<br>
<br>
> What causes the primary interface to change and how am I supposed to<br>
> deal with it not being consistent with respect to NetworkManager<br>
> configuration?<br>
><br>
> Regards,<br>
><br>
> Tim<br>
> _______________________________________________<br>
> ModemManager-devel mailing list<br>
> <a href="mailto:ModemManager-devel@lists.freedesktop.org" target="_blank">ModemManager-devel@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel</a><br>
_______________________________________________<br>
ModemManager-devel mailing list<br>
<a href="mailto:ModemManager-devel@lists.freedesktop.org" target="_blank">ModemManager-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel</a><br>
</blockquote></div></div></div>