<div dir="ltr">Thank You for the reply.<div><br></div><div>Here is the output of running the test program you sent:</div><div><br></div><div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...</div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 28</div><div><<<<<<   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</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 27</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 1</div><div><<<<<<   tlv_length  = 16</div><div><<<<<<   message     = "Internal Proxy Open" (0xFF00)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Device Path" (0x01)</div><div><<<<<<   length     = 13</div><div><<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:30</div><div><<<<<<   translated = /dev/cdc-wdm0</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 19</div><div>>>>>>>   data   = 01:12:00:00:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 18</div><div>>>>>>>   flags   = 0x00</div><div>>>>>>>   service = "ctl"</div><div>>>>>>>   client  = 0</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 1</div><div>>>>>>>   tlv_length  = 7</div><div>>>>>>>   message     = "Internal Proxy Open" (0xFF00)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Checking version info (10 retries)...</div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 12</div><div><<<<<<   data   = 01:0B:00:00:00:00:00:02:21:00:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 11</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 2</div><div><<<<<<   tlv_length  = 0</div><div><<<<<<   message     = "Get Version Info" (0x0021)</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 158</div><div>>>>>>>   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</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 157</div><div>>>>>>>   flags   = 0x80</div><div>>>>>>>   service = "ctl"</div><div>>>>>>>   client  = 0</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 2</div><div>>>>>>>   tlv_length  = 146</div><div>>>>>>>   message     = "Get Version Info" (0x0021)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Service list" (0x01)</div><div>>>>>>>   length     = 136</div><div>>>>>>>   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</div><div>>>>>>>   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' ] '}</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] QMI Device supports 27 services:</div><div>[DEBUG]  [/dev/cdc-wdm0]    ctl (1.5)</div><div>[DEBUG]  [/dev/cdc-wdm0]    wds (1.36)</div><div>[DEBUG]  [/dev/cdc-wdm0]    dms (1.14)</div><div>[DEBUG]  [/dev/cdc-wdm0]    nas (1.25)</div><div>[DEBUG]  [/dev/cdc-wdm0]    qos (1.3)</div><div>[DEBUG]  [/dev/cdc-wdm0]    wms (1.10)</div><div>[DEBUG]  [/dev/cdc-wdm0]    pds (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    auth (1.2)</div><div>[DEBUG]  [/dev/cdc-wdm0]    at (1.2)</div><div>[DEBUG]  [/dev/cdc-wdm0]    voice (2.1)</div><div>[DEBUG]  [/dev/cdc-wdm0]    cat2 (2.16)</div><div>[DEBUG]  [/dev/cdc-wdm0]    uim (1.25)</div><div>[DEBUG]  [/dev/cdc-wdm0]    pbm (1.4)</div><div>[DEBUG]  [/dev/cdc-wdm0]    test (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    sar (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    ims (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    ts (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    tmd (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    wda (1.10)</div><div>[DEBUG]  [/dev/cdc-wdm0]    csvt (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    qcmap (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    imsp (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    coex (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    pdc (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    rfrpe (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    dsd (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0]    unknown [0xe7] (1.0)</div><div>[DEBUG]  [/dev/cdc-wdm0] Allocating new client ID...</div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 16</div><div><<<<<<   data   = 01:0F:00:00:00:00:00:03:22:00:04:00:01:01:00:02</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 15</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 3</div><div><<<<<<   tlv_length  = 4</div><div><<<<<<   message     = "Allocate CID" (0x0022)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Service" (0x01)</div><div><<<<<<   length     = 1</div><div><<<<<<   value      = 02</div><div><<<<<<   translated = dms</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 24</div><div>>>>>>>   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</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 23</div><div>>>>>>>   flags   = 0x80</div><div>>>>>>>   service = "ctl"</div><div>>>>>>>   client  = 0</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 3</div><div>>>>>>>   tlv_length  = 12</div><div>>>>>>>   message     = "Allocate CID" (0x0022)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Allocation Info" (0x01)</div><div>>>>>>>   length     = 2</div><div>>>>>>>   value      = 02:02</div><div>>>>>>>   translated = [ service = 'dms' cid = '2' ]</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Registered 'dms' (version 1.14) client with ID '2'</div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 17</div><div><<<<<<   data   = 01:10:00:00:02:02:00:01:00:01:00:04:00:14:01:00:01</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 16</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "dms"</div><div><<<<<<   client  = 2</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 1</div><div><<<<<<   tlv_length  = 4</div><div><<<<<<   message     = "Set Event Report" (0x0001)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Operating Mode Reporting" (0x14)</div><div><<<<<<   length     = 1</div><div><<<<<<   value      = 01</div><div><<<<<<   translated = yes</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 20</div><div>>>>>>>   data   = 01:13:00:80:02:02:02:01:00:01:00:07:00:02:04:00:00:00:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 19</div><div>>>>>>>   flags   = 0x80</div><div>>>>>>>   service = "dms"</div><div>>>>>>>   client  = 2</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 1</div><div>>>>>>>   tlv_length  = 7</div><div>>>>>>>   message     = "Set Event Report" (0x0001)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 17</div><div><<<<<<   data   = 01:10:00:00:02:02:00:02:00:2E:00:04:00:01:01:00:01</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 16</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "dms"</div><div><<<<<<   client  = 2</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 2</div><div><<<<<<   tlv_length  = 4</div><div><<<<<<   message     = "Set Operating Mode" (0x002E)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Mode" (0x01)</div><div><<<<<<   length     = 1</div><div><<<<<<   value      = 01</div><div><<<<<<   translated = low-power</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 20</div><div>>>>>>>   data   = 01:13:00:80:02:02:02:02:00:2E:00:07:00:02:04:00:00:00:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 19</div><div>>>>>>>   flags   = 0x80</div><div>>>>>>>   service = "dms"</div><div>>>>>>>   client  = 2</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 2</div><div>>>>>>>   tlv_length  = 7</div><div>>>>>>>   message     = "Set Operating Mode" (0x002E)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 17</div><div><<<<<<   data   = 01:10:00:00:02:02:00:03:00:2E:00:04:00:01:01:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Sent message (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 16</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "dms"</div><div><<<<<<   client  = 2</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 3</div><div><<<<<<   tlv_length  = 4</div><div><<<<<<   message     = "Set Operating Mode" (0x002E)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Mode" (0x01)</div><div><<<<<<   length     = 1</div><div><<<<<<   value      = 00</div><div><<<<<<   translated = online</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message...</div><div>>>>>>> RAW:</div><div>>>>>>>   length = 20</div><div>>>>>>>   data   = 01:13:00:80:02:02:02:03:00:2E:00:07:00:02:04:00:00:00:00:00</div><div><br></div><div>[DEBUG]  [/dev/cdc-wdm0] Received message (translated)...</div><div>>>>>>> QMUX:</div><div>>>>>>>   length  = 19</div><div>>>>>>>   flags   = 0x80</div><div>>>>>>>   service = "dms"</div><div>>>>>>>   client  = 2</div><div>>>>>>> QMI:</div><div>>>>>>>   flags       = "response"</div><div>>>>>>>   transaction = 3</div><div>>>>>>>   tlv_length  = 7</div><div>>>>>>>   message     = "Set Operating Mode" (0x002E)</div><div>>>>>>> TLV:</div><div>>>>>>>   type       = "Result" (0x02)</div><div>>>>>>>   length     = 4</div><div>>>>>>>   value      = 00:00:00:00</div><div>>>>>>>   translated = SUCCESS</div><div><br></div><div>[INFO]   All done.</div><div><br></div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 6, 2016 at 9:20 AM, Dan Williams <span dir="ltr"><<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, 2016-12-05 at 19:14 -0800, Shilpa Velamuri wrote:<br>
> Do indications from modem arrive to libqmi on the same port/pipe/path<br>
> as<br>
> request/response messages?<br>
<br>
</span>Yes, they do.  Indications *are* responses, they just have a different<br>
bit set in the header to indicate they aren't responses to a specific<br>
command.  If you can receive responses, there is no reason you<br>
shouldn't be able to receive indications too.<br>
<br>
Have you tried with a different device to see if the device's firmware<br>
is somehow buggy?  What QMI service versions do you have?  Some early<br>
firmware versions don't support many indications.  But they should all<br>
support at least basic ones from NAS and DMS.<br>
<span class=""><br>
> Does the flag - QMI_DEVICE_OPEN_FLAGS_SYNC have any effect on<br>
> receiving<br>
> indications?<br>
<br>
</span>Not really. This flag opens the device and tells the firmware to "sync"<br>
itself, which clears firmware state and disposes of all existing<br>
allocated QMI clients.  So in that case yes, it throws away any<br>
indication setup you may have previously done, and you'd need to enable<br>
those indications again.<br>
<br>
<br>
Can you try to build and run the attached file?  Instructions in the<br>
file near the top.  This will test if your device handles indications<br>
correctly.<br>
<br>
Dan<br>
<span class=""><br>
><br>
><br>
> On Fri, Dec 2, 2016 at 12:27 AM, Aleksander Morgado <<br>
> <a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>> wrote:<br>
><br>
> ><br>
> > On Fri, Dec 2, 2016 at 12:34 AM, Shilpa Velamuri <shilpa.vel@gmail.<br>
> > com><br>
> > wrote:<br>
> > ><br>
> > > Do I need to do anything else to receive indications?<br>
> ><br>
> > Hum... not that I know of, that should be enough.<br>
> ><br>
> ><br>
> > --<br>
> > Aleksander<br>
> > <a href="https://aleksander.es" rel="noreferrer" target="_blank">https://aleksander.es</a><br>
> ><br>
</span>> ______________________________<wbr>_________________<br>
> libqmi-devel mailing list<br>
> <a href="mailto:libqmi-devel@lists.freedesktop.org">libqmi-devel@lists.<wbr>freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/libqmi-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/libqmi-devel</a></blockquote></div><br></div>