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

Geert Lens g.lens at livetech-systems.com
Tue Jun 1 13:23:41 UTC 2021

Hi Aleksander,

Thank you for your insights.

For now, we have solved the problem by clearing the first PDP context
using +CGDCONT and then forcing the modem to reregister to the network in
our connection script.
This way the modem uses the empty PDP context as the correct initial bearer
and we are able to connect via PPP.

However, I want to eventually use the new profile management APIs to set
the PDP context correctly. Just to make it more robust.
Looking forward to ModemManager v1.18 :)

Geert Lens

On Fri, 21 May 2021 at 09:47, Aleksander Morgado <aleksander at aleksander.es>

> Hey Simon,
> >
> > 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
> > 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
> We should really implement some generic implementation for this,
> instead of doing it differently for every plugin out there. There are
> not many differences in between what plugins should do to configure
> with CGDCONT, the key thing that may be different is what cid to
> select in each case (e.g. Cinterion plugin has some rules for this
> based on the operator). As a default, though, when no custom rules are
> needed, it probably makes sense to have some logic that defaults to
> cid=1 (or maybe try first with cid=0 to see if that's supported), and
> then it would be used by all plugins with AT commands.
> If you're using MM git master and want a quick approach to solve this
> problem, you can use the new profile management APIs with mmcli; e.g.:
> $ mmcli -m 0 --disable
> $ mmcli -m 0 --set-power-state-low
> $ mmcli -m 0 --3gpp-profile-manager-set="profile-id=1,apn="
> $ mmcli -m 0 --enable
> This sequence above should be, in your specific case, the same as if
> we did --3gpp-set-initial-eps-bearer-settings="apn=" once the logic is
> implemented in the simtech or generic plugins.
> > 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.
> This solution would not be upstreamable though, if you can have a
> patch doing that for yourself, that would be fine, but I'm not totally
> sure whether the simcom device will automatically
> unregister/reregister with the new initial EPS bearer settings if you
> just run the +CGDCONT (which is why in the sequence above we put the
> modem in low-power mode first). I guess you can test that yourselves.
> >    Then the question then is: where or in what function in the plugin to
> do this?
> >
> If you decide to keep your own patch doing that in your MM build, you
> can really place the method anywhere :) If you want to have some clean
> place to add it, you could subclass setup_ports() in the simtech
> plugin, which is the first method really run during initialization,
> and do that there.
> > What would be the best approach?
> Ideally, as said above, a generic implementation for all AT modems,
> that the simtech plugin (and all the others) would inherit from the
> generic modem :)
> --
> Aleksander
> https://aleksander.es
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20210601/028042ec/attachment.htm>

More information about the ModemManager-devel mailing list