[PATCH] u-blox: ignore non-AT ttyACM interfaces

Dan Williams dcbw at redhat.com
Wed Apr 11 01:48:47 UTC 2018


On Tue, 2018-04-10 at 19:58 +0000, Matthew Starr wrote:
> > -----Original Message-----
> > From: Dan Williams [mailto:dcbw at redhat.com]
> > Sent: Tuesday, April 10, 2018 1:17 PM
> > To: Matthew Starr; modemmanager-devel at lists.freedesktop.org
> > Subject: Re: [PATCH] u-blox: ignore non-AT ttyACM interfaces
> > 
> > On Tue, 2018-04-10 at 17:30 +0000, Matthew Starr wrote:
> > > For the TOBY-R2, LISA-R2, and LARA-R2, the only valid AT ports
> > > are
> > > ttyACM0, ttyACM1, and ttyACM2.  All other ttyACM ports cause MM
> > > to
> > > wait 20-30 seconds probing the port on startup.
> > > 
> > > Ignoring the non-AT ttyACM ports allows MM to not wait 20-30
> > > seconds
> > > probing and therefore startup much faster with these modems.
> > 
> > Is the "primary log for diagnostics" a QCDM/DIAG port?
> 
> I am not sure what the usage of the "primary log for diagnostics"
> port it used for.  It is just named that in the datasheet and
> sometimes called the trace log.  I attempted to connect to it at
> various baud rates but no response.  I have a feeling it is for u-
> blox only use, maybe for certification.  There is no documentation
> that I can find that actually tells what the port is used for, how to
> communicate with it, and how to configure it.  There is the AT+USIO
> command which is only supported by the u-blox SARA modems which
> allows some configuration of the log, but it doesn't look like that
> command is supported by any of the modems I added.
> 
> > 
> > Also, does the GNSS port spit out NMEA when location services are
> > enabled?
> > If so we may want to tag that port (but still ignore it) and then
> > advertise that
> > port as the "unmanaged" location port.
> 
> The GNSS port does output NMEA at 9600 baud when location services
> are enabled (like with AT+UGPS).  How would you tag the port and
> still ignore it?  How do you advertise the port as unmanaged?

A number of plugins do this, like mbm or Cinterion.  But unfortunately
the ublox plugin doesn't support GPS yet, and it turns out we can't yet
prevent those known GPS ports from being probed either since they get
tagged during the "grab" phase after probing.  So nevermind...  (though
would be good to fix both of these issues).

Dan

> Matthew
> 
> > 
> > Dan
> > 
> > > ---
> > >  plugins/ublox/77-mm-ublox-port-types.rules | 35
> > > ++++++++++++++++++++++++++++++
> > >  1 file changed, 35 insertions(+)
> > > 
> > > diff --git a/plugins/ublox/77-mm-ublox-port-types.rules
> > > b/plugins/ublox/77-mm-ublox-port-types.rules
> > > index cb77f0e0..31128dac 100644
> > > --- a/plugins/ublox/77-mm-ublox-port-types.rules
> > > +++ b/plugins/ublox/77-mm-ublox-port-types.rules
> > > @@ -16,4 +16,39 @@ ATTRS{idVendor}=="1546",
> > 
> > ATTRS{idProduct}=="1010",
> > > ENV{.MM_USBIFNUM}=="02", ENV{  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}=="08", ENV{ID_MM_PORT_IGNORE}="1"
> > > 
> > > +# TOBY-R2 port types
> > > +#  ttyACM0 (if #0): primary
> > > +#  ttyACM1 (if #2): secondary
> > > +#  ttyACM2 (if #4): tertiary
> > > +#  ttyACM3 (if #6): GNSS Tunneling (ignore) #  ttyACM4 (if #8):
> > > SIM
> > > +Access Profile (ignore) #  ttyACM5 (if #10): Primary Log for
> > > +diagnostics (ignore) ATTRS{idVendor}=="1546",
> > > +ATTRS{idProduct}=="1107",
> > > ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1107",
> > > ENV{.MM_USBIFNUM}=="08", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1107",
> > > ENV{.MM_USBIFNUM}=="0a", ENV{ID_MM_PORT_IGNORE}="1"
> > > +
> > > +# LARA-R2 port types
> > > +#  ttyACM0 (if #0): primary
> > > +#  ttyACM1 (if #2): secondary
> > > +#  ttyACM2 (if #4): tertiary
> > > +#  ttyACM3 (if #6): GNSS Tunneling (ignore) #  ttyACM4 (if #8):
> > > SIM
> > > +Access Profile (ignore) #  ttyACM5 (if #10): Primary Log for
> > > +diagnostics (ignore) ATTRS{idVendor}=="1546",
> > > +ATTRS{idProduct}=="110a",
> > > ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="110a",
> > > ENV{.MM_USBIFNUM}=="08", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="110a",
> > > ENV{.MM_USBIFNUM}=="0a", ENV{ID_MM_PORT_IGNORE}="1"
> > > +
> > > +# LISA-U2 port types
> > > +#  ttyACM0 (if #0): primary
> > > +#  ttyACM1 (if #2): secondary
> > > +#  ttyACM2 (if #4): tertiary
> > > +#  ttyACM3 (if #6): GNSS Tunneling (ignore) #  ttyACM4 (if #8):
> > > +Primary Log for diagnostics (ignore) #  ttyACM5 (if #10):
> > > Secondary
> > > +Log for diagnostics (ignore) #  ttyACM6 (if #12): SAP (SIM
> > > Access
> > > +Profile) (ignore) ATTRS{idVendor}=="1546",
> > > ATTRS{idProduct}=="1102",
> > > ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1102",
> > > ENV{.MM_USBIFNUM}=="08", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1102",
> > > ENV{.MM_USBIFNUM}=="0a", ENV{ID_MM_PORT_IGNORE}="1"
> > > +ATTRS{idVendor}=="1546", ATTRS{idProduct}=="1102",
> > > ENV{.MM_USBIFNUM}=="0c", ENV{ID_MM_PORT_IGNORE}="1"
> > > +
> > >  LABEL="mm_ublox_port_types_end"


More information about the ModemManager-devel mailing list