LTE attach settings
Giacinto Cifelli
gciofono at gmail.com
Wed Jul 22 13:59:41 UTC 2020
Hi Aleksander,
On Wed, Jul 22, 2020 at 3:47 PM Aleksander Morgado
<aleksander at aleksander.es> wrote:
>
> Hey Giacinto!
>
> >
> > I need to set up the default LTE bearer settings: APN, type of APN,
> > authentication parameters, in the Cinterion plugin.
> >
> > And for this, I am going to add the two methods:
> > void (* set_initial_eps_bearer_settings)
> > (MMIfaceModem3gpp *self, ..
> > gboolean (* set_initial_eps_bearer_settings_finish)
> > (MMIfaceModem3gpp *self, ..
> >
> > Is this the right way to do it? I see that nobody implemented it so
> > far. Is this called for mbim or qmi?
> >
>
> This is currently implemented for MBIM devices, because in MBIM
> devices there are explicit APIs to set them without needing to worry
> about what specific CID number we're touching.
>
> > I will have to run the following sequence:
> > - go in AT+CFUN=4 (airplane mode with SIM connected). This is
> > necessary because the CID might be locked or not taken into account
> > immediately (in case there is an attach attempt ongoing).
> > - set AT+CGDCONT for the right CID (normally 1)
> > - set AT^SGAUTH for the same CID
> > - go back to AT+CFUN=1.
> >
> > Is this ok to you?
>
> The requirement to run CFUN=4 before and CFUN=1 after seems very
> generic to me; at the end we're changing the APN settings used during
> LTE registration, so it is assumed the device needs to re-register. I
> say this because it may make sense to move that logic "up" to the
> Modem3gpp interface, so that the interface itself puts the modem in
> low-power mode before the change and puts it back into full-power mode
> after the change. But don't worry about that, this can be done later,
> if you do the CFUN=4/1 yourself in the cinterion plugin for now it's
> ok.
>
ok, I think that it should also be moved up, but this requires further
consideration.
For example in case of SIM hot swap: then the entire state should be
moved back to that point.
> >
> > Instead of CFUN=4/1 also COPS=2/0 could be used, but I prefer the former.
> >
>
> The only issue I see is the selection of the "right CID" in CGDCONT.
> As you said, it is normally 1, but as we've already found in the past
> it may be operator dependent; e.g. wasn't it CID=4 for Verizon?
>
Cinterion modules use CID=3 for VZW, CID=2 for T-Mobile Germany with
VoLTE, 1 in all other cases.
I intend to filter for this by querying the current VoLTE profile with
AT^SCFG="MEopMode/Prov/Cfg".
This would go between steps 1 and 2 above, but for the general
discussion I left this out as an implementation detail.
> I believe that other vendors use other approaches, even with separate
> APIs, e.g. the u-blox TOBY-L2 had specific commands for this IIRC.
I saw uBlox specifications, and they use CID=1 and CID=4 quite often.
It is not impossible that they also use a special API in some models.
Some XMM modems use CID=0 (as would be prescribed by the 3GPP 27.007).
For the rest, the great majority use CID=1, I believe because it is
the most common setting from the chipset makers.
>
> At this point, and given that it is everyday more common to have the
> requirement to change the initial LTE bearer settings, I wouldn't mind
> to have this logic with the "far from perfect" initial default of
> reconfiguring CID=1. I just got this very same requirement just
> yesterday debugging connectivity with an Orange Morocco SIM, so I'm
> sure there are users out there also requiring this kind of
> configuration.
>
Sound good.
Only I am not sure how you would do it in MM.
The modem is set to CFUN=1 as soon as it is mapped, and the APN and
other parameters have to be supplied via dbus, and so after the modem
has already attempted to attach.
Giacinto
More information about the ModemManager-devel
mailing list