Hi Aleksander,
2017-03-24 15:33 GMT+01:00 Daniele Palmas <[email protected]>:
> Hi Aleksander,
>
> 2017-03-24 14:48 GMT+01:00 Aleksander Morgado <[email protected]>:
>> Vendor specific plugins that support QMI or MBIM based devices need to
>> handle the creation of these modems themselves.
>>
>> https://bugs.freedesktop.org/show_bug.cgi?id=100372
>> ---
>>
>> Hey Carlo and Daniele,
>>
>> This patch makes the Telit plugin accept QMI and MBIM modems. Can any of you
>> test it with such modems to make sure the Telit plugin is the one grabbing
>> them?
>>
>
> Sure, I can give it a try on Monday.
>
Applying your patch and testing with an mbim based I still see that
the generic plugin is used
daniele@L2122:~/git/ModemManager$ mmcli -L
Found 1 modems:
/org/freedesktop/ModemManager1/Modem/0 [Generic] MBIM [1BC7:0032]
So in the log I found
ModemManager[3807]: <debug> (Telit) [cdc-wdm0] filtered by implicit MBIM driver
and added
MM_PLUGIN_ALLOWED_QMI, TRUE,
MM_PLUGIN_ALLOWED_MBIM, TRUE,
in mm_plugin_create.
I'm now seeing
ModemManager[5758]: <debug> MBIM-powered Telit modem found...
but also
ModemManager[5758]: <warn> Couldn't start initialization: Cannot
initialize: MBIM port went missing
ModemManager[5758]: <warn> couldn't initialize the modem: 'Modem is
unusable, cannot fully initialize'
and the modem was not recognized.
I had also to fix telit_grab_port in order to take mbim, qmi and net
ports. Does this make sense?
Daniele
>> Cheers!
>>
>> ---
>> plugins/telit/77-mm-telit-port-types.rules | 3 ---
>> plugins/telit/mm-plugin-telit.c | 33
>> +++++++++++++++++++++++++++++-
>> 2 files changed, 32 insertions(+), 4 deletions(-)
>>
>> diff --git a/plugins/telit/77-mm-telit-port-types.rules
>> b/plugins/telit/77-mm-telit-port-types.rules
>> index 36a4f99f..1b58a3d9 100644
>> --- a/plugins/telit/77-mm-telit-port-types.rules
>> +++ b/plugins/telit/77-mm-telit-port-types.rules
>> @@ -51,7 +51,4 @@ ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022",
>> ENV{ID_MM_TELIT_PORTS_TAGGED}
>> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036",
>> ENV{ID_MM_TELIT_TAGGED}="1"
>> ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036",
>> ENV{ID_MM_TELIT_PORTS_TAGGED}="1"
>>
>> -# NOTE: Qualcomm Gobi-based devices like the LE920 should not be handled
>> -# by this plugin, but by the Gobi plugin.
>> -
>> LABEL="mm_telit_port_types_end"
>> diff --git a/plugins/telit/mm-plugin-telit.c
>> b/plugins/telit/mm-plugin-telit.c
>> index ec3c024f..abb87e4f 100644
>> --- a/plugins/telit/mm-plugin-telit.c
>> +++ b/plugins/telit/mm-plugin-telit.c
>> @@ -28,6 +28,15 @@
>> #include "mm-common-telit.h"
>> #include "mm-broadband-modem-telit.h"
>>
>> +
>> +#if defined WITH_QMI
>> +# include "mm-broadband-modem-qmi.h"
>> +#endif
>> +
>> +#if defined WITH_MBIM
>> +# include "mm-broadband-modem-mbim.h"
>> +#endif
>> +
>> G_DEFINE_TYPE (MMPluginTelit, mm_plugin_telit, MM_TYPE_PLUGIN)
>>
>> MM_PLUGIN_DEFINE_MAJOR_VERSION
>> @@ -44,6 +53,28 @@ create_modem (MMPlugin *self,
>> GList *probes,
>> GError **error)
>> {
>> +#if defined WITH_QMI
>> + if (mm_port_probe_list_has_qmi_port (probes)) {
>> + mm_dbg ("QMI-powered Telit modem found...");
>> + return MM_BASE_MODEM (mm_broadband_modem_qmi_new (uid,
>> + drivers,
>> +
>> mm_plugin_get_name (self),
>> + vendor,
>> + product));
>> + }
>> +#endif
>> +
>> +#if defined WITH_MBIM
>> + if (mm_port_probe_list_has_mbim_port (probes)) {
>> + mm_dbg ("MBIM-powered Telit modem found...");
>> + return MM_BASE_MODEM (mm_broadband_modem_mbim_new (uid,
>> + drivers,
>> +
>> mm_plugin_get_name (self),
>> + vendor,
>> + product));
>> + }
>> +#endif
>> +
>> return MM_BASE_MODEM (mm_broadband_modem_telit_new (uid,
>> drivers,
>> mm_plugin_get_name
>> (self),
>> @@ -56,7 +87,7 @@ create_modem (MMPlugin *self,
>> G_MODULE_EXPORT MMPlugin *
>> mm_plugin_create (void)
>> {
>> - static const gchar *subsystems[] = { "tty", NULL };
>> + static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
>> /* Vendors: Telit */
>> static const guint16 vendor_ids[] = { 0x1bc7, 0 };
>> static const gchar *vendor_strings[] = { "telit", NULL };
>> --
>> 2.12.0
_______________________________________________
ModemManager-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel