Re: [PATCH 2/3] telit: add support for Dell VID in Telit plugin

2016-04-28 Thread Daniele Palmas
Hi Aleksander,

2016-04-27 21:41 GMT+02:00 Daniele Palmas :
> Hi Aleksander,
>
> 2016-04-27 21:20 GMT+02:00 Aleksander Morgado :
>> On Wed, Apr 27, 2016 at 9:04 PM, Aleksander Morgado
>>  wrote:
>>> On Wed, Apr 27, 2016 at 4:36 PM, Daniele Palmas  wrote:
 This patch adds support for Dell VID in Telit plugin in order to provide
 Dell branded Telit modems support
 ---
>>>
>>> No, we don't want to do that.
>>>
>>> We now have a "Dell" plugin for 1.6.x in git master; this plugin has
>>> the VID based filter, and what it does is detect which kind of modem
>>> it is (QMI, MBIM, Ericsson, Novatel or Sierra). What we should do is
>>> to treat the Telit support in the Dell plugin as we do for Sierra and
>>> Novatel. Please check the Dell plugin to see how that goes (basically
>>> just parsing GMI/CGMI output to match the real vendor) :)
>>
>> One of the rationales for this is to try to minimize the amount of
>> changes required in the different plugins when new Dell-branded
>> devices appear (we don't want to require new commits for each new
>> modem VID/PID appearing in the wild). The Dell plugin should be
>> intelligent enough to decide which manufacturer is really behind the
>> device. In your case, you could just get the Dell plugin run the Telit
>> plugin's custom init and create a MMBroadbandModemTelit afterwards.
>> Maybe there's something that I'm not considering which prevents this
>> from being possible?
>
> I agree with you and I already have a patch that adds support for this
> modem in Dell plugin: it just needs a bit of refactoring for Telit
> plugin to export some functions, but I don't think this is a problem.
>
> The real problem is that Dell plugin has poor probing performance with
> a modem like HE910 that has 6 ttyACM ports, only two of which answers
> to AT commands: there are three different commands (+GMI, +CGMI,
> I1I2I3) that should be retried three times, since the ports are not
> answering.
>
> This means that the modem with Dell plugin is available after more
> than 60 seconds, while with Telit one after about 10 seconds.
>
> Is there a way to speed up port probing in Dell plugin without
> changing it too much? I don't want to introduce regressions for other
> Dell modems.
>
> Thanks,
> Daniele
>

Taking a deeper look at Dell plugin, my idea is to use the same udev
tag needed for Telit dynamic port configuration
(ID_MM_TELIT_PORTS_TAGGED) to set cgmi_retries and ati_retries to 0,
since Telit modems always answer to +GMI.

In this way port probing time should be reduced and the other modems
not affected by the change.

I will submit another patchset for adding support in Dell plugin.

Thanks,
Daniele


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


Re: [PATCH 2/3] telit: add support for Dell VID in Telit plugin

2016-04-27 Thread Daniele Palmas
Hi Aleksander,

2016-04-27 21:20 GMT+02:00 Aleksander Morgado :
> On Wed, Apr 27, 2016 at 9:04 PM, Aleksander Morgado
>  wrote:
>> On Wed, Apr 27, 2016 at 4:36 PM, Daniele Palmas  wrote:
>>> This patch adds support for Dell VID in Telit plugin in order to provide
>>> Dell branded Telit modems support
>>> ---
>>
>> No, we don't want to do that.
>>
>> We now have a "Dell" plugin for 1.6.x in git master; this plugin has
>> the VID based filter, and what it does is detect which kind of modem
>> it is (QMI, MBIM, Ericsson, Novatel or Sierra). What we should do is
>> to treat the Telit support in the Dell plugin as we do for Sierra and
>> Novatel. Please check the Dell plugin to see how that goes (basically
>> just parsing GMI/CGMI output to match the real vendor) :)
>
> One of the rationales for this is to try to minimize the amount of
> changes required in the different plugins when new Dell-branded
> devices appear (we don't want to require new commits for each new
> modem VID/PID appearing in the wild). The Dell plugin should be
> intelligent enough to decide which manufacturer is really behind the
> device. In your case, you could just get the Dell plugin run the Telit
> plugin's custom init and create a MMBroadbandModemTelit afterwards.
> Maybe there's something that I'm not considering which prevents this
> from being possible?

I agree with you and I already have a patch that adds support for this
modem in Dell plugin: it just needs a bit of refactoring for Telit
plugin to export some functions, but I don't think this is a problem.

The real problem is that Dell plugin has poor probing performance with
a modem like HE910 that has 6 ttyACM ports, only two of which answers
to AT commands: there are three different commands (+GMI, +CGMI,
I1I2I3) that should be retried three times, since the ports are not
answering.

This means that the modem with Dell plugin is available after more
than 60 seconds, while with Telit one after about 10 seconds.

Is there a way to speed up port probing in Dell plugin without
changing it too much? I don't want to introduce regressions for other
Dell modems.

Thanks,
Daniele

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


Re: [PATCH 2/3] telit: add support for Dell VID in Telit plugin

2016-04-27 Thread Aleksander Morgado
On Wed, Apr 27, 2016 at 9:04 PM, Aleksander Morgado
 wrote:
> On Wed, Apr 27, 2016 at 4:36 PM, Daniele Palmas  wrote:
>> This patch adds support for Dell VID in Telit plugin in order to provide
>> Dell branded Telit modems support
>> ---
>
> No, we don't want to do that.
>
> We now have a "Dell" plugin for 1.6.x in git master; this plugin has
> the VID based filter, and what it does is detect which kind of modem
> it is (QMI, MBIM, Ericsson, Novatel or Sierra). What we should do is
> to treat the Telit support in the Dell plugin as we do for Sierra and
> Novatel. Please check the Dell plugin to see how that goes (basically
> just parsing GMI/CGMI output to match the real vendor) :)

One of the rationales for this is to try to minimize the amount of
changes required in the different plugins when new Dell-branded
devices appear (we don't want to require new commits for each new
modem VID/PID appearing in the wild). The Dell plugin should be
intelligent enough to decide which manufacturer is really behind the
device. In your case, you could just get the Dell plugin run the Telit
plugin's custom init and create a MMBroadbandModemTelit afterwards.
Maybe there's something that I'm not considering which prevents this
from being possible?

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


Re: [PATCH 2/3] telit: add support for Dell VID in Telit plugin

2016-04-27 Thread Aleksander Morgado
On Wed, Apr 27, 2016 at 4:36 PM, Daniele Palmas  wrote:
> This patch adds support for Dell VID in Telit plugin in order to provide
> Dell branded Telit modems support
> ---

No, we don't want to do that.

We now have a "Dell" plugin for 1.6.x in git master; this plugin has
the VID based filter, and what it does is detect which kind of modem
it is (QMI, MBIM, Ericsson, Novatel or Sierra). What we should do is
to treat the Telit support in the Dell plugin as we do for Sierra and
Novatel. Please check the Dell plugin to see how that goes (basically
just parsing GMI/CGMI output to match the real vendor) :)

>  plugins/telit/mm-plugin-telit.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/plugins/telit/mm-plugin-telit.c b/plugins/telit/mm-plugin-telit.c
> index d9793d1..e704ad1 100644
> --- a/plugins/telit/mm-plugin-telit.c
> +++ b/plugins/telit/mm-plugin-telit.c
> @@ -354,7 +354,7 @@ mm_plugin_create (void)
>  {
>  static const gchar *subsystems[] = { "tty", NULL };
>  /* Vendors: Telit */
> -static const guint16 vendor_ids[] = { 0x1bc7, 0 };
> +static const guint16 vendor_ids[] = { 0x1bc7, 0x413c, 0 };
>  /* Only handle TELIT tagged devices here. */
>  static const gchar *udev_tags[] = {
>  "ID_MM_TELIT_TAGGED",
> --
> 2.8.1
>



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