Disconnect with non LTE capable provider

Aleksander Morgado aleksander at aleksander.es
Sun Feb 9 13:52:08 CET 2014

Hey again,

>>> Adding Ben and Franko in CC, who should be interested in this issue.
>>> > the umts modem in my laptop (Huawei ME906E) is LTE capable while my
>>> > provider isn't. Whenever the modem sees LTE it tries to upgrade the
>>> > connection and then disconnects:
>> [..snip..]
>>> > (but it's the same using NM). I wonder how to disable LTE for these
>>> > situations and how to expose this in a user friendly way in NM since
>>> > this might be a rather common problem.
>>> How about disallowing 4G temporarily? You could do:
>>>   mmcli -m0  --set-allowed-modes="2g|3g"
>> This results in
>> error: couldn't set current modes: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Unsupported: Cannot change modes: only one combination supported'
>> I tried this with 1.2.0 and current git master doesn't seem to have any
>> changes in this section.
>>> The ME906E should be happy with the latest SYSCFGEX changes I did for
>>> allowed/preferred mode switching.
>> It seems to support SYSCFGEX:
>>     AT ^SYSCFGEX=?
>>     ("00","03","02","01","99"),((2000004e80380,"GSM850/GSM900/GSM1800/GSM1900/WCDMA850/WCDMA900/WCDMA1900/WCDMA2100"),(3fffffff,"All Bands")),(0-3),(0-4),((800d7,"LTE1900/LTE2100/LTE2600/LTE1800/LTE900/LTEDD800/LTE850"),(7fffffffffffffff,"All Bands"))
>> I've not dug deeper into this yet since the WWAN connection in this
>> train is just too unreliable to do any proper readup on SYSCFGEX - what
>> an irony.
> Weird, can you get me debug logs? Also, what does mmcli -m 0 say?

Guido already sent me some debug logs, and the outcome is that this
Huawei ME906E is managed as a QMI device, so of course no SYSCFGEX.

For QMI devices, allowed+preferred mode setup is tightly coupled to
current capabilities setup. For the specific case of this modem, it
shows the following:

           |      supported: 'gsm-umts
           |                  lte
           |                  gsm-umts, lte'
           |        current: 'gsm-umts, lte'

           |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
           |        current: 'allowed: 2g, 3g, 4g; preferred: none'

In order to force this device to 2G/3G-only, therefore we cannot use
--set-allowed-modes="2g|3g" because that combination is not supported
by the current capabilities. Instead, we actually need to switch
current capabilities to "gsm-umts".

Can you try to run the following?

$ sudo mmcli -m 0 --set-current-capabilities="gsm-umts"

Note that the previous action will actually reboot the device, and
once it is re-detected, it should show "current capabilities:
gsm-umts", plus a new list of supported modes to play with.

Some more background in modes vs capabilities here:


More information about the ModemManager-devel mailing list