ModemManager auto reconnect

Brendan Simon (eTRIX) brendan.simon at etrix.com.au
Tue Feb 9 00:27:51 UTC 2016


On 9/02/2016 9:08 AM, Dan Williams wrote:
> On Tue, 2016-02-09 at 07:31 +1100, Brendan Simon (eTRIX) wrote:
>> 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?
> 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.

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.

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`).

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/

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.

The system connection file is as follows

    [connection]
    id=telstra-mobile-broadband-1
    uuid=ade7c9ec-26ad-4981-86b4-c2fc6fc4d200
    type=gsm
    permissions=user:root:;
    autoconnect=true

    [gsm]
    number=*99#
    password-flags=1
    apn=telstra.extranet

    [ipv4]
    method=auto

    [serial]
    baud=115200


Thanks, Brendan.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20160209/5f45597e/attachment.html>


More information about the ModemManager-devel mailing list