On a SIM7100A the PPPD connection fails (modem hangup) with nm-ppp-plugin, but a custom pppd script works

Aleksander Morgado aleksander at aleksander.es
Tue May 18 09:46:16 UTC 2021


Hey!

> We have had an active debugging session with Vodafone and we saw that the modem (a SIMCom SIM7100A) had collected multiple PDP contexts from networks along the way (4 of them):
>
>   AT+CGDCONT?
>     +CGDCONT: 1,"IP","phone","0.0.0.0",0,0
>     +CGDCONT: 2,"IP","3gnet","0.0.0.0",0,0
>     +CGDCONT: 3,"IP","vf-viriciti","0.0.0.0",0,0
>     +CGDCONT: 4,"IP","viriciti.com.attz","0.0.0.0",0,0
>   OK
>
> A "phone" (no clue where that comes from), a "3gnet" (this seems to be an operator in China), the "vf-viriciti" (that is ours!), and a "viriciti.com.attz" (this is ours for AT&T).
>
> Looking at the selected one:
>
>   AT+CGACT?
>     +CGACT: 1,1
>     +CGACT: 2,0
>     +CGACT: 3,0
>     +CGACT: 4,0
>   OK
>
> The modem selected the first one! The "phone" APN... That will obviously not work in our case :)
>

Oh, so the modem is using the "phone" APN during the network attach
(initial EPS bearer settings) :)

> From the ModemManager logs (below) we see that ModemManager does select the right CID (#3) when looking for the best CID matching the "vf-viriciti" APN.
>

Yes, but that is only for the actual data connection, not for the registration.

> So it seems modem is the issue here: just removing the first context, and leaving the others, solves the problem of connectivity!!

Removing the first one probably ends up forcing the modem to use the
empty APN during the network attach, and so it will accept whatever
the network provides as initial APN, instead of requesting the
explicit "phone" one.

> But why? Is this just a specific SIM7100A modem issue? Is there a work-around?
>

The workaround is to properly configure the initial EPS bearer
settings; which is not trivial. In most cases, in Qualcomm based
modems, when using AT commands it's the cid #1 the one associated to
the initial EPS bearer settings, but that is not always like that.
E.g. I believe 3GPP requests to use the special cid #0 for that, IIRC.
For QMI and MBIM modems we have specific APIs to manage that, and for
AT commands we have several implementations in different plugins (not
in the simtech plugin though), but we should probably provide a
generic one at some point.

> (
>   little extra context: we always use NetworkManager "nmcli" to initiate the connection using the nm-ppp-plguin, issuing:
>   "nmcli c add type gsm ifname ttyUSB2 apn vf-viriciti gsm.number *99***1# ipv6.method "ignore"
>   where "gsm.number" is deprecated in NetworkManager
> )
>

The gsm.number setting can be removed from that line, it's not only
deprecated, it's truly nowhere used inside NetworkManager.

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list