not able to receive any indications using libqmi on Linaro

Shilpa Velamuri shilpa.vel at gmail.com
Tue Dec 6 19:00:10 UTC 2016


Thank You for the reply.

Here is the output of running the test program you sent:


[DEBUG]  [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 28
<<<<<<   data   =
01:1B:00:00:00:00:00:01:00:FF:10:00:01:0D:00:2F:64:65:76:2F:63:64:63:2D:77:64:6D:30

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 27
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 16
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Device Path" (0x01)
<<<<<<   length     = 13
<<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:30
<<<<<<   translated = /dev/cdc-wdm0

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 19
>>>>>>   data   = 01:12:00:00:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 18
>>>>>>   flags   = 0x00
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Internal Proxy Open" (0xFF00)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS

[DEBUG]  [/dev/cdc-wdm0] Checking version info (10 retries)...
[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 12
<<<<<<   data   = 01:0B:00:00:00:00:00:02:21:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 11
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 0
<<<<<<   message     = "Get Version Info" (0x0021)

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 158
>>>>>>   data   =
01:9D:00:80:00:00:01:02:21:00:92:00:02:04:00:00:00:00:00:01:88:00:1B:00:01:00:05:00:01:01:00:24:00:02:01:00:0E:00:03:01:00:19:00:04:01:00:03:00:05:01:00:0A:00:06:01:00:00:00:07:01:00:02:00:08:01:00:02:00:09:02:00:01:00:0A:02:00:10:00:0B:01:00:19:00:0C:01:00:04:00:0F:01:00:00:00:11:01:00:00:00:12:01:00:00:00:17:01:00:00:00:18:01:00:00:00:1A:01:00:0A:00:1D:01:00:00:00:1E:01:00:00:00:1F:01:00:00:00:22:01:00:00:00:24:01:00:00:00:29:01:00:00:00:2A:01:00:00:00:E7:01:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 157
>>>>>>   flags   = 0x80
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 2
>>>>>>   tlv_length  = 146
>>>>>>   message     = "Get Version Info" (0x0021)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "Service list" (0x01)
>>>>>>   length     = 136
>>>>>>   value      =
1B:00:01:00:05:00:01:01:00:24:00:02:01:00:0E:00:03:01:00:19:00:04:01:00:03:00:05:01:00:0A:00:06:01:00:00:00:07:01:00:02:00:08:01:00:02:00:09:02:00:01:00:0A:02:00:10:00:0B:01:00:19:00:0C:01:00:04:00:0F:01:00:00:00:11:01:00:00:00:12:01:00:00:00:17:01:00:00:00:18:01:00:00:00:1A:01:00:0A:00:1D:01:00:00:00:1E:01:00:00:00:1F:01:00:00:00:22:01:00:00:00:24:01:00:00:00:29:01:00:00:00:2A:01:00:00:00:E7:01:00:00:00
>>>>>>   translated = { [0] = '[ service = 'ctl' major_version = '1'
minor_version = '5' ] ' [1] = '[ service = 'wds' major_version = '1'
minor_version = '36' ] ' [2] = '[ service = 'dms' major_version = '1'
minor_version = '14' ] ' [3] = '[ service = 'nas' major_version = '1'
minor_version = '25' ] ' [4] = '[ service = 'qos' major_version = '1'
minor_version = '3' ] ' [5] = '[ service = 'wms' major_version = '1'
minor_version = '10' ] ' [6] = '[ service = 'pds' major_version = '1'
minor_version = '0' ] ' [7] = '[ service = 'auth' major_version = '1'
minor_version = '2' ] ' [8] = '[ service = 'at' major_version = '1'
minor_version = '2' ] ' [9] = '[ service = 'voice' major_version = '2'
minor_version = '1' ] ' [10] = '[ service = 'cat2' major_version = '2'
minor_version = '16' ] ' [11] = '[ service = 'uim' major_version = '1'
minor_version = '25' ] ' [12] = '[ service = 'pbm' major_version = '1'
minor_version = '4' ] ' [13] = '[ service = 'test' major_version = '1'
minor_version = '0' ] ' [14] = '[ service = 'sar' major_version = '1'
minor_version = '0' ] ' [15] = '[ service = 'ims' major_version = '1'
minor_version = '0' ] ' [16] = '[ service = 'ts' major_version = '1'
minor_version = '0' ] ' [17] = '[ service = 'tmd' major_version = '1'
minor_version = '0' ] ' [18] = '[ service = 'wda' major_version = '1'
minor_version = '10' ] ' [19] = '[ service = 'csvt' major_version = '1'
minor_version = '0' ] ' [20] = '[ service = 'qcmap' major_version = '1'
minor_version = '0' ] ' [21] = '[ service = 'imsp' major_version = '1'
minor_version = '0' ] ' [22] = '[ service = 'coex' major_version = '1'
minor_version = '0' ] ' [23] = '[ service = 'pdc' major_version = '1'
minor_version = '0' ] ' [24] = '[ service = 'rfrpe' major_version = '1'
minor_version = '0' ] ' [25] = '[ service = 'dsd' major_version = '1'
minor_version = '0' ] ' [26] = '[ service = '(null)' major_version = '1'
minor_version = '0' ] '}

[DEBUG]  [/dev/cdc-wdm0] QMI Device supports 27 services:
[DEBUG]  [/dev/cdc-wdm0]    ctl (1.5)
[DEBUG]  [/dev/cdc-wdm0]    wds (1.36)
[DEBUG]  [/dev/cdc-wdm0]    dms (1.14)
[DEBUG]  [/dev/cdc-wdm0]    nas (1.25)
[DEBUG]  [/dev/cdc-wdm0]    qos (1.3)
[DEBUG]  [/dev/cdc-wdm0]    wms (1.10)
[DEBUG]  [/dev/cdc-wdm0]    pds (1.0)
[DEBUG]  [/dev/cdc-wdm0]    auth (1.2)
[DEBUG]  [/dev/cdc-wdm0]    at (1.2)
[DEBUG]  [/dev/cdc-wdm0]    voice (2.1)
[DEBUG]  [/dev/cdc-wdm0]    cat2 (2.16)
[DEBUG]  [/dev/cdc-wdm0]    uim (1.25)
[DEBUG]  [/dev/cdc-wdm0]    pbm (1.4)
[DEBUG]  [/dev/cdc-wdm0]    test (1.0)
[DEBUG]  [/dev/cdc-wdm0]    sar (1.0)
[DEBUG]  [/dev/cdc-wdm0]    ims (1.0)
[DEBUG]  [/dev/cdc-wdm0]    ts (1.0)
[DEBUG]  [/dev/cdc-wdm0]    tmd (1.0)
[DEBUG]  [/dev/cdc-wdm0]    wda (1.10)
[DEBUG]  [/dev/cdc-wdm0]    csvt (1.0)
[DEBUG]  [/dev/cdc-wdm0]    qcmap (1.0)
[DEBUG]  [/dev/cdc-wdm0]    imsp (1.0)
[DEBUG]  [/dev/cdc-wdm0]    coex (1.0)
[DEBUG]  [/dev/cdc-wdm0]    pdc (1.0)
[DEBUG]  [/dev/cdc-wdm0]    rfrpe (1.0)
[DEBUG]  [/dev/cdc-wdm0]    dsd (1.0)
[DEBUG]  [/dev/cdc-wdm0]    unknown [0xe7] (1.0)
[DEBUG]  [/dev/cdc-wdm0] Allocating new client ID...
[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:03:22:00:04:00:01:01:00:02

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 3
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Service" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 02
<<<<<<   translated = dms

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 24
>>>>>>   data   =
01:17:00:80:00:00:01:03:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:02:02

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 23
>>>>>>   flags   = 0x80
>>>>>>   service = "ctl"
>>>>>>   client  = 0
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 3
>>>>>>   tlv_length  = 12
>>>>>>   message     = "Allocate CID" (0x0022)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS
>>>>>> TLV:
>>>>>>   type       = "Allocation Info" (0x01)
>>>>>>   length     = 2
>>>>>>   value      = 02:02
>>>>>>   translated = [ service = 'dms' cid = '2' ]

[DEBUG]  [/dev/cdc-wdm0] Registered 'dms' (version 1.14) client with ID '2'
[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 17
<<<<<<   data   = 01:10:00:00:02:02:00:01:00:01:00:04:00:14:01:00:01

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 16
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 2
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Set Event Report" (0x0001)
<<<<<< TLV:
<<<<<<   type       = "Operating Mode Reporting" (0x14)
<<<<<<   length     = 1
<<<<<<   value      = 01
<<<<<<   translated = yes

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 20
>>>>>>   data   =
01:13:00:80:02:02:02:01:00:01:00:07:00:02:04:00:00:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 19
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 2
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 1
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Set Event Report" (0x0001)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS

[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 17
<<<<<<   data   = 01:10:00:00:02:02:00:02:00:2E:00:04:00:01:01:00:01

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 16
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 2
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Set Operating Mode" (0x002E)
<<<<<< TLV:
<<<<<<   type       = "Mode" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 01
<<<<<<   translated = low-power

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 20
>>>>>>   data   =
01:13:00:80:02:02:02:02:00:2E:00:07:00:02:04:00:00:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 19
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 2
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 2
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Set Operating Mode" (0x002E)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS

[DEBUG]  [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 17
<<<<<<   data   = 01:10:00:00:02:02:00:03:00:2E:00:04:00:01:01:00:00

[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 16
<<<<<<   flags   = 0x00
<<<<<<   service = "dms"
<<<<<<   client  = 2
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 3
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Set Operating Mode" (0x002E)
<<<<<< TLV:
<<<<<<   type       = "Mode" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 00
<<<<<<   translated = online

[DEBUG]  [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>>   length = 20
>>>>>>   data   =
01:13:00:80:02:02:02:03:00:2E:00:07:00:02:04:00:00:00:00:00

[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...
>>>>>> QMUX:
>>>>>>   length  = 19
>>>>>>   flags   = 0x80
>>>>>>   service = "dms"
>>>>>>   client  = 2
>>>>>> QMI:
>>>>>>   flags       = "response"
>>>>>>   transaction = 3
>>>>>>   tlv_length  = 7
>>>>>>   message     = "Set Operating Mode" (0x002E)
>>>>>> TLV:
>>>>>>   type       = "Result" (0x02)
>>>>>>   length     = 4
>>>>>>   value      = 00:00:00:00
>>>>>>   translated = SUCCESS

[INFO]   All done.




On Tue, Dec 6, 2016 at 9:20 AM, Dan Williams <dcbw at redhat.com> wrote:

> On Mon, 2016-12-05 at 19:14 -0800, Shilpa Velamuri wrote:
> > Do indications from modem arrive to libqmi on the same port/pipe/path
> > as
> > request/response messages?
>
> Yes, they do.  Indications *are* responses, they just have a different
> bit set in the header to indicate they aren't responses to a specific
> command.  If you can receive responses, there is no reason you
> shouldn't be able to receive indications too.
>
> Have you tried with a different device to see if the device's firmware
> is somehow buggy?  What QMI service versions do you have?  Some early
> firmware versions don't support many indications.  But they should all
> support at least basic ones from NAS and DMS.
>
> > Does the flag - QMI_DEVICE_OPEN_FLAGS_SYNC have any effect on
> > receiving
> > indications?
>
> Not really. This flag opens the device and tells the firmware to "sync"
> itself, which clears firmware state and disposes of all existing
> allocated QMI clients.  So in that case yes, it throws away any
> indication setup you may have previously done, and you'd need to enable
> those indications again.
>
>
> Can you try to build and run the attached file?  Instructions in the
> file near the top.  This will test if your device handles indications
> correctly.
>
> Dan
>
> >
> >
> > On Fri, Dec 2, 2016 at 12:27 AM, Aleksander Morgado <
> > aleksander at aleksander.es> wrote:
> >
> > >
> > > On Fri, Dec 2, 2016 at 12:34 AM, Shilpa Velamuri <shilpa.vel at gmail.
> > > com>
> > > wrote:
> > > >
> > > > Do I need to do anything else to receive indications?
> > >
> > > Hum... not that I know of, that should be enough.
> > >
> > >
> > > --
> > > Aleksander
> > > https://aleksander.es
> > >
> > _______________________________________________
> > libqmi-devel mailing list
> > libqmi-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20161206/496ecdd3/attachment-0001.html>


More information about the libqmi-devel mailing list