<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 9/02/2016 9:08 AM, Dan Williams wrote:<br>
    <blockquote cite="mid:1454969282.23302.0.camel@redhat.com"
      type="cite">
      <pre wrap="">On Tue, 2016-02-09 at 07:31 +1100, Brendan Simon (eTRIX) wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">I have a number or remotely deployed arm embedded linux systems that
uses a 3G modem via USB to post http information once per second. 
 The
modem goes down from time to time.  One reason is we assert the power
reset line on the modem once a day (as I've been told that the modems
need to be reset periodically, otherwise functionality degrades or
eventually lost).  The other reasons I am not sure of (service
provider
initiated?  bugs in the application code?

The modem can be off for many hours before eventually reconnecting
(possibly by watchdog reboot) which is not acceptable for our real
-time
monitoring application.

Does MM automatically try to re-establish a connection if it sees the
connection go down, or the modem is reset?

Are there recommended or suggested MM settings such that MM will
continually try to reconnect if the modem goes down then back up?
</pre>
      </blockquote>
      <pre wrap="">
This is left up to the connection manager that controls ModemManager
and tells it to connect.  So whatever you're using to tell ModemManager
to start the data connection, that's the thing that would monitor for
the modem being disconnected and periodically restart the data
connection.</pre>
    </blockquote>
    <br>
    <font color="#663300">I created a NetworkManager broadband
      connection in a Debian virtual machine with a modem connected (dev
      kit).  I then copied the file that was created
      (/etc/NetworkManager/system-connections/telstra-mobile-broadband-1)
      into my build system which will populate my target rootfs for the
      embedded system.<br>
      <br>
      I found that the modem was not coming up at boot, but would come
      up if I used the `nmtui-connect` utility to activate the
      connection.  A systemd service was created to bring up the modem
      at boot time (a one-shot script, which brings the modem down then
      up then calls `nmcli d connect cdc-wdm0`).<br>
      <br>
      The scirpt works but I'm not sure if it's the `right way` to get
      the modem up automatically.  One interesting thing which may be a
      clue is that the modem connection does not appear in the
      `nmtui-edit` utility, but does appear in the `nmtui-connect`
      utility.  Is this expected ?  Also the LAN connection shows up in
      both utilities but there a connection file does not exist in
      /etc/NetworkManager/system-connections/<br>
      <br>
      I presume NetworkManager is starting and managing the connection,
      yes?  How do I get it to auto-reconnect when the connection goes
      down or is not available?  We are looking at running a custom
      script invoked via cron every minute, but that seems a bit hacky.<br>
      <br>
      The system connection file is as follows<br>
      <br>
    </font>
    <blockquote><font color="#663300"><tt>[connection]</tt><tt><br>
        </tt><tt>id=telstra-mobile-broadband-1</tt><tt><br>
        </tt><tt>uuid=ade7c9ec-26ad-4981-86b4-c2fc6fc4d200</tt><tt><br>
        </tt><tt>type=gsm</tt><tt><br>
        </tt><tt>permissions=user:root:;</tt><tt><br>
        </tt><tt>autoconnect=true</tt><tt><br>
        </tt><tt><br>
        </tt><tt>[gsm]</tt><tt><br>
        </tt><tt>number=*99#</tt><tt><br>
        </tt><tt>password-flags=1</tt><tt><br>
        </tt><tt>apn=telstra.extranet</tt><tt><br>
        </tt><tt><br>
        </tt><tt>[ipv4]</tt><tt><br>
        </tt><tt>method=auto</tt><tt><br>
        </tt><tt><br>
        </tt><tt>[serial]</tt><tt><br>
        </tt><tt>baud=115200</tt><br>
      </font></blockquote>
    <font color="#663300"><br>
      Thanks, Brendan.<br>
    </font><br>
  </body>
</html>