Re: [PATCH] telit: support QMI and MBIM modems

2017-03-28 Thread Aleksander Morgado
On Mon, Mar 27, 2017 at 5:45 PM, Aleksander Morgado
 wrote:
>>> Could you share your latest additions and the full log you're getting?
>>>
>>
>> Attached you can find the updated patch that just skips the port
>> identification if the subsystem is not tty: not sure if this is the
>> best approach...
>>
>
> Yes, that approach is fine I think; it should cover all the cases
> where you do want port type hints (AT primary, AT secondary and NMEA).

Daniele, I've pushed your patch to git master.

Thanks!

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-28 Thread Aleksander Morgado
On Tue, Mar 28, 2017 at 2:41 AM, David McCullough
 wrote:
>> > I am a little late to the party but here is the patch I have been running
>> > to do this.  I have been meaning to clean it up and send it in.  Not sure
>> > if there is anything here that will help out but I figured it can't hurt 
>> > :-)
>>
>> This is more or less the MBIM part of what we're suggesting to do but
>> on mm-1-6, right? In git master we no longer require the TELIT_TAGGED
>> tag, and we have the "mm_kernel_device" support instead of the
>> GUDevDevice.
>>
>> David, if you could test your setup with git master (it's compatible
>> to 1.6.x) and Daniele's updated patch, it would be great.
>
> I would love to.  I have been trying to move to master for some time now but
> on our platform there is a severe memory corruption in later versions that 
> has been very
> hard to track down.
>
> One of the object initialisers is overwriting memory in the wrong part of an 
> object and
> causing MM to crash.  I did know where is was (and who) but I was pulled off 
> it for
> higher priority issues and it sbeen a while now :-(
>
> Any thoughts on what could be causing glib object iitialisers to get out of 
> sync would
> be appreciated.  IIRC is was in and around the SIM creation and all in 
> egenric code.
> Doesn't seem to matter which Modem I am using it will crash.  Eventually I 
> will be
> free'd up to resolve this, hopefully sooner rather than later ;-)
>

Oh, is this a new thing? Is this in some specific platform or plain
i386/x86_64? I'll give it some valgrind runs to see if I find
something.

> As for the Telit, it would be nice if we could pull in some of the Telit 
> plugins AT
> command based methods to supplement the MBIM interface.  I couldn't see any 
> example of
> that but any advice on the best approach would be appreciated.

A good example of how to do something like this is the Cinterion
plugin, where we supplement the QMI interface with AT commands to
manage GPS.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-27 Thread David McCullough


Aleksander Morgado wrote the following:
> On Mon, Mar 27, 2017 at 12:47 PM, David McCullough
>  wrote:
> > I am a little late to the party but here is the patch I have been running
> > to do this.  I have been meaning to clean it up and send it in.  Not sure
> > if there is anything here that will help out but I figured it can't hurt :-)
> 
> This is more or less the MBIM part of what we're suggesting to do but
> on mm-1-6, right? In git master we no longer require the TELIT_TAGGED
> tag, and we have the "mm_kernel_device" support instead of the
> GUDevDevice.
> 
> David, if you could test your setup with git master (it's compatible
> to 1.6.x) and Daniele's updated patch, it would be great.

I would love to.  I have been trying to move to master for some time now but
on our platform there is a severe memory corruption in later versions that has 
been very
hard to track down.

One of the object initialisers is overwriting memory in the wrong part of an 
object and
causing MM to crash.  I did know where is was (and who) but I was pulled off it 
for
higher priority issues and it sbeen a while now :-(

Any thoughts on what could be causing glib object iitialisers to get out of 
sync would
be appreciated.  IIRC is was in and around the SIM creation and all in egenric 
code.
Doesn't seem to matter which Modem I am using it will crash.  Eventually I will 
be
free'd up to resolve this, hopefully sooner rather than later ;-)

As for the Telit, it would be nice if we could pull in some of the Telit 
plugins AT
command based methods to supplement the MBIM interface.  I couldn't see any 
example of
that but any advice on the best approach would be appreciated.

Cheers,
Davidm

-- 
David McCullough,  david.mccullo...@accelerated.com,   Ph: 0410 560 763
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-27 Thread Aleksander Morgado
> 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]:  (Telit) [cdc-wdm0] filtered by implicit MBIM 
>>> driver
>>>
>>> and added
>>>
>>>   MM_PLUGIN_ALLOWED_QMI,TRUE,
>>>   MM_PLUGIN_ALLOWED_MBIM,   TRUE,
>>>
>>> in mm_plugin_create.
>>>
>>
>> Ouch, yes, that is needed.
>>
>>> I'm now seeing
>>>
>>> ModemManager[5758]:  MBIM-powered Telit modem found...
>>>
>>> but also
>>>
>>> ModemManager[5758]:   Couldn't start initialization: Cannot
>>> initialize: MBIM port went missing
>>> ModemManager[5758]:   couldn't initialize the modem: 'Modem is
>>> unusable, cannot fully initialize'
>>>
>>> and the modem was not recognized.
>>>
>>
>> That is very weird. Do you have the full log around?
>>
>
> I did a new one with a qmi based device, but basically it is the same,
> you can find it here:
>
> https://pastebin.com/rqWhmgSR
>
> Mar 27 16:37:08 L2122 ModemManager[21199]:   Couldn't start
> initialization: Cannot initialize: QMI port went missing
> 
> Mar 27 16:37:08 L2122 ModemManager[21199]:   couldn't initialize
> the modem: 'Modem is unusable, cannot fully initialize'
>
> This does not happen if I fix telit_grab_port.
>

Ah, so the issue doesn't happen either in MBIM or QMI if you fix
telit_grab_port() as you did? That is perfectly fine for me, actually
I guess that if grab_port() isn't fixed we're just flagging the port
as MM_PORT_TYPE_IGNORED, which is why you get the issue.

>>> I had also to fix telit_grab_port in order to take mbim, qmi and net
>>> ports. Does this make sense?
>>
>> Yes, it also makes sense...
>>
>> Could you share your latest additions and the full log you're getting?
>>
>
> Attached you can find the updated patch that just skips the port
> identification if the subsystem is not tty: not sure if this is the
> best approach...
>

Yes, that approach is fine I think; it should cover all the cases
where you do want port type hints (AT primary, AT secondary and NMEA).

So all looking good from my POV.

David, Dan, what do you guys think?

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-27 Thread Aleksander Morgado
On Mon, Mar 27, 2017 at 12:47 PM, David McCullough
 wrote:
> I am a little late to the party but here is the patch I have been running
> to do this.  I have been meaning to clean it up and send it in.  Not sure
> if there is anything here that will help out but I figured it can't hurt :-)

This is more or less the MBIM part of what we're suggesting to do but
on mm-1-6, right? In git master we no longer require the TELIT_TAGGED
tag, and we have the "mm_kernel_device" support instead of the
GUDevDevice.

David, if you could test your setup with git master (it's compatible
to 1.6.x) and Daniele's updated patch, it would be great.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-27 Thread Aleksander Morgado
On Mon, Mar 27, 2017 at 12:14 PM, Daniele Palmas  wrote:
> 2017-03-24 15:33 GMT+01:00 Daniele Palmas :
>> Hi Aleksander,
>>
>> 2017-03-24 14:48 GMT+01:00 Aleksander Morgado :
>>> 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]:  (Telit) [cdc-wdm0] filtered by implicit MBIM 
> driver
>
> and added
>
>   MM_PLUGIN_ALLOWED_QMI,TRUE,
>   MM_PLUGIN_ALLOWED_MBIM,   TRUE,
>
> in mm_plugin_create.
>

Ouch, yes, that is needed.

> I'm now seeing
>
> ModemManager[5758]:  MBIM-powered Telit modem found...
>
> but also
>
> ModemManager[5758]:   Couldn't start initialization: Cannot
> initialize: MBIM port went missing
> ModemManager[5758]:   couldn't initialize the modem: 'Modem is
> unusable, cannot fully initialize'
>
> and the modem was not recognized.
>

That is very weird. Do you have the full log around?

> I had also to fix telit_grab_port in order to take mbim, qmi and net
> ports. Does this make sense?

Yes, it also makes sense...

Could you share your latest additions and the full log you're getting?


-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-27 Thread Daniele Palmas
Hi Aleksander,

2017-03-24 15:33 GMT+01:00 Daniele Palmas :
> Hi Aleksander,
>
> 2017-03-24 14:48 GMT+01:00 Aleksander Morgado :
>> 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]:  (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]:  MBIM-powered Telit modem found...

but also

ModemManager[5758]:   Couldn't start initialization: Cannot
initialize: MBIM port went missing
ModemManager[5758]:   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
ModemManager-devel@lists.freedesktop.org

Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Aleksander Morgado
On Fri, Mar 24, 2017 at 11:08 PM, Daniele Palmas  wrote:
>> On Fri, Mar 24, 2017 at 3:33 PM, Daniele Palmas  wrote:
>>> So LN930 was a "special" modem, in the sense that was never produced
>>> with Telit VID.
>>
>> Did it actually have a custom Telit firmware, or was it the original
>> one from Intel? I see that this device also didn't have Telit VID in
>> AT+NCM mode.
>>
>
> It basically is Intel original one. No Telit AT# command is supported in 
> LN930.

Ok, thanks. I was actually thinking in using that device as a base for
a new plugin; including the AT+NCM mode.


-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Daniele Palmas
2017-03-24 17:38 GMT+01:00 Aleksander Morgado :
> On Fri, Mar 24, 2017 at 3:33 PM, Daniele Palmas  wrote:
>> So LN930 was a "special" modem, in the sense that was never produced
>> with Telit VID.
>
> Did it actually have a custom Telit firmware, or was it the original
> one from Intel? I see that this device also didn't have Telit VID in
> AT+NCM mode.
>

It basically is Intel original one. No Telit AT# command is supported in LN930.

Daniele

>
> --
> Aleksander
> https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Aleksander Morgado
On Fri, Mar 24, 2017 at 3:33 PM, Daniele Palmas  wrote:
> So LN930 was a "special" modem, in the sense that was never produced
> with Telit VID.

Did it actually have a custom Telit firmware, or was it the original
one from Intel? I see that this device also didn't have Telit VID in
AT+NCM mode.


-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Daniele Palmas
Hi Aleksander,

2017-03-24 14:48 GMT+01:00 Aleksander Morgado :
> 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.

> I have a LN930 that I can switch to MBIM mode, but it exposes Intel's VID, 
> not the Telit VID. Do you know if this would be something happening to all 
> MBIM-capable Telit modems?
>

So LN930 was a "special" modem, in the sense that was never produced
with Telit VID.

All the others available MBIM based modems expose Telit VID, such as
LE910 V2 (PID 0x0032), LE922A6 (PID 0x1041), LE920A4 (PID 0x1204)

MBIM composition is not usually the default, but it can be changed
with the #USBCFG command.

Thanks,
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
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Aleksander Morgado
On Fri, Mar 24, 2017 at 2:57 PM, Carlo Lobrano  wrote:
>> I have a LN930 that I can switch to MBIM mode, but it exposes Intel's VID,
>> not the Telit VID. Do you know if this would be something happening to all
>> MBIM-capable Telit modems?
>
> this shouldn't happen. How do you switch to MBIM mode?

at@usbmwtestfw:usb_profile_set_nvm_configuration(...


-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Re: [PATCH] telit: support QMI and MBIM modems

2017-03-24 Thread Carlo Lobrano
Hi Aleksander,

> I have a LN930 that I can switch to MBIM mode, but it exposes Intel's
VID, not the Telit VID. Do you know if this would be something happening to
all MBIM-capable Telit modems?

this shouldn't happen. How do you switch to MBIM mode?

Carlo

Il venerdì 24 marzo 2017, Aleksander Morgado  ha
scritto:

> 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?
>
> I have a LN930 that I can switch to MBIM mode, but it exposes Intel's VID,
> not the Telit VID. Do you know if this would be something happening to all
> MBIM-capable Telit modems?
>
> 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
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel