[rfc] Propagate manufacturer information from MMKernelDevice to MMBroadbandModem

Aleksander Morgado aleksander at aleksander.es
Wed Oct 4 07:46:55 UTC 2017


Hey,

>
> Unlike AT or QMI, MBIM doesn't define a standard command to query
> manufacturer information. But the manufacturer information can often
> be inferred from the USB vendor ID or retrieved through the
> Manufacturer string descriptor at the USB level.
>
> MMBroadbandModemMbim currently uses the plugin name as the
> manufacturer, which may not be very useful if the generic plugin is
> used. I wonder if it makes sense to let MMBroadbandModemMbim make use
> of the manufacturer information, if available, from MMKernelDevice.
> Obviously, modem vendors would like us to report a proper manufacturer
> name than 'Generic' :)
>
> I've put together a few patches that plumb up the logic, which you
> check it out from this github branch:
> https://github.com/cbchan/ModemManager/commits/mbim-manufacturer.
> I'd like to hear your thoughts on this approach before creating a pull
> request. In particular,
>

I personally find the idea ok.

> * The few MBIM modems I have report the correct manufacturer through
> the manufacturer string descriptor, but I suspect some MBIM modems
> don't.
>

And the fallback back to plugin name is ok in that case.

> *  I find the propagation (i.e. MMKernelDevice -> MMDevice -> MMPlugin
> -> MMBaseModem -> MMBroadbandModemMbim) a bit involved and convoluted.
> Perhaps there is simpler way to do that?
>

I believe you only need the API in MMKernelDevice, and then just:

manufacturer = g_strdup (
    mm_kernel_device_get_physdev_manufacturer (
        mm_port_peek_kernel_device (
            MM_PORT (mm_base_modem_peek_port_mbim (MM_BASE_MODEM (self)))));

(or something along those lines)

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list