I’ve bought a Quectel EC20EA-MINIPCE since I need 3/3.5G cellular connectivity in an application and the EC20 “is known to work out of the box, hence only APN configuration is required” as shown on https://www.balena.io/fin/1.1/docs/developers/#Cellular-via-mPCIe-card.
I’ve configured the connection as shown on https://www.balena.io/docs/reference/OS/network/2.x/#cellular-modem-setup, but the EC20 can’t connect to the Internet!
I’ve installed minicom within my container and issuing commands such as AT+CPIN? and AT+CIMI on /dev/ttyUSB2 does reveal that the modem is feeling good.
I’ve also tried to get some inspiration from https://github.com/balena-io-playground/gps-tracker, so I’ve added the “udevRules” to my config.json, even if not sctricly needed.
The balenaFin V1.1 has been installed with balenaOS 2.29.2+rev7 and Suvervisor 9.0.1 is running on it. The image is based on:
FROM balenalib/%%RESIN_MACHINE_NAME%%-python:3.7.2-stretch-20190123
I’ve investigated some hours, then I found that the EC20 is not correctly detected at boot:
Mar 07 10:46:15 localhost systemd[1]: Starting Modem Manager...
Mar 07 10:46:15 b339bce ModemManager[651]: ModemManager (version 1.8.2) starting in system bus...
Mar 07 10:46:17 b339bce systemd[1]: Started Modem Manager.
Mar 07 10:46:17 b339bce NetworkManager[698]: <info> [1551955577.5660] modem-manager: ModemManager available
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] loaded driver of cdc-wdm port: qmi_wwan
Mar 07 10:46:18 b339bce ModemManager[651]: cannot connect to proxy: Could not connect: Connection refused
Mar 07 10:46:18 b339bce ModemManager[651]: spawning new qmi-proxy (try 1)...
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] Checking version info (10 retries)...
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] QMI Device supports 27 services:
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] ctl (1.5)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] wds (1.36)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] dms (1.14)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] nas (1.25)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] qos (1.3)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] wms (1.10)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] pds (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] auth (1.2)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] at (1.2)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] voice (2.1)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] cat2 (2.16)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] uim (1.25)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] pbm (1.4)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] test (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] loc (2.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] sar (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] ims (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] ts (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] tmd (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] wda (1.10)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] csvt (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] qcmap (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsp (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsvt (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsa (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] coex (1.0)
Mar 07 10:46:18 b339bce ModemManager[651]: [/dev/cdc-wdm0] rfrpe (1.0)
Mar 07 10:46:19 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1': not supported by any plugin
Mar 07 10:46:19 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1': not supported by any plugin
Mar 07 10:46:27 b339bce ModemManager[651]: (usbmisc/cdc-wdm0): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: (tty/ttyUSB3): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: (tty/ttyUSB0): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: [plugin manager] task 0,ttyUSB0: error when checking support with plugin 'Telit': 'Operation was cancelled'
Mar 07 10:46:27 b339bce ModemManager[651]: [plugin manager] task 0,ttyUSB0: failed: Operation was cancelled
Mar 07 10:46:27 b339bce ModemManager[651]: (tty/ttyUSB1): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: [plugin manager] task 0,ttyUSB1: error when checking support with plugin 'Telit': 'Operation was cancelled'
Mar 07 10:46:27 b339bce ModemManager[651]: [plugin manager] task 0,ttyUSB1: failed: Operation was cancelled
Mar 07 10:46:27 b339bce ModemManager[651]: [device /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2] creating modem with plugin 'Generic' and '2' ports
Mar 07 10:46:27 b339bce ModemManager[651]: Modem for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2' successfully created
Mar 07 10:46:27 b339bce ModemManager[651]: (tty/ttyUSB2): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1': not supported by any plugin
Mar 07 10:46:27 b339bce ModemManager[651]: (net/eth0): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1'
Mar 07 10:46:27 b339bce ModemManager[651]: [plugin manager] task 4,eth0: failed: Operation was cancelled
Mar 07 10:46:27 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1': not supported by any plugin
Mar 07 10:46:27 b339bce ModemManager[651]: (net/wwan0): released by device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
Mar 07 10:46:27 b339bce ModemManager[651]: couldn't load Supported IP families: 'AT command was cancelled'
Mar 07 10:46:27 b339bce ModemManager[651]: couldn't load Power State: 'No AT port available to run command'
Mar 07 10:46:27 b339bce ModemManager[651]: Modem couldn't be initialized: Couldn't check unlock status: Couldn't get interface skeleton
Mar 07 10:46:27 b339bce ModemManager[651]: couldn't initialize the modem: 'Operation was cancelled'
More important, I’ve found that manually forcing a “mmcli --scan-modems” on the host solves the problem:
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] loaded driver of cdc-wdm port: qmi_wwan
Mar 07 10:57:55 b339bce ModemManager[651]: cannot connect to proxy: Could not connect: Connection refused
Mar 07 10:57:55 b339bce ModemManager[651]: spawning new qmi-proxy (try 1)...
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] Checking version info (10 retries)...
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] QMI Device supports 27 services:
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] ctl (1.5)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] wds (1.36)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] dms (1.14)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] nas (1.25)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] qos (1.3)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] wms (1.10)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] pds (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] auth (1.2)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] at (1.2)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] voice (2.1)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] cat2 (2.16)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] uim (1.25)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] pbm (1.4)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] test (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] loc (2.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] sar (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] ims (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] ts (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] tmd (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] wda (1.10)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] csvt (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] qcmap (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsp (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsvt (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsa (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] coex (1.0)
Mar 07 10:57:55 b339bce ModemManager[651]: [/dev/cdc-wdm0] rfrpe (1.0)
Mar 07 10:57:56 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1': not supported by any plugin
Mar 07 10:57:56 b339bce ModemManager[651]: Couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1': not supported by any plugin
Mar 07 10:58:14 b339bce ModemManager[651]: [device /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2] creating modem with plugin 'Generic' and '6' ports
Mar 07 10:58:14 b339bce ModemManager[651]: Could not grab port (tty/ttyUSB1): 'Cannot add port 'tty/ttyUSB1', unhandled serial type'
Mar 07 10:58:14 b339bce ModemManager[651]: Modem for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2' successfully created
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] loaded driver of cdc-wdm port: qmi_wwan
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Checking version info (10 retries)...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] QMI Device supports 27 services:
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] ctl (1.5)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] wds (1.36)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] dms (1.14)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] nas (1.25)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] qos (1.3)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] wms (1.10)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] pds (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] auth (1.2)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] at (1.2)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] voice (2.1)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] cat2 (2.16)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] uim (1.25)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] pbm (1.4)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] test (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] loc (2.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] sar (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] ims (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] ts (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] tmd (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] wda (1.10)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] csvt (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] qcmap (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsp (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsvt (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] imsa (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] coex (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] rfrpe (1.0)
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Reading expected data format from: /sys/class/net/wwan0/qmi/raw_ip
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'wda' (version 1.10) client with ID '1'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Releasing 'wda' client with flags 'release-cid'...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Unregistered 'wda' client with ID '1'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'dms' (version 1.14) client with ID '6'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'nas' (version 1.25) client with ID '3'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'wms' (version 1.10) client with ID '2'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'pds' (version 1.0) client with ID '1'
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:14 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'uim' (version 1.25) client with ID '2'
Mar 07 10:58:15 b339bce ModemManager[651]: couldn't load list of Own Numbers: 'Couldn't get MSISDN: QMI protocol error (16): 'NotProvisioned''
Mar 07 10:58:15 b339bce ModemManager[651]: Modem: state changed (unknown -> disabled)
Mar 07 10:58:15 b339bce NetworkManager[698]: <info> [1551956295.4172] modem["cdc-wdm0"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
Mar 07 10:58:15 b339bce NetworkManager[698]: <info> [1551956295.4252] device (cdc-wdm0): modem state 'enabling'
Mar 07 10:58:15 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
Mar 07 10:58:15 b339bce ModemManager[651]: Simple connect started...
Mar 07 10:58:15 b339bce ModemManager[651]: Simple connect state (4/8): Wait to get fully enabled
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> enabled)
Mar 07 10:58:16 b339bce ModemManager[651]: Simple connect state (5/8): Register
Mar 07 10:58:16 b339bce NetworkManager[698]: <info> [1551956296.0984] modem["cdc-wdm0"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (unknown -> registering)
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabled -> registered)
Mar 07 10:58:16 b339bce NetworkManager[698]: <info> [1551956296.1773] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)
Mar 07 10:58:16 b339bce ModemManager[651]: Simple connect state (6/8): Bearer
Mar 07 10:58:16 b339bce ModemManager[651]: Simple connect state (7/8): Connect
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Mar 07 10:58:16 b339bce NetworkManager[698]: <info> [1551956296.2357] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Mar 07 10:58:16 b339bce ModemManager[651]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 07 10:58:16 b339bce ModemManager[651]: [/dev/cdc-wdm0] Registered 'wds' (version 1.36) client with ID '6'
Mar 07 10:58:16 b339bce ModemManager[651]: QMI IPv4 Settings:
Mar 07 10:58:16 b339bce ModemManager[651]: Address: 10.101.123.180/30
Mar 07 10:58:16 b339bce ModemManager[651]: Gateway: 10.101.123.181
Mar 07 10:58:16 b339bce ModemManager[651]: DNS #1: 62.13.169.94
Mar 07 10:58:16 b339bce ModemManager[651]: DNS #2: 62.13.169.95
Mar 07 10:58:16 b339bce ModemManager[651]: MTU: 1500
Mar 07 10:58:16 b339bce ModemManager[651]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> connected)
Mar 07 10:58:16 b339bce ModemManager[651]: Simple connect state (8/8): All done
Mar 07 10:58:16 b339bce NetworkManager[698]: <info> [1551956296.6554] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'connected' (reason: user-requested)
Have you got any suggestion? Maybe it’s just a timing problem?