> -----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