Force 2G/3G/4G modes (when they are not reported as supported)

José Joseddg92 at gmail.com
Wed Oct 28 15:10:22 PDT 2015


Then, would it be possible to fix a 2G, 3G or 4G with mbimcli after a
connection has been established using ModemManager?

On Wed, Oct 28, 2015 at 10:54 PM, Aleksander Morgado <
aleksander at aleksander.es> wrote:

> On Wed, Oct 28, 2015 at 10:45 PM, Dan Williams <dcbw at redhat.com> wrote:
> > On Wed, 2015-10-28 at 20:06 +0100, Aleksander Morgado wrote:
> >> On Wed, Oct 28, 2015 at 6:59 PM, Dan Williams <dcbw at redhat.com> wrote:
> >> >> > As you can see, there is only one supported mode (allowed: 2g, 3g,
> 4g;
> >> >> > preferred: none) which (as far as I know) offers me no contl about
> >> >> > which network technology is being used. When using this modem with
> >> >> > other SIM cards or other protocols (this modem also supports QMI,
> >> >> > direct IP and serial) the supported modes varies.
> >> >> >
> >> >> > My understanding is that the supported modes are provided by the
> modem
> >> >> > to ModemManager. Which variables affect the supported modes
> reported?
> >> >> >
> >> >> > Is there a way to force ModemManager to use only 2g/3g/4g despite
> of
> >> >> > the supported modes reported by the modem?
> >> >>
> >> >> I don't recall why it was hardcoded in MM specifically to disallow
> mode
> >> >> switching on LTE-capable devices.  Aleksander would probably know
> more.
> >>
> >> ModemManager has 2 settings controlling this behavior: capabilities
> >> and modes. When 4G is enabled in the MC7710 (capabilities
> >> gsm-umts+lte) the only allowed setting is 2G+3G+4G (auto). If you want
> >> to set it as 2G+3G (i.e. no 4G) you'll need to switch capabilities to
> >> just gsm-umts (no lte). Once that is done, the modem will get rebooted
> >> and you'll now see a new list of mode combinations, including "2G
> >> only", "3G only", "2G+3G, 3G preferred" and "2G+3G, 2G preferred".
> >> This behavior is actually very specific to how the MC7710 responds to
> >> our commands (i..e how we compute the list of supported modes and
> >> capabilities). Other modems like the MC7304 may not require the power
> >> cycle to switch capabilities just to get in 2G+3G mode.
> >>
> >> This may also give more info:
> >>
> https://sigquit.wordpress.com/2013/06/03/changing-modes-and-capabilities-in-modemmanager/
> >>
> >> As for why we hardcode the values. Well, those are the modes that QMI
> >> supports. The only confusion here is why you didn't get the 2G+3G
> >> modes when 4G was also enabled, which I said I believe is very
> >> specific to the MC7710 if I'm not mistaken.
> >
> > My read of the code indicates that we get the same behavior with USB
> > devices like the UML290 and such too though, right?  Which don't have
> > the same restriction as the MC77xx devices.  eg this code block in
> > modem_load_supported_modes():
> >
> >     /* LTE and others, only allow to have all, no further preference */
> >     else if (mm_iface_modem_is_3gpp_lte (_self)) {
> >         /* 2G, 3G and 4G */
> >         mode.allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G |
> > MM_MODEM_MODE_4G);
> >         mode.preferred = MM_MODEM_MODE_NONE;
> >         g_array_append_val (combinations, mode);
> >     }
> >
> > obviously gets run for an LTE-capable modem, even ones that can change
> > modes around unlike the 77xx devices.
>
> You're right indeed. When LTE is involved we fix the supported modes.
> Just checked it with my MC7304:
>     Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
>
> Not sure why I though it was a MC7710 only thing... bad memory :/
>
> --
> Aleksander
> https://aleksander.es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/modemmanager-devel/attachments/20151028/320315be/attachment-0001.html>


More information about the ModemManager-devel mailing list