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

Simon Rijk s.rijk at viriciti.com
Wed May 19 11:51:31 UTC 2021


On Tue, May 18, 2021 at 11:46 AM Aleksander Morgado <
aleksander at aleksander.es> wrote:

> 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.
>

We are thinking of updating the mm-broadband-simtech.c plugin to set the
initial bearer to "apn=" (so, empty) making the first context empty:
  AT+CGDCONT=1,"IP","","0.0.0.0",0,0
We can do this by updating the mm-broadband-simtech.c plugin:
1) by adding logic to have the command:
     mmcli -m 0 --3gpp-set-initial-eps-bearer-settings="apn="
   to get the desired state (so an extra step from the command line), or
1) we put this logic somewhere else in the plugin so we do not need this
initial command at all, and the procedures will do it automatically for the
simtech modem.
   Then the question then is: where or in what function in the plugin to do
this?

What would be the best approach?


>
> > (
> >   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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20210519/f37c0c08/attachment.htm>


More information about the ModemManager-devel mailing list