<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 19, 2014 at 8:54 AM, Ben Chan <span dir="ltr"><<a href="mailto:benchan@chromium.org" target="_blank">benchan@chromium.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Aleksander,<br>
<br>
libmbim currently retries the OPEN message<br>
(mbim-device.c:open_message) every 1s, if the modem does not respond.<br>
<br>
However, MS recommends delaying MBIM OPEN<br>
(<a href="http://msdn.microsoft.com/en-us/library/windows/hardware/dn423927(v=vs.85).aspx" target="_blank">http://msdn.microsoft.com/en-us/library/windows/hardware/dn423927(v=vs.85).aspx</a>)<br>
as follows:<br>
<br>
"MBIM devices may require time to complete initialization when they<br>
receive MBIM OPEN message from the host. The device should wait for<br>
its initialization to complete before responding to the MBIM OPEN<br>
message. The device should not respond to the message with error<br>
status like MBIM_STATUS_BUSY and expect the host to poll the device<br>
with MBIM OPEN messages. Responding to MBIM OPEN with a status other<br>
than MBIM_STATUS_SUCCESS terminates the initialization process on the<br>
host."<br>
<br>
>From my observation, it looks like modem vendors follow this<br>
recommendation and delay the response to the OPEN message while the<br>
modem is still initializing. The initialization process gets<br>
unnecessarily terminated if libmbim retries the OPEN message too soon.<br>
Other than letting libmbim to wait (much) longer before retrying the<br>
OPEN message, I'm not sure if there is any better solution.<br>
<br>
How do you think?<br>
<br>
Thanks,<br>
Ben<br></blockquote><div><br></div><div>As the transaction already has a timeout and a cancelable object, perhaps we can simply increase the retry interval. I can help gather some data on how long it takes for modems to initialize.</div>

<div><br></div><div>Ben</div><div> </div></div><br></div></div>