> -----Original Message-----
> From: Aleksander Morgado [mailto:aleksan...@aleksander.es]
> Sent: Tuesday, May 01, 2018 11:47 AM

> On Tue, May 1, 2018 at 6:20 PM, Matthew Starr <mst...@hedonline.com>
> wrote:
> > Add reading the ID_MM_PORT_READY_DELAY udev flag value and using it
> as
> >
> > an init delay when a value is set.
> >
> >
> >
> > The 20 second delay for the TOBY-L4 +READY URC has been reimplemented
> >
> > using the new ready delay timeout value.
> >
> > ---
> >
> > plugins/ublox/77-mm-ublox-port-types.rules |  2 ++
> >
> > plugins/ublox/mm-plugin-ublox.c            | 10 ++++++----
> >
> > 2 files changed, 8 insertions(+), 4 deletions(-)
> >
> >
> >
> > diff --git a/plugins/ublox/77-mm-ublox-port-types.rules
> > b/plugins/ublox/77-mm-ublox-port-types.rules
> >
> > index 31128dac..8873047e 100644
> >
> > --- a/plugins/ublox/77-mm-ublox-port-types.rules
> >
> > +++ b/plugins/ublox/77-mm-ublox-port-types.rules
> >
> > @@ -11,9 +11,11 @@ SUBSYSTEMS=="usb",
> ATTRS{bInterfaceNumber}=="?*",
> > ENV{.MM_USBIFNUM}="$attr{bInte
> >
> > #  ttyACM0 (if #2): secondary (ignore)
> >
> > #  ttyACM1 (if #4): debug port (ignore)
> >
> > #  ttyACM2 (if #6): primary
> >
> > +#      Wait up to 20s for the +READY URC
> >
> > #  ttyACM3 (if #8): AT port for FOTA (ignore)
> >
> > ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1010",
> ENV{.MM_USBIFNUM}=="02",
> > ENV{ID_MM_PORT_IGNORE}="1"
> >
> > ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1010",
> ENV{.MM_USBIFNUM}=="04",
> > ENV{ID_MM_PORT_IGNORE}="1"
> >
> > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1010",
> ENV{.MM_USBIFNUM}=="06",
> > ENV{ID_MM_PORT_READY_DELAY}="20"
> >
> > ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1010",
> ENV{.MM_USBIFNUM}=="08",
> > ENV{ID_MM_PORT_IGNORE}="1"
> >
> >  # TOBY-R2 port types
> >
> > diff --git a/plugins/ublox/mm-plugin-ublox.c
> > b/plugins/ublox/mm-plugin-ublox.c
> >
> > index f4553a60..b96ca583 100644
> >
> > --- a/plugins/ublox/mm-plugin-ublox.c
> >
> > +++ b/plugins/ublox/mm-plugin-ublox.c
> >
> > @@ -50,9 +50,6 @@ create_modem (MMPlugin     *self,
> >
> >
> /**********************************************************
> *******************/
> >
> > /* Custom init context */
> >
> > -/* Wait up to 20s for the +READY URC */
> >
> > -#define READY_WAIT_TIME_SECS 20
> >
> > -
> >
> > typedef struct {
> >
> >      MMPortSerialAt *port;
> >
> >      GRegex         *ready_regex;
> >
> > @@ -147,8 +144,13 @@ wait_for_ready (GTask *task)
> >
> >                                                     task,
> >
> >                                                     NULL);
> >
> > +    mm_dbg ("(%s/%s) waiting %d seconds for init timeout",
> >
> > +            mm_port_probe_get_port_subsys (probe),
> >
> > +            mm_port_probe_get_port_name   (probe),
> >
> > +            mm_port_probe_get_ready_delay (probe));
> >
> > +
> >
> >      /* Otherwise, let the custom init timeout in some seconds. */
> >
> > -    ctx->timeout_id = g_timeout_add_seconds (READY_WAIT_TIME_SECS,
> > (GSourceFunc) ready_timeout, task);
> >
> > +    ctx->timeout_id = g_timeout_add_seconds
> (mm_port_probe_get_ready_delay
> > (probe), (GSourceFunc) ready_timeout, task);
> >
> > }
> >
> 
> How about making it so that ublox_custom_init() just returns TRUE in
> the GTask right away if the "ready wait time secs" read from the udev
> tag is 0? This would get rid of all the custom init logic if there's
> no need to wait for the +READY URC.
> 

If I took this approach, I would still need to read the udev tag.  Would you 
want the functionality of the other patch I sent added to just the u-blox 
plugin (reading the udev tag), or leave it at a higher level under 
mm-port-probe?

Regards,
Matthew Starr
_______________________________________________
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel

Reply via email to