<div dir="ltr">Hi Aleksander,<div>                       We are now implementing qualcomm device update (qdu) MBIM device service on the libmbim currently used by the MM and fwupd.</div><div>                       It uses the MBIM_SERVICE_INTEL_FIRMWARE_UPDATE service.</div><div>                       We found the update process will succeed only if the modemmanager is stopped and the mbim port is opened without the proxy.</div><div>                       Probably the mbim interface could not be interfered during the update process.</div><div>                       Could we stop the mbim-proxy during update and restart it after update ?</div><div>                       </div><div>Thanks,</div><div>Edward Chang</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 10, 2020 at 5:37 PM Aleksander Morgado <<a href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey Edward<br>
<br>
>  I am implementing a new firmware update mechanism with fwupd and libmbim for new 5G modules. This new update mechanism has to use mbim port directly (The mbim port cannot be opened with the proxy flag and cannot be accessed by others during update.). I found that even if a modem is inhibited, its mbim port still couldn't be accessed without the proxy flag. I checked the log of modemmanager during inhibition. I saw the mbim port closed(but with some transaction time out) and the modem disabled. When the mbim modem was inhibited, I expected its mbim port could be accessed by others without the proxy flag but it was still required. Would you have any advice on this ? Is it possible to release mbim port when a mbim modem is inhibited ?<br>
<br>
The device inhibition applies to ModemManager only, and the mbim-proxy<br>
process has its own lifetime once it has been spawned. The mbim-proxy<br>
is required to be running because the MM plugin in fwupd needs it for<br>
QMI PDC operations using QMI over MBIM.<br>
<br>
Why do you need to access the MBIM port directly without the proxy?<br>
Every operation that you could do without the proxy should be doable<br>
with the proxy as well. Which MBIM command do you need to trigger the<br>
firmware update?<br>
<br>
The only reason I can think of is that you're going to use a different<br>
MBIM library/program to talk to the modem from fwupd, is that the<br>
case? If so, why not add the necessary new messages to libmbim and use<br>
libmbim from within the new fwupd plugin support? the MM plugin in<br>
fwupd already requires libqmi, it could also require libmbim as well<br>
for what it's worth.<br>
<br>
-- <br>
Aleksander<br>
<a href="https://aleksander.es" rel="noreferrer" target="_blank">https://aleksander.es</a><br>
</blockquote></div>