Another option is "gpsd": http://gpsd.berlios.de/
It provides access to the usual GPS functionality for local clients
(mainly useful on a mobile system where you want to run tracking
software etc)
but it also has an option to monitor the PPS signal and sync the NTP
server via
the shared memory driver method. It provides both absolute time (from the
serial messages) and PPS time, so no external reference is needed to get
the time synced. Example from my system:
remote refid st t when poll reach delay offset
jitter
==============================================================================
-SHM(0) .GPSa. 0 l 13 16 377 0.000 7.752
0.516
*SHM(1) .PPSa. 0 l 8 16 377 0.000 0.027
0.012
For this solution no kernel patches are required, but as the PPS handling is
done in a user process it is less precise than a kernel-supported method.
Still, the offset between PPS and kernel time is usually within the tens of
microseconds range. When you update your kernel via some distributor's
update mechanism and don't need the microsecond-or-better precision of
a patched kernel, I would recommend the user process approach.
I don't recommend solutions that depend on NMEA. The time in an NMEA
message
is the time-of-fix, not the current time. At the moment the message is
sent it may
be tens to hundreds of milliseconds behind, and with some receivers
there may
be an uncertainty that is so bad that the PPS signal is resolved to the
wrong second.
Rob
_______________________________________________
timekeepers mailing list
[email protected]
https://fortytwo.ch/mailman/cgi-bin/listinfo/timekeepers