<div dir="ltr"><div>Hi ModemManager Community!</div><div><br>First of all I wanted to say thanks for developing and supporting a great piece of software.<br><br></div><div>We have a few thousand devices running ModemManager 1.18.6 and Quectel EC21 modem. Our service provider Twilio/Kore keeps reporting that on some devices we have 2 simultaneous data sessions with different APNs: "super" and "de1.super".</div><div><br></div><div>We use ModemManager's API to find the modem, enable it, then wait for auto-register done by the modem FW, and finally create a bearer with "de1.super" APN and connect. Operations are run over QMI protocol.</div><div><br></div><div>We have autoselect disabled, so I'd expect to always use European APN "de1.super", instead of US "super" which is the default.</div><div><span style="color:rgb(0,66,113);font-family:Montserrat,sans-serif;font-size:14px">mmcli -m 0 --command='AT+QMBNCFG="AutoSel"' response: '+QMBNCFG: "AutoSel",0
</span><br>We have made an experiment to show PDP contexts on the devices with AT+CGDCONT?, and noticed an interesting thing:</div><div>On most of them, it only shows 1 PDP context:<br><i>PdpContext { ctx_id: 1, pdp_type: IpV4V6, pdp_addr: \"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0\", apn: \"\", data_comp: Off, head_comp: Off, ipv4_addr_alloc: NasSignaling, request_type: ContextEstablishmentOrNon3GppAccessNetworkHandover }</i><br><br>However, on 1 of the 200 devices, we see 2 PDP contexts:</div><div><i>PdpContext { ctx_id: 2, pdp_type: Ip, pdp_addr: \"0.0.0.0\", apn: \"de1.super\", data_comp: Off, head_comp: Off, ipv4_addr_alloc: NasSignaling, request_type: ContextEstablishmentOrNon3GppAccessNetworkHandover }</i></div><div><i><br>PdpContext { ctx_id: 1, pdp_type: IpV4V6, pdp_addr: \"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0\", apn: \"\", data_comp: Off, head_comp: Off, ipv4_addr_alloc: NasSignaling, request_type: ContextEstablishmentOrNon3GppAccessNetworkHandover }</i><br></div><div><br></div><div>However, even on device with just 1 PDP context received from AT command<br># mmcli -m 0 --command='AT+CGDCONT?'<br>response: '+CGDCONT: 1,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0'<br></div><div><br></div><div>AT commands are run ~10 minutes after modem setup and connection is done with ModemManager. <br></div><div>ModemManager always reports 2 bearers, I understand the 1st bearer is LTE default EPS bearer, while the 2nd one is the actual data session bearer:<br><br></div><div><font face="monospace"># mmcli -b 0<br>  -------------------------<br>  General    |        path: /org/freedesktop/ModemManager1/Bearer/0<br>             |        type: default-attach<br>  -------------------------<br>  Status     |   connected: yes<br>             |   suspended: no<br>             | multiplexed: no<br>             |  ip timeout: 20<br>  -------------------------<br>  Properties |         apn: super<br>             |     ip type: ipv4<br></font></div><div><font face="monospace"><br></font></div><div><font face="monospace"># mmcli -b 3<br>  ------------------------------------<br>  General            |           path: /org/freedesktop/ModemManager1/Bearer/3<br>                     |           type: default<br>  ------------------------------------<br>  Status             |      connected: yes<br>                     |      suspended: no<br>                     |    multiplexed: no<br>                     |      interface: wwan0<br>                     |     ip timeout: 20<br>  ------------------------------------<br>  Properties         |            apn: de1.super<br>                     |        roaming: allowed<br>                     |        ip type: ipv4<br>  ------------------------------------<br>  IPv4 configuration |         method: static<br>                     |        address: 100.79.145.117<br>                     |         prefix: 30<br>                     |        gateway: 100.79.145.118<br>                     |            dns: 8.8.4.4, 8.8.8.8<br>                     |            mtu: 1360<br>  ------------------------------------<br>  Statistics         |       duration: 3810<br>                     |       bytes rx: 513071<br>                     |       bytes tx: 296673<br>                     |       attempts: 1<br>                     | total-duration: 3810<br>                     | total-bytes rx: 513071<br>                     | total-bytes tx: 296673</font><br></div><div><br></div><div>I have some questions:<br>1. When using QMI, is it reliable to check modem state with AT commands? I don't care about immediate / race conditions, but I'd like to know that if I run some AT command e.g. 1 hour after it was set up by ModemManager with QMI it will tell me the accurate modem state.<br><br></div><div>2. Why do some devices have only 1 PDP context with empty APN, while others have 2 PDP contexts with the right APN in context 2?</div><div>We'd like to make sure all devices use European APN as it positively impacts the latency and download speed.</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Thank you!</span><br style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><span style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px">Filip Kubicz</span></div></div></div></div>