RFC: Supporting proprietary UUIDs for MBIM devices

Aleksander Morgado aleksander at aleksander.es
Sat Jan 18 05:05:16 PST 2014


Hey Greg,

On Sat, Jan 18, 2014 at 12:11 AM, Greg Suarez <gpsuarez2512 at gmail.com> wrote:
> I was wondering if anyone as thought about or started working on adding an
> interface to allow OEM apps to make use of proprietary MBIM extensions
> through ModemManager?
>
> I was thinking along of the lines of allowing the app to send binary blobs
> along with the UUID and CID and ModemManager will pass along the message to
> the device and look for responses with the matching UUID and CID to pass
> along the binary response back to the app.
> Also ModemManager would need to provide a mechanism for the app to subscribe
> to notifications from a matching UUID.
>
> Any thoughts or a better way?

I think that it makes more sense to setup something like the
'qmi-proxy' that we have in libqmi; i.e. a 'mbim-proxy'. This new
proxy would be the one opening the actual cdc-wdm device, and it would
then allow different processes to connect to the proxy and share the
actual connection with the device. This would allow both ModemManager
and other processes to talk MBIM at the same time. The mbim-proxy
would be a bit different than the qmi-proxy, as there is no
'client-id' logic within the MBIM protocol, so that would need to be
managed by the proxy itself (i.e. keep a table of ongoing transactions
in each remote client). Also, notifications should be handled
differently; in the qmi-proxy case we could send non-broadcast
notifications only to the client expecting them, but in the case of
the mbim-proxy, we would need some other way to handle that. Maybe
allowing clients to 'register' to specific notifications and keeping
that logic within the proxy...

-- 
Aleksander


More information about the ModemManager-devel mailing list