NetworkManager auto-connect GSM module is not stable



Hi NetworkManager authors,

***********************************************************************************************************

What I except:
    I want NetworkManager can auto-connect the GSM module in my board when reboot every time,
    So I set the 'connection.autoconnect' to 'yes' and set the 'connection.autoconnect-retries' to 3.

What I encounter:
    I found that the NetworkManager auto-connect GSM module is not stable, sometimes it works fine, but sometimes it is not ok

What I find:
    I checked the log of NetworkManager in syslog and found that NetworkManager tried to connect the GSM module only once in the condition auto-connect failed.
    I have set the 'connection.autoconnect' to 3 and why does NetworkManager reconnect only once sometimes?


***********************************************************************************************************

1. The Version of softwares is as follows:
 
root@debian:~# nmcli -v

nmcli tool, version 1.14.6


root@debian:~# mmcli -V

mmcli 1.10.0


root@debian:~# cat /proc/version

Linux version 4.19.38+ (builder@6628e7f94e5a) (gcc version 8.3.0 (Debian 8.3.0-2)) #1 SMP PREEMPT Mon Oct 14 20:34:37 UTC 2019

***********************************************************************************************************

2. My GSM connection file is as follows:

root@debian:~# nmcli connection show id cellular4g

connection.id:                          cellular4g
connection.uuid:                        ce204ddd-8e3e-4a15-8435-e4b7f399e353
connection.stable-id:                   --
connection.type:                        gsm
connection.interface-name:              --
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         3
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1571799683
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
connection.lldp:                        default
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       ""
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
ipv6.method:                            auto
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       ""
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-duid:                         --
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.token:                             --
gsm.number:                             *99#
gsm.username:                           --
gsm.password:                           <hidden>
gsm.password-flags:                     0 (none)
gsm.apn:                                ctnet
gsm.network-id:                         --
gsm.pin:                                <hidden>
gsm.pin-flags:                          0 (none)
gsm.home-only:                          no
gsm.device-id:                          --
gsm.sim-id:                             --
gsm.sim-operator-id:                    --
gsm.mtu:                                auto
proxy.method:                           none
proxy.browser-only:                     no
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NAME:                           cellular4g
GENERAL.UUID:                           ce204ddd-8e3e-4a15-8435-e4b7f399e353
GENERAL.DEVICES:                        ttyUSB1
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DEFAULT6:                       no
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                            no
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/2
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/1
GENERAL.ZONE:                           --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         10.10.145.85/30
IP4.GATEWAY:                            10.10.145.86
IP4.ROUTE[1]:                           dst = 10.10.145.84/30, nh = 0.0.0.0, mt = 700
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.10.145.86, mt = 700
IP4.DNS[1]:                             223.87.253.100
IP4.DNS[2]:                             223.87.253.253
IP6.GATEWAY:                            --

***********************************************************************************************************

3. The log of NeworkManager is as follows:
 
root@debian:~# cat /var/log/syslog | grep NetworkManager

Oct 23 05:05:36 iot2040b-debian NetworkManager[274]: <info>  [1571807136.3727] NetworkManager (version 1.14.6) is starting... (for the first time)
Oct 23 05:05:36 iot2040b-debian NetworkManager[274]: <info>  [1571807136.3733] Read config: /etc/NetworkManager/NetworkManager.conf (lib: no-mac-addr-change.conf)
Oct 23 05:05:36 iot2040b-debian NetworkManager[274]: <info>  [1571807136.4012] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Oct 23 05:05:36 iot2040b-debian NetworkManager[274]: <info>  [1571807136.4111] manager[0xaaaaeaab5020]: monitoring kernel firmware directory '/lib/firmware'.
Oct 23 05:05:36 iot2040b-debian NetworkManager[274]: <info>  [1571807136.4113] monitoring ifupdown state file '/run/network/ifstate'.
Oct 23 05:05:36 iot2040b-debian dbus-daemon[273]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.5' (uid=0 pid=274 comm="/usr/sbin/NetworkManager --no-daemon ")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.4172] hostname: hostname: using hostnamed
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.4174] hostname: hostname changed from (none) to "iot2040b-debian"
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.4186] dns-mgr[0xaaaaeaac3120]: init: dns=default, rc-manager=resolvconf
Oct 23 05:05:37 iot2040b-debian dbus-daemon[273]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.5' (uid=0 pid=274 comm="/usr/sbin/NetworkManager --no-daemon ")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5695] ifupdown:       interface-parser: parsing file /etc/network/interfaces
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5697] ifupdown:       interface-parser: source line includes interfaces file(s) /etc/network/interfaces.d
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5699] ifupdown:       interface-parser: finished parsing file /etc/network/interfaces
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5700] ifupdown: management mode: unmanaged
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5700] settings: Loaded settings plugin: SettingsPluginIfupdown ("/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-settings-plugin-ifupdown.so")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5701] settings: Loaded settings plugin: NMSKeyfilePlugin (internal)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5923] keyfile: new connection /etc/NetworkManager/system-connections/cellular4g (ce204ddd-8e3e-4a15-8435-e4b7f399e353,"cellular4g")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5965] manager: rfkill: WiFi enabled by radio killswitch; enabled by state file
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5975] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5982] manager: Networking is enabled by state file
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.5992] dhcp-init: Using DHCP client 'dhclient'
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6317] Loaded device plugin: NMWwanFactory (/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-device-plugin-wwan.so)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6429] Loaded device plugin: NMWifiFactory (/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-device-plugin-wifi.so)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6604] Loaded device plugin: NMTeamFactory (/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-device-plugin-team.so)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6807] Loaded device plugin: NMBluezManager (/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-device-plugin-bluetooth.so)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6849] Loaded device plugin: NMAtmManager (/usr/lib/aarch64-linux-gnu/NetworkManager/1.14.6/libnm-device-plugin-adsl.so)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6885] device (lo): carrier: link connected
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6901] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.6975] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.7103] keyfile: add connection /run/NetworkManager/system-connections/Wired connection 1.nmconnection (a763cb2c-3b39-3bde-b726-0fde88041a85,"Wired connection 1")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.7132] settings: (eth0): created default wired connection 'Wired connection 1'
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.7172] device (eth0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.8126] manager: (eth1): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.8275] keyfile: add connection /run/NetworkManager/system-connections/Wired connection 2.nmconnection (5e3aaea2-5d3a-3718-a421-9d6fe181c167,"Wired connection 2")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.8304] settings: (eth1): created default wired connection 'Wired connection 2'
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.8330] device (eth1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.9752] modem-manager: ModemManager available
Oct 23 05:05:43 iot2040b-debian NetworkManager[274]: <info>  [1571807143.9209] manager: startup complete
Oct 23 05:05:48 iot2040b-debian systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4621] modem["ttyUSB1"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4634] manager: (ttyUSB1): new Broadband device (/org/freedesktop/NetworkManager/Devices/4)
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4657] device (ttyUSB1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4680] device (ttyUSB1): modem state 'enabling'
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4710] device (ttyUSB1): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4733] policy: auto-activating connection 'cellular4g' (ce204ddd-8e3e-4a15-8435-e4b7f399e353)
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4777] device (ttyUSB1): Activation: starting connection 'cellular4g' (ce204ddd-8e3e-4a15-8435-e4b7f399e353)
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4783] device (ttyUSB1): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Oct 23 05:06:08 iot2040b-debian NetworkManager[274]: <info>  [1571807168.4803] manager: NetworkManager state is now CONNECTING
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.3977] modem["ttyUSB1"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.4845] modem["ttyUSB1"]: modem state changed, 'enabled' --> 'connecting' (reason: user-requested)
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.4856] modem["ttyUSB1"]: modem state changed, 'connecting' --> 'unknown' (reason: user-requested)
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.4857] device (ttyUSB1): state change: prepare -> disconnected (reason 'user-requested', sys-iface-state: 'managed')
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.4886] manager: NetworkManager state is now DISCONNECTED
Oct 23 05:06:11 iot2040b-debian NetworkManager[274]: <info>  [1571807171.5153] modem["ttyUSB1"]: modem state changed, 'unknown' --> 'registered' (reason: unknown)

******************************************************************************************************************

4. The log of ModemManager is as follows:

root@debian:~#  cat /var/log/syslog | grep ModemManager

Oct 23 05:05:35 iot2040b-debian ModemManager[263]: <info>  ModemManager (version 1.10.0) starting in system bus...
Oct 23 05:05:36 iot2040b-debian dbus-daemon[273]: [system] Activating via systemd: service name='org.freedesktop.PolicyKit1' unit='polkit.service' requested by ':1.4' (uid=0 pid=263 comm="/usr/sbin/ModemManager --filter-policy=strict ")
Oct 23 05:05:37 iot2040b-debian NetworkManager[274]: <info>  [1571807137.9752] modem-manager: ModemManager available
Oct 23 05:05:40 iot2040b-debian ModemManager[263]: <info>  Couldn't check support for device '/sys/devices/platform/interconnect@100000/4000000.dwc3/4010000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.4': not supported by any plugin
Oct 23 05:05:40 iot2040b-debian ModemManager[263]: <info>  Couldn't check support for device '/sys/devices/platform/pruss0_eth': not supported by any plugin
Oct 23 05:06:04 iot2040b-debian ModemManager[263]: <info>  [device /sys/devices/platform/interconnect@100000/4000000.dwc3/4010000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.2] creating modem with plugin 'Huawei' and '6' ports
Oct 23 05:06:04 iot2040b-debian ModemManager[263]: <warn>  Could not grab port (tty/ttyUSB5): 'Cannot add port 'tty/ttyUSB5', unhandled serial type'
Oct 23 05:06:04 iot2040b-debian ModemManager[263]: <warn>  Could not grab port (tty/ttyUSB2): 'Cannot add port 'tty/ttyUSB2', unhandled serial type'
Oct 23 05:06:04 iot2040b-debian ModemManager[263]: <info>  Modem for device '/sys/devices/platform/interconnect@100000/4000000.dwc3/4010000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.2' successfully created
Oct 23 05:06:08 iot2040b-debian ModemManager[263]: <info>  Modem: state changed (unknown -> disabled)
Oct 23 05:06:09 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
Oct 23 05:06:09 iot2040b-debian ModemManager[263]: <info>  Simple connect started...
Oct 23 05:06:09 iot2040b-debian ModemManager[263]: <info>  Simple connect state (4/8): Wait to get fully enabled
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> enabled)
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Simple connect state (5/8): Register
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (unknown -> registering)
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Simple connect state (6/8): Bearer
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Simple connect state (7/8): Connect
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabled -> connecting)
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <warn>  Couldn't find associated cdc-wdm port for 'net/wwan0'
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> unknown)
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
Oct 23 05:06:11 iot2040b-debian ModemManager[263]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (unknown -> registered)

******************************************************************************************************************

5. The status of my GSM module is as follows:

root@debian:~# mmcli -m 0

  --------------------------------
  General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: 0d490040902fa7c16849164490dbad5b61fc4758
  --------------------------------
  Hardware |         manufacturer: Huawei Technologies Co., Ltd.
           |                model: ME909s-821
           |             revision: 11.617.00.00.00
           |            supported: gsm-umts
           |              current: gsm-umts
           |         equipment id: 867223021127691
  --------------------------------
  System   |               device: /sys/devices/platform/interconnect@100000/4000000.dwc3/4010000.usb/xhci-hcd.0.auto/usb1/1-1/1-1.2
           |              drivers: option1, cdc_ether
           |               plugin: Huawei
           |         primary port: ttyUSB1
           |                ports: ttyUSB1 (at), ttyUSB3 (at), wwan0 (net), ttyUSB4 (at)
  --------------------------------
  Numbers  |                  own: +8613699437296
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
           |                state: registered
           |          power state: on
           |          access tech: lte
           |       signal quality: 64% (recent)
  --------------------------------
  Modes    |            supported: allowed: 4g; preferred: none
           |                       allowed: 3g; preferred: none
           |                       allowed: 2g; preferred: none
           |                       allowed: 2g, 3g, 4g; preferred: none
           |              current: allowed: 2g, 3g, 4g; preferred: none
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei: 867223021127691
           |          operator id: 46000
           |        operator name: CMCC
           |         registration: home
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------
  SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0
  --------------------------------
  Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]