Re: simultaneous voice/data works (was Re: call/normal switch was Re: omap4-droid4: voice call support was)

From: Dan Williams
Date: Mon Apr 09 2018 - 11:53:26 EST


On Mon, 2018-04-09 at 07:08 -0700, Tony Lindgren wrote:
> * Dan Williams <dcbw@xxxxxxxxxx> [180408 02:46]:
> > On Sat, 2018-04-07 at 14:22 +0200, Pavel Machek wrote:
> > > I tried --location-enable-gps-unmanaged , but that did not work
> > > for
> > > me.
> >
> > That requires a TTY that would spit out the GPS data; in this mode
> > MM
> > only sends the start/stop commands, and what comes out the GPS TTY
> > is
> > undefined (at least by MM).
> >
> > So unless you know that one of the 6600's TTYs does GPS and in what
> > format it does GPS, then no.
>
> There should be a NMEA port within the unknown port range
> ttyUSB[123].
>
> Is there some easy way to enable --location-enable-gps-unmanaged for
> testing so I can check if GPS gets enabled for one of the ports?

Not all modems support all of the ModemManager location options;
-unmanaged is only for devices that support sending the data to a
separate port and for which we know the commands to do that.

It looks like QMI has a way to direct the output to a specific device:

// Enum to describe QMI PDS Output Devices
enum eQMIPDSOutputDevices:UINT8
{
eQMIPDSOutputDevices_NoneDisabled = 0,
eQMIPDSOutputDevices_USB = 1,
eQMIPDSOutputDevices_UART1 = 2,
eQMIPDSOutputDevices_UART2 = 3,
eQMIPDSOutputDevices_SharedMemory = 4,
};

so we could add support for that to libqmi and then to ModemManager,
which could help implement --location-enable-gps-unmanaged on alternate
ports.

But what might be simpler is implementing something like the "QMI GPS
proxy" that already exists, but for ModemManager or libqmi directly.
That way you can use QMI and get known formatting of the output data,
but proxy it to a normal-looking NMEA tty? Instead of trying to figure
out which TTY/UART/etc the information comes out of for each specific
device and somehow encoding that into the platform. We know what the
QMI ports are already, that's easy. We don't know what all the TTYs
are for every given modem and hardcoding that info somewhere is error-
prone and hard to keep up with.

Dan