QUECTEL EC20/EC21. Several drivers supported, which one is better to use?

Dan Williams dcbw at redhat.com
Thu Sep 8 16:31:33 UTC 2016


On Thu, 2016-09-08 at 17:56 +0200, José  wrote:
> Sure:
> 
> root:~# qmicli -d /dev/cdc-wdm0 --get-service-version-info
> [/dev/cdc-wdm0] Supported versions:
>         ctl (1.5)
>         wds (1.67)
>         dms (1.0)
>         nas (1.25)
>         qos (1.12)

Thanks, I'll post a patch to work around the DMS stupidity.

> Also, if I patch libqmi to get rid of both ModemManager errors, the
> modem still does not work.

Can you post ModemManager --debug logs when you've patched libqmi to
get past this issue?

Dan


> On Thu, Sep 8, 2016 at 4:47 PM, Dan Williams <dcbw at redhat.com> wrote:
> > 
> > On Thu, 2016-09-08 at 10:31 +0200, José  wrote:
> > > 
> > > This is the output of those commands:
> > > 
> > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data
> > > [/dev/cdc-wdm0] User data read:
> > >         Size: '0' bytes
> > >         Contents:
> > > 
> > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
> > > error: couldn't get UIM state: QMI protocol error (94):
> > > 'NotSupported'
> > So the device lies about the DMS service version.  If it didn't
> > actually support them, it would return "InvalidQmiCommand" to both
> > of
> > those requests.
> > 
> > Could you grab:
> > 
> > qmicli -d /dev/cdc-wdm0 --get-service-version-info
> > 
> > for me?
> > 
> > Thanks,
> > Dan
> > 
> > > 
> > > On Wed, Sep 7, 2016 at 6:32 PM, Dan Williams <dcbw at redhat.com>
> > > wrote:
> > > > 
> > > > 
> > > > On Wed, 2016-09-07 at 17:05 +0200, José  wrote:
> > > > > 
> > > > > 
> > > > > Hi Dan,
> > > > > 
> > > > > thanks for your answer.
> > > > > 
> > > > > I compiled libqmi-1.12.6-r0.1.cortexa9hf_vfp_neon.rpm (notice
> > > > > that it
> > > > > is an older version, it was just simpler on my environment)
> > > > > with
> > > > > the
> > > > > change you proposed. After that, the command seems to work:
> > > > > 
> > > > > # qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
> > > > > [/dev/cdc-wdm0] Operating mode retrieved:
> > > > >         Mode: 'online'
> > > > >         HW restricted: 'no'
> > > > > 
> > > > > So is the problem in the modem firmware reporting an older
> > > > > DMS
> > > > > that
> > > > > what it is really using, or is it in libqmi?
> > > > It depends.  There are two options:
> > > > 
> > > > 1) The device lies about its supported DMS version and it
> > > > actually
> > > > supports a newer DMS version, but mis-reports it.  Firmware
> > > > bug,
> > > > but
> > > > something we probably have to work around.
> > > > 
> > > > 2) The command is actually supported in DMS 1.0 but the
> > > > information
> > > > we
> > > > had indicated it's only supported in 1.1.  libqmi bug, and we
> > > > can
> > > > fix
> > > > this.
> > > > 
> > > > To figure this out, let's modify an existing message that
> > > > clearly
> > > > isn't
> > > > supported in very early DMS versions.  So change the version in
> > > > data/qmi-service-dms.json for the "Read User Data" and "UIM Get
> > > > State"
> > > > messages to "1.0" and rebuild/reinstall.
> > > > 
> > > > Then, what is the result of:
> > > > 
> > > > qmicli -d /dev/cdc-wdm0 --dms-read-user-data
> > > > qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
> > > > 
> > > > Dan
> > > > 
> > > > > 
> > > > > 
> > > > > However, ModemManager still does not work because of the
> > > > > other
> > > > > message
> > > > > (I recompiled it against the patched libqmi library):
> > > > > 
> > > > > ModemManager[710]: <warn>  couldn't load Supported Bands:
> > > > > 'QMI
> > > > > operation failed: Cannot send message: QMI service 'dms'
> > > > > version
> > > > > '1.3'
> > > > > required, got version '1.0''
> > > > > ModemManager[710]: <warn>  Modem couldn't be initialized:
> > > > > Couldn't
> > > > > check unlock status: Couldn't get SIM lock status after 6
> > > > > retries
> > > > > ModemManager[710]: <info>  Modem: state changed (unknown ->
> > > > > failed)
> > > > > 
> > > > > Will this allow a similar fix?
> > > > > 
> > > > > On Wed, Sep 7, 2016 at 4:29 PM, Dan Williams <dcbw at redhat.com
> > > > > >
> > > > > wrote:
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On Wed, 2016-09-07 at 15:33 +0200, José  wrote:
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Maybe I was wrong. I am trying now with the last versions
> > > > > > > but
> > > > > > > it
> > > > > > > is
> > > > > > > still not working:
> > > > > > > 
> > > > > > > ModemManager 1.6.0
> > > > > > > libqmi-1.16.0-r0.4.cortexa9hf_vfp_neon
> > > > > > > 
> > > > > > > The problem is still reproducible:
> > > > > > Interesting; even though it's a recent device, it's still
> > > > > > advertising
> > > > > > DMS 1.0.
> > > > > > 
> > > > > > It may be that Get Operating Mode was present in DMS 1.0
> > > > > > and we
> > > > > > simply
> > > > > > don't have any examples of that.  So you could try to
> > > > > > modify
> > > > > > libqmi
> > > > > > and
> > > > > > see if that works.
> > > > > > 
> > > > > > Look in data/qmi-service-dms.json and look for "Get
> > > > > > Operating
> > > > > > Mode".
> > > > > >  Change the "1.1" there to "1.0", rebuild, and reinstall
> > > > > > libqmi.  Then
> > > > > > see if you can run "qmicli -d /dev/cdc-wdm0 --dms-get-
> > > > > > operating-
> > > > > > mode".
> > > > > >  Does that work?
> > > > > > 
> > > > > > Dan
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > ModemManager[995]: <info>  ModemManager (version 1.6.0)
> > > > > > > starting
> > > > > > > in
> > > > > > > system bus...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with
> > > > > > > flags
> > > > > > > 'version-info, proxy'...
> > > > > > > ModemManager[995]: cannot connect to proxy: Could not
> > > > > > > connect:
> > > > > > > Connection refused
> > > > > > > ModemManager[995]: spawning new qmi-proxy (try 1)...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info
> > > > > > > (10
> > > > > > > retries)...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25
> > > > > > > services:
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ctl (1.5)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wds (1.67)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dms (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    nas (1.25)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    qos (1.12)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wms (1.10)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    auth (1.3)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    at (1.2)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    voice (2.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    cat2 (2.24)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    uim (1.46)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pbm (1.4)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    test (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    loc (2.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    sar (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ts (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    tmd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wda (1.16)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    csvt (1.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    coex (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pdc (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    rfrpe (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dsd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x30]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x36]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: <info>  Creating modem with plugin
> > > > > > > 'Generic'
> > > > > > > and
> > > > > > > '2' ports
> > > > > > > ModemManager[995]: <info>  Modem for device at
> > > > > > > '/sys/devices/soc0/soc.0/2100000.aips-
> > > > > > > bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3'
> > > > > > > successfully created
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with
> > > > > > > flags
> > > > > > > 'version-info, proxy'...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info
> > > > > > > (10
> > > > > > > retries)...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25
> > > > > > > services:
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ctl (1.5)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wds (1.67)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dms (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    nas (1.25)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    qos (1.12)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wms (1.10)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    auth (1.3)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    at (1.2)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    voice (2.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    cat2 (2.24)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    uim (1.46)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pbm (1.4)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    test (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    loc (2.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    sar (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ts (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    tmd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wda (1.16)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    csvt (1.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    coex (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pdc (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    rfrpe (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dsd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x30]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x36]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Reading expected data
> > > > > > > format
> > > > > > > from:
> > > > > > > /sys/class/net/wwan0/qmi/raw_ip
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Opening device with
> > > > > > > flags
> > > > > > > 'version-info, net-802-3, net-no-qos-header, proxy'...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Checking version info
> > > > > > > (10
> > > > > > > retries)...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] QMI Device supports 25
> > > > > > > services:
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ctl (1.5)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wds (1.67)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dms (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    nas (1.25)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    qos (1.12)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wms (1.10)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    auth (1.3)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    at (1.2)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    voice (2.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    cat2 (2.24)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    uim (1.46)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pbm (1.4)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    test (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    loc (2.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    sar (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    ts (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    tmd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    wda (1.16)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    csvt (1.1)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    coex (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    pdc (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    rfrpe (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    dsd (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x30]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0]    unknown [0x36]
> > > > > > > (1.0)
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Setting network port
> > > > > > > data
> > > > > > > format...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Network port data
> > > > > > > format
> > > > > > > operation
> > > > > > > finished
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Allocating new client
> > > > > > > ID...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Registered 'dms'
> > > > > > > (version
> > > > > > > 1.0)
> > > > > > > client with ID '2'
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Allocating new client
> > > > > > > ID...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Registered 'nas'
> > > > > > > (version
> > > > > > > 1.25)
> > > > > > > client with ID '3'
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Allocating new client
> > > > > > > ID...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Registered 'wms'
> > > > > > > (version
> > > > > > > 1.10)
> > > > > > > client with ID '1'
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Allocating new client
> > > > > > > ID...
> > > > > > > ModemManager[995]: [/dev/cdc-wdm0] Registered 'uim'
> > > > > > > (version
> > > > > > > 1.46)
> > > > > > > client with ID '1'
> > > > > > > ModemManager[995]: <warn>  couldn't load Supported Bands:
> > > > > > > 'QMI
> > > > > > > operation failed: Cannot send message: QMI service 'dms'
> > > > > > > version
> > > > > > > '1.3'
> > > > > > > required, got version '1.0''
> > > > > > > ModemManager[995]: <warn>  couldn't load Power State:
> > > > > > > 'QMI
> > > > > > > operation
> > > > > > > failed: Cannot send message: QMI service 'dms' version
> > > > > > > '1.1'
> > > > > > > required,
> > > > > > > got version '1.0''
> > > > > > > ModemManager[995]: <warn>  Modem couldn't be initialized:
> > > > > > > Couldn't
> > > > > > > check unlock status: Couldn't get SIM lock status after 6
> > > > > > > retries
> > > > > > > ModemManager[995]: <info>  Modem: state changed (unknown
> > > > > > > ->
> > > > > > > failed)
> > > > > > > 
> > > > > > > 
> > > > > > > The firmware on the modem is pretty new:
> > > > > > > 
> > > > > > >   Hardware |   manufacturer: 'QUALCOMM INCORPORATED'
> > > > > > >            |          model: '0'
> > > > > > >            |       revision: 'EC21EFAR02A02M4G  1  [Mar
> > > > > > > 21
> > > > > > > 2016
> > > > > > > 11:00:00]'
> > > > > > >            |      supported: 'gsm-umts
> > > > > > >            |                  lte
> > > > > > >            |                  gsm-umts, lte'
> > > > > > >            |        current: 'gsm-umts, lte'
> > > > > > >            |   equipment id: '861108030008592'
> > > > > > > 
> > > > > > > 
> > > > > > > Could you provide any help?
> > > > > > > 
> > > > > > > Thanks
> > > > > > > 
> > > > > > > On Wed, Sep 7, 2016 at 11:31 AM, José <Joseddg92 at gmail.co
> > > > > > > m>
> > > > > > > wrote:
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Hi Thomas,
> > > > > > > > 
> > > > > > > > thanks for the advice! The EC20 is workign fine. For
> > > > > > > > the
> > > > > > > > EC21,
> > > > > > > > I
> > > > > > > > get
> > > > > > > > the following error:
> > > > > > > > 
> > > > > > > > 'QMI operation failed: Cannot send message: QMI service
> > > > > > > > 'dms'
> > > > > > > > version
> > > > > > > > '1.1' required, got version '1.0''
> > > > > > > > 
> > > > > > > > I suspect that can be fixed but just upgrading
> > > > > > > > ModemManager
> > > > > > > > or
> > > > > > > > libqmi
> > > > > > > > (or maybe both). Is that correct?
> > > > > > > > 
> > > > > > > > On Tue, Sep 6, 2016 at 9:51 PM, Thomas Schäfer <tschaef
> > > > > > > > er at t
> > > > > > > > -onl
> > > > > > > > ine.
> > > > > > > > de> wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Am Dienstag, 6. September 2016, 17:57:45 schrieb
> > > > > > > > > José:
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Hi,
> > > > > > > > > > 
> > > > > > > > > > I am planning to test ModemManager with QUECTEL
> > > > > > > > > > EC20
> > > > > > > > > > and
> > > > > > > > > > EC21
> > > > > > > > > > cellular
> > > > > > > > > > modems. These modems support the following drivers:
> > > > > > > > > > * USB Serial (option.c)
> > > > > > > > > > * CDC ACM
> > > > > > > > > > * GobiNet
> > > > > > > > > > * QMI WWAN
> > > > > > > > > > 
> > > > > > > > > > What is the best approach for trying to use
> > > > > > > > > > ModemManager?
> > > > > > > > > QMI WWAN, option.c
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Should I
> > > > > > > > > > enable all drivers?
> > > > > > > > > No.
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Could you recommend which one of those to enable?
> > > > > > > > > > Thanks
> > > > > > > > > https://sigquit.wordpress.com/2014/06/11/qmiwwan-or-g
> > > > > > > > > obin
> > > > > > > > > et/
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > I think this blog is still valid.
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Thomas
> > > > > > > _______________________________________________
> > > > > > > ModemManager-devel mailing list
> > > > > > > ModemManager-devel at lists.freedesktop.org
> > > > > > > https://lists.freedesktop.org/mailman/listinfo/modemmanag
> > > > > > > er-d
> > > > > > > evel


More information about the ModemManager-devel mailing list