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