Search code examples
raspberry-piraspbianmodemnmcli

Modem on Raspbian not connecting with `nmcli`


I need to configure the [TRM240 modem][1] to work with a Raspbian system. I followed the procedure reported in the answer [here][2], but the connection isn't working.

I attach some screenshots documenting the procedure and the commands that I issued.

First, look for connected modems:

pi@raspberrypi:~ $ mmcli -L

Found 1 modems:
    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module

Check the unique modem found:

pi@raspberrypi:~ $ mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id 'e308f44de689f834e8cbc5b2122a4ffca8ddd3f5')
  -------------------------
  Hardware |   manufacturer: 'QUALCOMM INCORPORATED'
           |          model: 'QUECTEL Mobile Broadband Module'
           |       revision: 'EC21ECGAR06A04M1G'
           |      supported: 'gsm-umts
           |                  lte
           |                  gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: '864394040056931'
  -------------------------
  System   |         device: '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2'
           |        drivers: 'option1, qmi_wwan'
           |         plugin: 'Generic'
           |   primary port: 'cdc-wdm0'
           |          ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), cdc-wdm0 (qmi), wwan0 (net), ttyUSB3 (at)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'unknown'
           | unlock retries: 'unknown'
           |          state: 'failed'
           |  failed reason: 'sim-missing'
           |    power state: 'unknown'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
           |        current: 'allowed: any; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  SIM      |           path: 'none'

  -------------------------
  Bearers  |          paths: 'none'

Here, the Status section leaves me a little bit puzzled, but I try to go on.

I tried the following command using different options for ifname: cdc-wdm0, ttyUSB2 and ttyUSB3. They all end up to the same result.

pi@raspberrypi:~ $ sudo nmcli c add type gsm ifname cdc-wdm0 con-name modem apn mobile.vodafone.it
Connection 'modem' (9c34027f-5df5-4fd6-9792-223e225dfd41) successfully added.

Check the connections and try to take up modem:

pi@raspberrypi:~ $ nmcli con
NAME             UUID                                  TYPE    DEVICE          
br-12ff13c2c4e0  26450e11-6671-47c2-91af-6bf96405921b  bridge  br-12ff13c2c4e0 
br-acc4bdcbe6e7  440cfcc0-5318-4a9e-9259-3fb8700cf240  bridge  br-acc4bdcbe6e7 
docker0          8af67071-3cb2-4235-882f-1cc1f50fa7ca  bridge  docker0         
modem            9c34027f-5df5-4fd6-9792-223e225dfd41  gsm     --          

Try to take up:

pi@raspberrypi:~ $ nmcli con up modem
Error: Connection activation failed: No suitable device found for this connection.

Status of service NetworkManager:

pi@raspberrypi:~ $ systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-08-21 07:46:57 UTC; 2h 35min ago
     Docs: man:NetworkManager(8)
 Main PID: 710 (NetworkManager)
    Tasks: 3 (limit: 4915)
   Memory: 13.8M
      CPU: 3.862s
   CGroup: /system.slice/NetworkManager.service
           └─710 /usr/sbin/NetworkManager --no-daemon

Aug 21 07:48:53 raspberrypi NetworkManager[710]: <info>  [1597996133.0883] device (veth6ffb100): link connected
Aug 21 08:14:11 raspberrypi NetworkManager[710]: <error> [1597997651.4341] audit: failed to open auditd socket: Protocol not supported
Aug 21 08:14:11 raspberrypi NetworkManager[710]: <info>  [1597997651.4343] audit: op="device-managed" arg="managed:1" pid=11841 uid=0 result="success"
Aug 21 08:16:48 raspberrypi NetworkManager[710]: <info>  [1597997808.9388] audit: op="device-autoconnect" arg="autoconnect:1" pid=12910 uid=1000 result="fail" reason="Not authorized to perform this operat
Aug 21 08:17:41 raspberrypi NetworkManager[710]: <info>  [1597997861.0575] audit: op="connection-add-activate" pid=13286 uid=1000 result="fail" reason="gsm: GSM mobile broadband connection requires a 'gsm
Aug 21 08:25:25 raspberrypi NetworkManager[710]: <info>  [1597998325.2594] audit: op="connection-add-activate" pid=16224 uid=1000 result="fail" reason="gsm: GSM mobile broadband connection requires a 'gsm
Aug 21 10:06:31 raspberrypi NetworkManager[710]: <info>  [1598004391.9223] audit: op="connection-activate" uuid="06583333-e03e-431f-9376-94c38b6b607d" name="modem" result="fail" reason="No suitable device
Aug 21 10:19:24 raspberrypi NetworkManager[710]: <info>  [1598005164.3349] keyfile: add connection /etc/NetworkManager/system-connections/modem-9c34027f-5df5-4fd6-9792-223e225dfd41 (9c34027f-5df5-4fd6-979
Aug 21 10:19:24 raspberrypi NetworkManager[710]: <info>  [1598005164.3386] audit: op="connection-add" uuid="9c34027f-5df5-4fd6-9792-223e225dfd41" name="modem" pid=27261 uid=0 result="success"
Aug 21 10:20:29 raspberrypi NetworkManager[710]: <info>  [1598005229.6409] audit: op="connection-activate" uuid="06583333-e03e-431f-9376-94c38b6b607d" name="modem" result="fail" reason="No suitable device
lines 1-21/21 (END)

Here I see the error <error> [1597997651.4341] audit: failed to open auditd socket: Protocol not supported...

Status of service ModemManager (there are warnings, but not errors):

pi@raspberrypi:~ $ systemctl status ModemManager
● ModemManager.service - Modem Manager
   Loaded: loaded (/lib/systemd/system/ModemManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-08-21 07:46:57 UTC; 2h 35min ago
 Main PID: 712 (ModemManager)
    Tasks: 5 (limit: 4915)
   Memory: 8.7M
      CPU: 4.123s
   CGroup: /system.slice/ModemManager.service
           ├─712 /usr/sbin/ModemManager
           └─884 /usr/lib/libqmi/qmi-proxy

Aug 21 07:47:19 raspberrypi ModemManager[712]: [/dev/cdc-wdm0] Registered 'nas' (version 1.25) client with ID '2'
Aug 21 07:47:20 raspberrypi ModemManager[712]: [/dev/cdc-wdm0] Allocating new client ID...
Aug 21 07:47:20 raspberrypi ModemManager[712]: [/dev/cdc-wdm0] Registered 'wms' (version 1.10) client with ID '1'
Aug 21 07:47:20 raspberrypi ModemManager[712]: [/dev/cdc-wdm0] Allocating new client ID...
Aug 21 07:47:20 raspberrypi ModemManager[712]: [/dev/cdc-wdm0] Registered 'uim' (version 1.46) client with ID '1'
Aug 21 07:47:20 raspberrypi ModemManager[712]: <warn>  (ttyUSB2): port attributes not fully set
Aug 21 07:47:20 raspberrypi ModemManager[712]: <warn>  couldn't load Supported Bands: 'QMI operation failed: Cannot send message: QMI service 'dms' version '1.1' required, got version '1.0''
Aug 21 07:47:20 raspberrypi ModemManager[712]: <warn>  couldn't load Power State: 'QMI operation failed: Cannot send message: QMI service 'dms' version '1.1' required, got version '1.0''
Aug 21 07:47:55 raspberrypi ModemManager[712]: <warn>  Modem couldn't be initialized: Couldn't check unlock status: Couldn't get SIM lock status after 6 retries
Aug 21 07:47:55 raspberrypi ModemManager[712]: <info>  Modem: state changed (unknown -> failed)

System info:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.13 (stretch)
Release:    9.13
Codename:   stretch

Solution

  • It may be that the SIM is not working properly or the modem is not recognizing it.

    This is what the output

      -------------------------
      Status   |           lock: 'unknown'
               | unlock retries: 'unknown'
               |          state: 'failed'
               |  failed reason: 'sim-missing'
               |    power state: 'unknown'
               |    access tech: 'unknown'
               | signal quality: '0' (cached)
      -------------------------
    

    points out.

    Check this answer. (I didn't find it before posting my question.)