From: Pavel Machek <pavel@ucw.cz>
To: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Cc: Johan Hovold <johan@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Andreas Kemnade <andreas@kemnade.info>,
Arnd Bergmann <arnd@arndb.de>,
"H . Nikolaus Schaller" <hns@goldelico.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 0/7] gnss: add new GNSS subsystem
Date: Sat, 5 May 2018 23:11:29 +0200 [thread overview]
Message-ID: <20180505211129.GA762@amd> (raw)
In-Reply-To: <20180505172847.qqpqkrfspak53sc6@earth.universe>
[-- Attachment #1: Type: text/plain, Size: 2664 bytes --]
Hi!
> > > (*) I have those in mind:
> > >
> > > Nokia N900: The phone has GPS integrated into the modem and uses
> > > ISI encapsulated data. The protocol has been reverse engineered
> > > and it should be possible to write a kernel driver for handling
> > > the GPS packets and dumping the raw data to /dev/gnss0. I don't
> > > think this is particularly useful without a non-raw interface,
> > > though. It would still require a custom userspace implementation.
> >
> > Actually... in this case it would be nice to do the protocol
> > processing in kernel and just present reasonable interface to
> > userland... or maybe NMEA.
>
> Converting a binary protocol to NMEA, which needs to be string
> parsed is not very nice. I think first step would be to write a
> simple driver, which exposes the binary location protocol without
> ISI header. Then in a second step we can think about a reasonable
> interface, that should be supported by all GNSS devices.
Well, most of the userspace expects NMEA. So yes, its an ugly
protocol, but .. it is not really a high-performance device.
I'd suggest modeling this over input subsystem. We could use similar
tag/value/sync protocol (evdev). In similar way /dev/input/mice was
used for running legacy apps during transition, we'd have /dev/...//nmea.
> > > Droid 4: GPS is similar to N900, but different protocol and QMI
> > > encapsulated. This one also has known protocol with userspace
> > > implementation. I did not yet have a detailed look, if its possible
> > > to (un)wrap this in the kernel.
> >
> > So, this is actually NMEA over QMI. I do have patches libqmi that
> > provides NMEA on stdout.
>
> Ok. So raw data is NMEA for this one. Should be reasonably easy to
> write a driver exposing this via /dev/gnss device.
If we have qmi implementation somewhere in kernel. Do we?
> > But there seems to be another possibile interface (yes, that modem is
> > crazy, and you can talk to it over few different interfaces), and
> > that's NMEA over GSM07.10. That one should be feasible to decode in
> > kernel and just provide NMEA to userland.
>
> I think both should be feasible. I suggest to wait a bit more
> until you and Tony figured out some more details. You've got
> the libqmi patch as workaround for now and we want a stable API
> later.
I do have the gsm07.10 one now, too. That one is certainly simple
enough (and should eat less power -- no need to keep USB running).
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2018-05-05 21:11 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-24 16:34 [PATCH 0/7] gnss: add new GNSS subsystem Johan Hovold
2018-04-24 16:34 ` [PATCH 1/7] gnss: add GNSS receiver subsystem Johan Hovold
2018-04-25 8:56 ` Greg Kroah-Hartman
2018-04-25 10:56 ` Johan Hovold
2018-04-25 12:23 ` Johan Hovold
2018-04-29 13:35 ` Greg Kroah-Hartman
2018-05-02 7:57 ` Johan Hovold
2018-04-24 16:34 ` [PATCH 2/7] dt-bindings: add generic gnss binding Johan Hovold
2018-04-25 18:26 ` Rob Herring
2018-04-24 16:34 ` [PATCH 3/7] gnss: add generic serial driver Johan Hovold
2018-04-25 8:57 ` Greg Kroah-Hartman
2018-04-25 10:58 ` Johan Hovold
2018-04-25 9:00 ` Greg Kroah-Hartman
2018-04-25 11:05 ` Johan Hovold
2018-04-24 16:34 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Johan Hovold
2018-04-25 18:16 ` Rob Herring
2018-04-26 9:10 ` Johan Hovold
2018-05-01 14:05 ` Rob Herring
2018-05-02 8:16 ` Johan Hovold
2018-05-02 13:16 ` Rob Herring
2018-05-07 9:06 ` Johan Hovold
2018-05-03 9:35 ` H. Nikolaus Schaller
2018-05-03 18:50 ` Andreas Kemnade
2018-05-04 5:16 ` H. Nikolaus Schaller
2018-05-04 11:42 ` Sebastian Reichel
2018-05-04 12:04 ` H. Nikolaus Schaller
2018-05-04 13:37 ` Sebastian Reichel
2018-05-04 14:29 ` Tony Lindgren
2018-05-07 10:07 ` Johan Hovold
2018-05-07 10:01 ` Johan Hovold
2018-05-07 15:45 ` Tony Lindgren
2018-05-07 16:34 ` Johan Hovold
2018-05-07 17:50 ` Tony Lindgren
2018-05-08 6:58 ` Johan Hovold
2018-05-08 15:22 ` Tony Lindgren
2018-05-08 15:47 ` Tony Lindgren
2018-05-08 15:54 ` Tony Lindgren
2018-05-08 16:49 ` Tony Lindgren
2018-05-09 13:10 ` OMAP serial runtime PM and autosuspend (was: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding)) Johan Hovold
2018-05-09 13:57 ` Tony Lindgren
2018-05-17 10:09 ` Johan Hovold
2018-05-17 17:10 ` Tony Lindgren
2018-05-21 13:48 ` Johan Hovold
2018-05-21 15:48 ` Tony Lindgren
2018-05-24 9:17 ` Johan Hovold
2018-05-24 13:32 ` Tony Lindgren
2018-05-25 14:02 ` Johan Hovold
2018-05-08 15:56 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Sebastian Reichel
2018-05-09 9:18 ` Serdev runtime PM (was: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding) Johan Hovold
2018-05-09 9:49 ` Johan Hovold
2018-05-09 14:05 ` Tony Lindgren
2018-05-17 10:25 ` Johan Hovold
2018-05-07 9:47 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Johan Hovold
2018-04-24 16:34 ` [PATCH 5/7] gnss: add driver for u-blox receivers Johan Hovold
2018-04-24 16:34 ` [PATCH 6/7] dt-bindings: gnss: add sirfstar binding Johan Hovold
2018-04-25 18:25 ` Rob Herring
2018-04-26 9:12 ` Johan Hovold
2018-04-24 16:34 ` [PATCH 7/7] gnss: add driver for sirfstar-based receivers Johan Hovold
2018-04-24 17:40 ` [PATCH 0/7] gnss: add new GNSS subsystem H. Nikolaus Schaller
2018-04-24 17:50 ` Johan Hovold
2018-04-24 19:44 ` H. Nikolaus Schaller
2018-04-25 8:11 ` Johan Hovold
2018-04-26 10:10 ` H. Nikolaus Schaller
2018-04-26 18:21 ` Johan Hovold
2018-04-24 20:13 ` Pavel Machek
2018-04-24 20:59 ` Andreas Kemnade
2018-04-25 7:32 ` Johan Hovold
2018-04-25 6:49 ` Marcel Holtmann
2018-04-25 7:24 ` Johan Hovold
2018-04-24 20:38 ` Pavel Machek
2018-04-25 6:26 ` Pavel Machek
2018-04-25 6:51 ` Johan Hovold
2018-04-25 8:48 ` Greg Kroah-Hartman
2018-04-25 10:31 ` Johan Hovold
2018-05-04 13:27 ` Sebastian Reichel
2018-05-04 20:03 ` Pavel Machek
2018-05-05 17:28 ` Sebastian Reichel
2018-05-05 21:11 ` Pavel Machek [this message]
2018-05-06 6:47 ` Marcel Holtmann
2018-05-07 10:20 ` Johan Hovold
2018-05-07 19:06 ` Marcel Holtmann
2018-05-08 7:01 ` Johan Hovold
2018-05-08 7:49 ` Marcel Holtmann
2018-05-08 12:48 ` Johan Hovold
2018-05-08 20:03 ` Marcel Holtmann
2018-05-30 10:26 ` Johan Hovold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180505211129.GA762@amd \
--to=pavel@ucw.cz \
--cc=andreas@kemnade.info \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hns@goldelico.com \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=sebastian.reichel@collabora.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).