From: "Eric S. Raymond" <esr@thyrsus.com>
To: "Ron Frazier (NTP)" <timekeepingntplist@c3energy.com>
Cc: thumbgps-devel@lists.bufferbloat.net
Subject: Re: [Thumbgps-devel] USB handshake signals and Linux
Date: Thu, 15 Mar 2012 13:57:17 -0400 [thread overview]
Message-ID: <20120315175717.GB3870@thyrsus.com> (raw)
In-Reply-To: <4F62022C.6020901@c3energy.com>
Ron Frazier (NTP) <timekeepingntplist@c3energy.com>:
> I have a question about GPSD. I have nothing against it, but why is
> it necessary to use it at all? I have NTPD running on both Windows
> and Linux, and reading my GPS. GSPD isn't available on Windows as
> far as I know. What does using GPSD get me that running without it
> does not?
For timing purposes the GPS emits two things we're interested in: time
report sentences and 1PPS state changes on the DCD or RI line (since
it's a USB interface that would actually be USB events emulating those
changes).
Something has to interpret those. GPSD can already do that and is well
tested. If we drop GPSD, then we have to write our own dedicated
service daemon or in-kernel support. That would be seriously
complicated and involve a lot of headachy debugging.
Also, we'd then probably be stuck with supporting only a single device type.
By the time you've upgraded a non-GPSD service daeomon so it can handle either
NMEA or (say) SiRF binary, you'll have rewritten most of GPSD.
The way the time-delivery pipeline works under Linux is that GPSD uses the
GPS take to write on a shared-memory segment that NTPD reads. The GPSD
code that handles 1PPS interpretation and the handoff to shared memory
is complicated and nasty, without question the most obscure part of the
GPSD codebase. Trust me when I tell you that you do *not* want to try
to duplicate this - debugging it is a stone bitch.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
next prev parent reply other threads:[~2012-03-15 17:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAFv7OigTLhw24i+jRshv0YgLogyx_GEREAOkP7tieeH1Nr5WzA@mail.gmail.com>
2012-03-15 14:37 ` tz
2012-03-15 14:52 ` Ron Frazier (NTP)
2012-03-15 17:57 ` Eric S. Raymond [this message]
2012-03-15 18:31 ` Eric S. Raymond
2012-03-15 18:54 ` Patrick Maupin
2012-03-15 19:36 ` Eric S. Raymond
2012-03-15 19:55 ` Patrick Maupin
2012-03-15 19:14 ` tz
2012-03-15 19:50 ` Eric S. Raymond
2012-03-14 10:49 Eric S. Raymond
2012-03-14 12:55 ` Ron Frazier (NTP)
2012-03-14 12:58 ` Ron Frazier (NTP)
2012-03-14 18:13 ` Patrick Maupin
2012-03-14 18:42 ` Eric S. Raymond
2012-03-14 18:57 ` Dave Taht
2012-03-14 20:09 ` Patrick Maupin
2012-03-15 3:33 ` Patrick Maupin
2012-03-15 4:23 ` Eric S. Raymond
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=20120315175717.GB3870@thyrsus.com \
--to=esr@thyrsus.com \
--cc=thumbgps-devel@lists.bufferbloat.net \
--cc=timekeepingntplist@c3energy.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: 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