Quectel RM520N-GL QMI InvalidOperation starting network

Luke Granger-Brown lukegb at lukegb.com
Sun Oct 1 14:48:23 UTC 2023


Hi,

I'm trying to use a Quectel modem (RM520N-GL) with ModemManager, and I
had it working previously except with occasional dropouts. While
debugging some errant problems where the modem would lose data
connectivity and start reporting no SIM card I flipped it to ECM mode
and messed with it (which, of course, had the same problem). Having
flipped it back to QMI I now can't get it to create a data connection
at all (to EE UK), with the connection attempt eventually terminating
with:

$ mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: 15a72cd830352aaab3[...elided...]
  -----------------------------------
  Hardware |            manufacturer: Quectel
           |                   model: RM520N-GL
           |       firmware revision: RM520NGLAAR01A05M4G
           |          carrier config: Commercial-EE
           | carrier config revision: 0A01220B
           |            h/w revision: 20000
           |               supported: gsm-umts, lte, 5gnr
           |                 current: gsm-umts, lte, 5gnr
           |            equipment id: 86837105[...elided...]
  -----------------------------------
  System   |                  device:
/sys/devices/platform/cp0/cp0:config-space at f2000000/f2500000.usb/usb4/4-1/4-1.4
           |                 drivers: option, qmi_wwan
           |                  plugin: quectel
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (qmi), ttyUSB2 (at),
ttyUSB3 (at), wwu1u4i4 (net)
  -----------------------------------
  Numbers  |                     own: 07904[...elided...]
  -----------------------------------
  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, 5gnr
           |          signal quality: 88% (recent)
  -----------------------------------
  Modes    |               supported: allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                          allowed: 5g; preferred: none
           |                          allowed: 4g, 5g; preferred: 5g
           |                          allowed: 4g, 5g; preferred: 4g
           |                          allowed: 3g, 5g; preferred: 5g
           |                          allowed: 3g, 5g; preferred: 3g
           |                          allowed: 3g, 4g, 5g; preferred: 5g
           |                          allowed: 3g, 4g, 5g; preferred: 4g
           |                          allowed: 3g, 4g, 5g; preferred: 3g
           |                 current: allowed: 3g, 4g, 5g; preferred: 4g
  -----------------------------------
  Bands    |               supported: utran-1, utran-4, utran-6,
utran-5, utran-8, utran-2,
           |                          eutran-1, eutran-2, eutran-3,
eutran-4, eutran-5, eutran-7, eutran-8,
           |                          eutran-12, eutran-13, eutran-14,
eutran-17, eutran-18, eutran-19,
           |                          eutran-20, eutran-25, eutran-26,
eutran-28, eutran-29, eutran-30,
           |                          eutran-32, eutran-34, eutran-38,
eutran-39, eutran-40, eutran-41,
           |                          eutran-42, eutran-43, eutran-46,
eutran-48, eutran-66, eutran-71,
           |                          utran-19, ngran-1, ngran-2,
ngran-3, ngran-5, ngran-7, ngran-8,
           |                          ngran-12, ngran-13, ngran-14,
ngran-18, ngran-20, ngran-25, ngran-26,
           |                          ngran-28, ngran-29, ngran-30,
ngran-38, ngran-40, ngran-41, ngran-48,
           |                          ngran-66, ngran-70, ngran-71,
ngran-75, ngran-76, ngran-77, ngran-78,
           |                          ngran-79
           |                 current: utran-1, utran-4, utran-5,
utran-8, utran-2, eutran-1,
           |                          eutran-2, eutran-3, eutran-4,
eutran-5, eutran-7, eutran-8,
           |                          eutran-12, eutran-13, eutran-14,
eutran-17, eutran-18, eutran-19,
           |                          eutran-20, eutran-25, eutran-26,
eutran-28, eutran-29, eutran-30,
           |                          eutran-32, eutran-34, eutran-38,
eutran-39, eutran-40, eutran-41,
           |                          eutran-42, eutran-43, eutran-46,
eutran-48, eutran-66, eutran-71,
           |                          utran-19, ngran-1, ngran-2,
ngran-3, ngran-5, ngran-7, ngran-8,
           |                          ngran-12, ngran-13, ngran-14,
ngran-18, ngran-20, ngran-25, ngran-26,
           |                          ngran-28, ngran-29, ngran-30,
ngran-38, ngran-40, ngran-41, ngran-48,
           |                          ngran-66, ngran-70, ngran-71,
ngran-75, ngran-76, ngran-77, ngran-78,
           |                          ngran-79
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 86837105[...elided...]
           |           enabled locks: fixed-dialing
           |             operator id: 23430
           |           operator name: EE
           |            registration: home
           |    packet service state: attached
  -----------------------------------
  3GPP EPS |    ue mode of operation: csps-2
           |     initial bearer path: /org/freedesktop/ModemManager1/Bearer/4
           |      initial bearer apn: everywhere
           |  initial bearer ip type: ipv4
  -----------------------------------
  SIM      |        primary sim path: /org/freedesktop/ModemManager1/SIM/0
           |          sim slot paths: slot 1:
/org/freedesktop/ModemManager1/SIM/0 (active)
           |                          slot 2: none
  -----------------------------------
  Bearer   |                   paths: /org/freedesktop/ModemManager1/Bearer/3
           |                          /org/freedesktop/ModemManager1/Bearer/2
           |                          /org/freedesktop/ModemManager1/Bearer/1

$ nmcli c up EE
Error: Connection activation failed: Unknown error
Hint: use 'journalctl -xe
NM_CONNECTION=f4c3ad45-d4a3-44ee-b29f-af10b5974d22 +
NM_DEVICE=cdc-wdm0' to get more details.

$ journalctl -u ModemManager -f
[... the whole thing is at
https://gist.github.com/lukegb/d96bb18c584821d9614976d1fa0a55be,
didn't want to spam the list with it ...]

Oct 01 14:38:40 kerrigan ModemManager[5121]: <debug>
[1696171120.668326] [/dev/cdc-wdm0] received generic response
(translated)...
                                             <<<<<< QMUX:
                                             <<<<<<   length  = 26
                                             <<<<<<   flags   = 0x80
                                             <<<<<<   service = "wds"
                                             <<<<<<   client  = 16
                                             <<<<<< QMI:
                                             <<<<<<   flags       = "response"
                                             <<<<<<   transaction = 83
                                             <<<<<<   tlv_length  = 14
                                             <<<<<<   message     =
"Start Network" (0x0020)
                                             <<<<<< TLV:
                                             <<<<<<   type       =
"Result" (0x02)
                                             <<<<<<   length     = 4
                                             <<<<<<   value      = 01:00:46:00
                                             <<<<<<   translated =
FAILURE: InvalidOperation
                                             <<<<<< TLV:
                                             <<<<<<   type       =
"Packet Data Handle" (0x01)
                                             <<<<<<   length     = 4
                                             <<<<<<   value      = 00:00:00:00
                                             <<<<<<   translated = 0
Oct 01 14:38:40 kerrigan ModemManager[5121]: <info>
[1696171120.668402] [modem0/bearer1] couldn't start network: QMI
protocol error (70): 'InvalidOperation'
Oct 01 14:38:40 kerrigan ModemManager[5121]: <warn>
[1696171120.668438] [modem0/bearer1] connection attempt #11 failed:
QMI protocol error (70): 'InvalidOperation'
Oct 01 14:38:40 kerrigan ModemManager[5121]: <debug>
[1696171120.668623] [modem0/bearer1] cannot set QMI protocol error as
connection error: QMI protocol
error (70): 'InvalidOperation'
Oct 01 14:38:40 kerrigan ModemManager[5121]: <info>
[1696171120.668693] [modem0] state changed (connecting -> registered)
Oct 01 14:38:40 kerrigan ModemManager[5121]: <info>
[1696171120.669098] [modem0/bearer1] connection #11 finished: duration
0s

I've tried sending the modem AT+QPRTPARA=3 / AT+QPRTPARA=1 to try and
clear something I might have done to the modem, resetting it with
mmcli -m any --reset, etc. but I just end up getting InvalidOperation
and I'm not really sure what else to try. I updated to MM 1.22-rc1 /
libqmi 1.34-rc1 / libmbim 1.30-rc1 in the hopes that I might get
_something_ more but no joy.

Are there any obvious patterns in the tea leaves I've missed or some
way to enable more detailed error reporting out of the modem?


More information about the ModemManager-devel mailing list