Creating multiple clients with one QMI dev

Sai Chaitanya msaichaitanya at gmail.com
Wed Mar 29 04:54:20 UTC 2023


HI again,

When we create multiple clients from the same QmiDevice, it works for WDS
and UIM, but when we add DMS client, we face some issues like transaction
timeouts.
But when I change the order of clients creation, it works ok again. Is
there a recommended order when creating multiple clients (one per service)
from the same QmiDevice?

Our flow looks like something this...

qmi_device_new()
qmi_device_open()
qmi_device_allocate_client(dev, QMI_SERVICE_DMS, ....)

qmi_client_dms_swi_get_current_firmware
qmi_client_dms_get_operating_mode

qmi_device_allocate_client(dev, QMI_SERVICE_UIM, ....)

qmi_client_uim_get_card_status
qmi_client_uim_get_slot_status

qmi_device_allocate_client(dev, QMI_SERVICE_WDS, ....)

qmi_message_wds_start_network_input_set_apn

qmi_client_wds_start_network


When the order of client creation was WDS, UIM and then DMS, we faced
issues. But when reordered it to DMS, UIM and then WDS, it worked fine.
But we are unsure if this has anything to do with the transaction timeouts
we faced before.

Thanks in advance for your time.

On Tue, Dec 6, 2022 at 3:19 PM Aleksander Morgado <aleksandermj at chromium.org>
wrote:

> >
> > Ok, thanks for the quick reply, but does it mean that I cannot use the
> same client for different calls?
> > something like this for example?
> >
> > client_cb(...)
> > {
> > ....
> > qmi_client_dms_swi_get_current_firmware(...
> > qmi_client_dms_get_operating_mode(...
> > ....
> > }
> > qmi_device_allocate_client(dev, QMI_SERVICE_DMS, ...., client_cb,..)
> >
> >
>
> You can of course use the same client for different parallel
> operations, there is no issue there. Requests/responses for a specific
> client ID are matched properly in the QmiDevice.
>
> --
> Aleksander
>


--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20230329/11c53719/attachment.htm>


More information about the libqmi-devel mailing list