LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Marcel Holtmann <firstname.lastname@example.org> To: Pavel Machek <email@example.com> Cc: Sebastian Reichel <firstname.lastname@example.org>, Johan Hovold <email@example.com>, Greg Kroah-Hartman <firstname.lastname@example.org>, Rob Herring <email@example.com>, Mark Rutland <firstname.lastname@example.org>, Andreas Kemnade <email@example.com>, Arnd Bergmann <firstname.lastname@example.org>, "H . Nikolaus Schaller" <email@example.com>, LKML <firstname.lastname@example.org>, email@example.com Subject: Re: [PATCH 0/7] gnss: add new GNSS subsystem Date: Sun, 6 May 2018 08:47:34 +0200 [thread overview] Message-ID: <31DFBFE6-5E04-4C1E-863A-33DC9EFA1219@holtmann.org> (raw) In-Reply-To: <20180505211129.GA762@amd> Hi Pavel, >>>> (*) 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. I would _not_ model it after the input system. And /dev/input/mice was a really bad design choice. It was there because userspace was too stupid. >>>> 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? Not in a way that it can easily be hooked up, but essentially the QMUX part and everything around it needs to be done in the kernel. Like Phonet and CAIF have been done before that. >>> 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). Someone also needs to make the GSM 07.10 multiplexer code serdev aware. Since currently it is a line discipline and that is not really needed. In case this is a USB serial, it might be better to be hooked up directly into GSM 07.10 without even going through serdev. Regards Marcel
next prev parent reply other threads:[~2018-05-06 6:47 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 2018-05-06 6:47 ` Marcel Holtmann [this message] 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=31DFBFE6-5E04-4C1E-863A-33DC9EFA1219@holtmann.org \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ /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: linkBe 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).