Hi Aleksander, 2017-03-11 13:29 GMT+01:00 Aleksander Morgado <aleksan...@aleksander.es>: > The telit plugin is based on two main ways of checking the purpose of > each port: udev tags flagging specific interfaces (with info taken > from Windows .inf drivers), or otherwise using AT#PORTCFG? to query > the modem about that information. If none of those applies, the port > is ignored by default. > > In order to support devices that are not explicitly tagged, the plugin > shouldn't flag as ignored the AT-capable TTYs, instead they are now > grabbed as 'secondary': ports grabbed as secondary will never be used > for either primary/data IF there is another port flagged explicitly > for primary/data. > > This fixes the support for modems with a single TTY and no explicit > port type hint tag, e.g. RS232 modems with just one single TTY where > there's no point in specifying port type hints: the port will be > grabbed as secondary, and then automatically promoted to primary/data > as there is no other port grabbed. > > https://bugs.freedesktop.org/show_bug.cgi?id=100159 > --- > > Hey Dan, Daniele, Carlo and everyone, > > This patch makes it possible for the Telit plugin to support Telit modems > that only expose a single TTY, without needing to manually add any port type > hint. > > What do you think?
Makes sense to me, thanks. Daniele > > --- > plugins/telit/mm-common-telit.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/plugins/telit/mm-common-telit.c b/plugins/telit/mm-common-telit.c > index 78530c42..3f2cce5c 100644 > --- a/plugins/telit/mm-common-telit.c > +++ b/plugins/telit/mm-common-telit.c > @@ -84,11 +84,22 @@ telit_grab_port (MMPlugin *self, > } else > ptype = MM_PORT_TYPE_IGNORED; > } else { > - /* If the port was tagged by the udev rules but isn't a primary or > secondary, > - * then ignore it to guard against race conditions if a device just > happens > - * to show up with more than two AT-capable ports. > + /* If the port isn't explicitly tagged as primary, secondary, or gps > + * port, we will fallback to flagging it as secondary, but only if it > + * probed AT successfully. > + * > + * This is so that we support the case where a single TTY is exposed > + * by the modem and no explicit port type hint is specified. > + * > + * From the modem point of view, only the AT_FLAG_PRIMARY would be > + * important, as that is the port that would end up getting used for > PPP > + * in this case, so having multiple secondary ports, if that ever > + * happened, wouldn't be an issue. > */ > - ptype = MM_PORT_TYPE_IGNORED; > + if (mm_port_probe_is_at (probe)) > + pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY; > + else > + ptype = MM_PORT_TYPE_IGNORED; > } > > return mm_base_modem_grab_port (modem, > -- > 2.12.0 _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel