I'm running a Sierra Wireless MC7455 modem with SWI9X30C_02.32.11.00 r8042 CARMD-EV-FRMWR2 firmware. Using ModemManager 1.18.2 on Ubuntu 20.04.
I can get the modem to connect using mmcli -m 0 --simple-connect=. when the modem is in MBIM mode. I can get the modem to connect using qmicli and qmi-network when the modem is in QMI mode. But when I use mmcli with ModemManager, --simple-connect fails with error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Cancelled: operation cancelled' What is strange is that the modem seems to create a default bearer channel when it is enabled. Using simple-connect seems to create a second bearer channel which is rejected. But using -connect on the default bearer channel also fails. Following a modem reset, I see: root@de-01:~# mmcli -m 1 ---------------------------------- General | path: /org/freedesktop/ModemManager1/Modem/1 ... ---------------------------------- Status | lock: sim-pin2 | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10) | state: disabled | power state: on | signal quality: 0% (cached) ---------------------------------- ... ---------------------------------- 3GPP EPS | ue mode of operation: ps-2 | initial bearer apn: broadband | initial bearer ip type: ipv4v6 ---------------------------------- SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/1 | sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/1 (active) | slot 2: none Then if I enable the modem, the state goes to registered and a bearer is created. No bearer is created when in MBIM mode. root@de-01:~# mmcli -m 1 --enable successfully enabled the modem root@de-01:~# mmcli -m 1 ---------------------------------- General | path: /org/freedesktop/ModemManager1/Modem/1 ... ---------------------------------- Status | lock: sim-pin2 | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10) | state: registered | power state: on | access tech: lte | signal quality: 92% (recent) ---------------------------------- ... ---------------------------------- 3GPP EPS | ue mode of operation: ps-2 | initial bearer path: /org/freedesktop/ModemManager1/Bearer/2 | initial bearer apn: broadband | initial bearer ip type: ipv4v6 ---------------------------------- SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/1 | sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/1 (active) | slot 2: none Printing the properties of this bearer shows: root@de-01:~# mmcli -b 2 ------------------------- General | path: /org/freedesktop/ModemManager1/Bearer/2 | type: default-attach ------------------------- Status | connected: yes | suspended: no | multiplexed: no | ip timeout: 20 ------------------------- Properties | apn: broadband | ip type: ipv4 So the bearer is "connected" but the modem is not in a "connected" state. There are also no IPv4 parameters available. An attempt to connect the bearer is also rejected: root@de-01:~# mmcli -m 1 --bearer 2 --connect error: couldn't connect the bearer: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: Bearer doesn't allow explicit connection requests' Using simple connect results in two bearers. root@de-01:~# mmcli -m 1 --simple-connect='apn=broadband' error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Cancelled: operation cancelled' root@de-01:~# mmcli -m 1 ---------------------------------- General | path: /org/freedesktop/ModemManager1/Modem/1 ... ---------------------------------- Status | lock: sim-pin2 | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10) | state: registered | power state: on | access tech: lte | signal quality: 91% (recent) ---------------------------------- ... ---------------------------------- 3GPP EPS | ue mode of operation: ps-2 | initial bearer path: /org/freedesktop/ModemManager1/Bearer/3 | initial bearer apn: broadband | initial bearer ip type: ipv4v6 ---------------------------------- SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/1 | sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/1 (active) | slot 2: none ---------------------------------- Bearer | paths: /org/freedesktop/ModemManager1/Bearer/4 root@de-01:~# mmcli -b 3 ------------------------- General | path: /org/freedesktop/ModemManager1/Bearer/3 | type: default-attach ------------------------- Status | connected: yes | suspended: no | multiplexed: no | ip timeout: 20 ------------------------- Properties | apn: broadband | ip type: ipv4 root@de-01:~# mmcli -b 4 -------------------------------------- General | path: /org/freedesktop/ModemManager1/Bearer/4 | type: default -------------------------------------- Status | connected: no | connection error name: org.freedesktop.ModemManager1.Error.Core.Cancelled | connection error message: operation cancelled | suspended: no | multiplexed: no | ip timeout: 20 -------------------------------------- Properties | apn: broadband | roaming: allowed -------------------------------------- Statistics | attempts: 1 | attempts: 1 Can anyone explain what is happening and how to rectify the situation? (I do have ModemManager debug logs if that would help.) Jeffrey M Bushman Software Engineer 4 | Ciena Spokane, WA, USA O | +1.509.242-9405 M | +1.678.232.4013