ModemManager using QMI doesnt always work in the first attemp.

José Joseddg92 at gmail.com
Tue Jan 19 07:51:19 PST 2016


I have update to the last firmware (17.01.522  1  [Oct 16 2014
07:00:00]) and the issue is still reproducible.

I am almost sure that the issue is related to power management.

When the modem is in AT+CFUN=4, trying to enable it with ModemManager
(mmcli -m 0 -e) does not work. Trying to change the power state does
also not work (mmcli --set-power-state-on).

root at ccimx6sbc:~# mmcli -m 0 --set-power-state-on
ModemManager[791]: Couldn't reload current power state: Unhandled
power state: 'reset' (4)
error: couldn't set new power state in the modem:
'GDBus.Error:org.freedesktop.libqmi.Error.Protocol.InvalidTransaction:
Couldn't set operating mode: QMI protocol error (60):
'InvalidTransaction''
root at ccimx6sbc:~# mmcli -m 0 -e
ModemManager[791]: <info>  Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (disabled ->
enabling)
ModemManager[791]: <warn>  (ttyUSB2): port attributes not fully set
ModemManager[791]: <warn>  (ttyUSB3): port attributes not fully set
ModemManager[791]: Couldn't reload current power state: Unhandled
power state: 'reset' (4)
ModemManager[791]: <info>  Modem
/org/freedesktop/ModemManager1/Modem/0: state changed (enabling ->
disabled)
error: couldn't enable the modem:
'GDBus.Error:org.freedesktop.libqmi.Error.Protocol.InvalidTransaction:
Couldn't set operating mode: QMI protocol error (60):
'InvalidTransaction''

Note that a SIM card is inserted.


I have also noticed that ModemManager uses not documented AT+CFUN modes:

root at ccimx6sbc:~# mmcli -m 0 --set-power-state-off
ModemManager[791]: <info>  Modem powered off... may no longer be accessible
successfully set new power state in the modem
root at ccimx6sbc:~# microcom /dev/ttyUSB2

OK
at+cfun?
+CFUN: 7

OK
root at ccimx6sbc:~# mmcli -m 0 --set-power-state-low
successfully set new power state in the modem
root at ccimx6sbc:~# microcom /dev/ttyUSB2
at+cfun?
+CFUN: 6

OK

The only documented modes are 0, 1, 4 ,5 (see
http://www.coniugo.de/tl_files/dateien/downloads/at/AT%20Commands%20LE910.pdf,
page 106).

I have noticed that mmcli -m 0 reports that the Generic plugin is
being used. Should it be using some specific for Telit?

Just in case this is the report of mmcli -m 0 when the modem is in low
power state:

root at ccimx6sbc:~# mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id
'dff8e6a4b1f4c5db7b0e79cea559b461ae4f450e')
  -------------------------
  Hardware |   manufacturer: 'QUALCOMM INCORPORATED'
           |          model: '3'
           |       revision: '17.01.522  1  [Oct 16 2014 07:00:00]'
           |      supported: 'gsm-umts
           |                  lte
           |                  gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: 'unknown'
  -------------------------
  System   |         device:
'/sys/devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3'
           |        drivers: 'qmi_wwan, option1'
           |         plugin: 'Generic'
           |   primary port: 'cdc-wdm0'
           |          ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3
(at), wwan0 (net), cdc-wdm0 (qmi)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'sim-pin2'
           | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)'
           |          state: 'disabled'
           |    power state: 'low'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
           |        current: 'allowed: 2g, 3g, 4g; preferred: none'
  -------------------------
  Bands    |      supported: 'cdma-bc15-aws, dcs, egsm, u2100, u800,
u850, u900, eutran-iii, eutran-vii, eutran-xx'
           |        current: 'cdma-bc15-aws, dcs, egsm, u2100, u800,
u850, u900, eutran-iii, eutran-vii, eutran-xx'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  3GPP     |           imei: 'unknown'
           |  enabled locks: 'none'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   subscription: 'unknown'
           |   registration: 'unknown'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

  -------------------------
  Bearers  |          paths: 'none'

On Tue, Jan 19, 2016 at 10:29 AM, Aleksander Morgado
<aleksander at aleksander.es> wrote:
> On 19/01/16 10:13, José  wrote:
>> The problem only occurs if the LE910 was in low power mode (AT+CFUN=4) when
>> plugged to the embbeded device. Does ModemManager manage power state modes?
>> Should it automatically full enable the modem (AT+CFUN=1) when issuing
>> mmcli --simple-connect?
>>
>
> Yes, that we do by default, unless something is wrong somewhere. You can
> check the debug logs and look for that command being sent I guess.
>
> --
> Aleksander
> https://aleksander.es


More information about the ModemManager-devel mailing list