AT&T QMI Cancel Location Handling

John Marrett johnf at zioncluster.ca
Mon Mar 18 23:12:41 UTC 2019


I'm currently working on a project with on the AT&T network using Jasper
managed SIMs. I'm running Modem Manager 1.10.0 using a custom scripts to
drive the connection.

When I send a "Cancel Location" message to my device I lose connection
until I force modem manager to reconnect. I don't see the bearer taken down.

I've seen different behaviour with cancel location on the Rogers and Telus
networks using PPP as opposed to QMI. Depending on the modem and network
I've needed to build connection handlers to reset the modem (AT+COPS)
following disconnect. I did however always receive a LCP termination
message from PPP.

Here's the state in mmcli before sending the cancel location:

  --------------------------------
  Status   |                 lock: sim-pin2
           |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)
           |                state: connected
           |          power state: on
           |          access tech: lte
           |       signal quality: 59% (recent)
  --------------------------------
  3GPP     |                 imei: 353969999999999
           |          operator id: 310410
           |        operator name: AT&T
           |         registration: home


And immediately after:


  --------------------------------
  Status   |                 lock: sim-pin2
           |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)
           |                state: connected
           |          power state: on
           |          access tech: lte
           |       signal quality: 59% (recent)
  --------------------------------
  3GPP     |                 imei: 353969999999999
           |          operator id: 310410
           |        operator name: AT&T
           |         registration: home


A few minutes later, the change to UMTS may not be related.

  --------------------------------
  Status   |                 lock: sim-pin2
           |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)
           |                state: connected
           |          power state: on
           |          access tech: umts
           |       signal quality: 18% (recent)
  --------------------------------
  3GPP     |                 imei: 353969999999999
           |          operator id: 310410
           |        operator name: AT&T
           |         registration: home


Debug messages don't show a received QMI message when I send the cancel
location. I do see some messages in the logs, but not immediately following
the disconnect:

Mar 18 23:15:48 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0] sent
message... <<<<<< RAW: <<<<<<   length = 20 <<<<<<   data   =
01:13:00:00:01:08:00:
DD:0F:24:00:07:00:01:04:00:C0:00:00:00
Mar 18 23:15:48 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0] sent
generic request (translated)... <<<<<< QMUX: <<<<<<   length  = 19 <<<<<<
flags
 = 0x00 <<<<<<   service = "wds" <<<<<<   client  = 8 <<<<<< QMI: <<<<<<
flags       = "none" <<<<<<   transaction = 4061 <<<<<<   tlv_length  = 7
<<<<<<
 message     = "Get Packet Statistics" (0x0024) <<<<<< TLV: <<<<<<
type       = "Mask" (0x01) <<<<<<   length     = 4 <<<<<<   value      =
C0:00:00:00 <<<
<<<   translated = tx-bytes-ok, rx-bytes-ok
Mar 18 23:15:48 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0]
received message... <<<<<< RAW: <<<<<<   length = 42 <<<<<<   data   =
01:29:00:80:01:08:02:DD:0F:24:00:1D:00:02:04:00:01:00:0F:00:1C:08:00:D6:29:00:00:00:00:00:00:1B:08:00:33:B6:27:00:00:00:00:00
Mar 18 23:15:48 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0]
received generic response (translated)... <<<<<< QMUX: <<<<<<   length  =
41 <<<<<<   flags   = 0x80 <<<<<<   service = "wds" <<<<<<   client  = 8
<<<<<< QMI: <<<<<<   flags       = "response" <<<<<<   transaction = 4061
<<<<<<   tlv_length  = 29 <<<<<<   message     = "Get Packet Statistics"
(0x0024) <<<<<< TLV: <<<<<<   type       = "Result" (0x02) <<<<<<
length     = 4 <<<<<<   value      = 01:00:0F:00 <<<<<<   translated =
FAILURE: OutOfCall <<<<<< TLV: <<<<<<   type       = "Last Call Rx Bytes
Ok" (0x1c) <<<<<<   length     = 8 <<<<<<   value      =
D6:29:00:00:00:00:00:00 <<<<<<   translated = 10710 <<<<<< TLV: <<<<<<
type       = "Last Call Tx Bytes Ok" (0x1b) <<<<<<   length     = 8
<<<<<<   value      = 33:B6:27:00:00:00:00:00 <<<<<<   translated = 2602547
Mar 18 23:15:48 T175-EH1-1834-001 ModemManager[950]: <warn>  Reloading
stats failed: Couldn't get packet statistics: QMI protocol error (15):
'OutOfCall'
Mar 18 23:16:46 T175-EH1-1834-001 ModemManager[950]: <debug> Running
registration checks (CDMA1x: 'yes', EV-DO: 'yes')
Mar 18 23:16:46 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0] sent
message... <<<<<< RAW: <<<<<<   length = 13 <<<<<<   data   =
01:0C:00:00:03:01:00:C3:1F:24:00:00:00
Mar 18 23:16:46 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0] sent
generic request (translated)... <<<<<< QMUX: <<<<<<   length  = 12 <<<<<<
flags   = 0x00 <<<<<<   service = "nas" <<<<<<   client  = 1 <<<<<< QMI:
<<<<<<   flags       = "none" <<<<<<   transaction = 8131 <<<<<<
tlv_length  = 0 <<<<<<   message     = "Get Serving System" (0x0024)
Mar 18 23:16:46 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0]
received message... <<<<<< RAW: <<<<<<   length = 114 <<<<<<   data   =
01:71:00:80:03:01:02:C3:1F:24:00:65:00:02:04:00:00:00:00:00:28:01:00:00:27:05:00:36:01:9A:01:01:26:02:00:76:00:25:08:00:03:00:00:00:03:00:00:00:21:05:00:02:03:04:01:00:1D:04:00:6F:0C:37:06:1C:02:00:24:D1:1B:01:00:01:1A:01:00:EC:15:03:00:01:05:01:12:09:00:36:01:9A:01:04:41:54:26:54:11:04:00:03:03:04:05:10:01:00:01:01:06:00:01:01:01:02:01:05
Mar 18 23:16:46 T175-EH1-1834-001 ModemManager[950]: [/dev/cdc-wdm0]
received generic response (translated)... <<<<<< QMUX: <<<<<<   length  =
113 <<<<<<   flags   = 0x80 <<<<<<   service = "nas" <<<<<<   client  = 1
<<<<<< QMI: <<<<<<   flags       = "response" <<<<<<   transaction = 8131
<<<<<<   tlv_length  = 101 <<<<<<   message     = "Get Serving System"
(0x0024) <<<<<< TLV: <<<<<<   type       = "Result" (0x02) <<<<<<
length     = 4 <<<<<<   value      = 00:00:00:00 <<<<<<   translated =
SUCCESS <<<<<< TLV: <<<<<<   type   = 0x28 <<<<<<   length = 1 <<<<<<
value  = 00 <<<<<< TLV: <<<<<<   type       = "MNC PCS Digit Include
Status" (0x27) <<<<<<   length     = 5 <<<<<<   value      = 36:01:9A:01:01
<<<<<<   translated = [ mcc = '310' mnc = '410' includes_pcs_digit = 'yes'
] <<<<<< TLV: <<<<<<   type       = "UMTS Primary Scrambling Code" (0x26)
<<<<<<   length     = 2 <<<<<<   value      = 76:00 <<<<<<   translated =
118 <<<<<< TLV: <<<<<<   type       = "Call Barring Status" (0x25) <<<<<<
length     = 8 <<<<

I'm hoping to understand why the mobile disconnect message doesn't result
in seeing my connection taken down, allowing me to act immediately to
restore it. I'd expect to see modem initiated QMI messages when receiving
the cancel location message.

Thanks very much for your help, eager to provide any information you need
to better understand the problem,

-JohnF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20190318/96ca7bea/attachment-0001.html>


More information about the ModemManager-devel mailing list