Hey > >> Speaking of the default EPS bearer, should ModemManager be aware of that > >> bearer somehow, i.e. list it as an active bearer object etc? > >> > > > > Yes, we could do that, definitely. There is no chance of getting the > > profile id wrong in Intel-based modems I think, if they support CID 0, > > that should be the one used for the initial EPS bearer. > > > > I have a follow-up question about the initial EPS bearer for the Fibocom > MA510 modem. That modem appears to use CID=1, i.e. a regular PDP context > for the initial EPS bearer. When configuring an incorrect APN for CID=1, > the modem will not register successfully. Clearing the settings for > CID=1 (`+CGDCONT=1`) or configuring the correct settings fixes this. >
Yes, that is very likely because it's probably a Qualcomm based device, where CID=1 is usually used as initial EPS bearer settings (although that's really configurable via the QMI protocol). > I guess the cleanest way to make ModemManager handle this correctly, > would be to implement `create_initial_eps_bearer`. However, is the > default profile manager aware of the initial EPS bearer and will not try > to re-use its CID (in this case CID=1)? > If you used QMI, then the Modem3gpp.SetInitialEpsBearerSettings() method would end up modifying that CID=1. But that doesn't mean you cannot change them using the profile manager APIs also. When using QMI, you can do both things, although if your plan is to change the initial EPS bearer settings, you should better use the specific method for that. The fact that you can use the profile manager APIs is just a side effect of having one profile associated to the initial EPS bearer settings, and ModemManager will not attempt to hide that from the user. We could improve all this and allow the profile management APIs flag specifically which profile is used as initial EPS bearer settings, e.g. by flagging it with MM_BEARER_APN_TYPE_INITIAL (if we're not doing it already! I recall thinking about adding that but not sure if I did). When using AT commands, there is no generic Modem3gpp.SetInitialEpsBearerSettings() method. Some plugins have their own implementation because they keep a relationship of which CID is used as initial EPS bearer setting (see e.g. the MMBroadbandModemCinterion). For the generic AT modems, or for plugins not implementing their custom way of doing it, the only way to play with those settings would be via the profile manager APIs. We could improve all this and provide a generic implementation as well, assuming CID=0 for Intel-based and CID=1 for Qualcomm-based modems, but it would be a "best guess" at most. For a connection attempt, ModemManager does not currently forbid to use the initial EPS bearer settings profile (except for the CID=0 case that we already talked about should probably be handled). For Qualcomm modems there should be no reason why not to use CID=1 for both initial EPS bearer settings and for connection attempt settings. > Somewhat related: What are the differences between > `load_initial_eps_bearer` and `load_initial_eps_bearer_settings`? > The naming is not clear at all, but they represent two different things. load_initial_eps_bearer_settings() refers to loading the initial EPS bearer settings as configured and stored in the modem; i.e. the contents of the profile associated to the initial EPS bearer settings. The user could specify not to use a explicit APN for initial EPS bearer, and put a blank APN (e.g. clearing the context as you said earlier with `+CGDCONT=1`). load_initial_eps_bearer() refers to loading the initial EPS bearer settings currently agreed with the network. This could be equal to the ones stored in the modem if the network accepted all the settings we requested, or they could be different. So we could have requested the blank APN and IPv4v6 (what we see in load_initial_eps_bearer_settings()), but the network may have agreed to IPv4 only and it would have reported us that the APN used is named "ac.vodafone.es" (what we see in load_initial_eps_bearer()). > Is there a standard AT command to read out the SIM's default APN? > I'm not sure if there is such thing truth be told. -- Aleksander https://aleksander.es