fibocom: Minimum PDP context ID
Sven Schwermer
sven at svenschwermer.de
Thu Aug 4 17:56:48 UTC 2022
On 4/7/22 22:32, Aleksander Morgado wrote:
> Hey,
Hi again,
I finally had a chance to investigate this a little further.
>> Which marks the bearer intermediately as not connected and the ECM
>> connection is torn down on the host.
>
> Shouldn't we then change the connection check to use the RNDIS state
> query instead of +CGACT?
I was wondering about this, but I'm not sure. The documentation isn't
clear about this. Perhaps it is the way to go, more on this later :)
>> Querying with +CGCONTRDP confirms
>> that the modem is actually only using CID=1.
>
> It could be totally possible that you're seeing IP address reported in
> CID=1 due to the initial EPS bearer being active. But that doesn't
> explain why you don't see the CID=2 as active as well, if the
> connection succeeded (unless it was disconnected right away after a
> successful connection, which could also be possible)
I believe I found out why the modem behaves this way. When the initial
bearer is set up using the same APN as the ECM bearer, the former is
internally re-used. Image the following scenario: We configure cid=1
with the empty APN which makes the SIM use some default which happens to
match the APN used later on. When the modem is in registered state, we
have the following situation:
+CGDCONT: 1,"IP","","10.80.129.7",0,0,0
+CGCONTRDP:
1,5,"internet.gma.iot","10.80.129.7",,"193.181.245.57","193.181.245.58"
Then, when setting up the ECM connection, i.e. connecting using
+GTRNDIS, leads to the following situations:
+CGDCONT: 1,"IP","","10.80.129.7",0,0,0
+CGDCONT: 2,"IP","internet.gma.iot","0.0.0.0",0,0,0
+CGCONTRDP:
1,5,"internet.gma.iot","10.80.129.7",,"193.181.245.57","193.181.245.58"
+GTRNDIS: 1,2,"10.80.129.7","193.181.245.57","193.181.245.58"
+CGACT: 1,1
+CGACT: 2,0
However, when configuring different APN for initial and ECM bearer, this
is the behavior after the +GTRNDIS connection:
+CGDCONT: 1,"IP","gemalto.ericsson.iot","10.118.26.77",0,0,0
+CGDCONT: 2,"IP","internet.gma.iot","10.80.196.82",0,0,0
+CGCONTRDP:
1,5,"gemalto.ericsson.iot","10.118.26.77",,"193.181.245.57","193.181.245.58"
+CGCONTRDP:
2,6,"internet.gma.iot","10.80.196.82",,"193.181.245.57","193.181.245.58"
+GTRNDIS: 1,2,"10.80.196.82","193.181.245.57","193.181.245.58"
+CGACT: 1,1
+CGACT: 2,1
I'm guessing we can deal with the first scenario by using +GTRNDIS? to
monitor the connection instead of +CGACT? when using the Fibocom ECM
bearer. Do you believe that would be sufficient or is it a problem that
+CGDCONT? doesn't contain an IP for our ECM bearer context?
When hacking the initial EPS bearer setup into a connection manager
(e.g. NetworkManager), should this be done before or after enabling the
modem device?
In a previous response, you wrote:
> load_initial_eps_bearer_settings() refers to loading the initial EPS
> bearer settings as configured and stored in the modem
and
> load_initial_eps_bearer() refers to loading the initial EPS bearer
> settings currently agreed with the network.
However, when looking at the cinterion implementation, I can see that
the former queries +CGCONTRDP while the latter queries +CGDCONT. Isn't
that exactly opposite to what you said?
Thanks and best regards,
Sven
More information about the ModemManager-devel
mailing list