[ntp:questions] ntpd syncs to NMEA message but not PPS

Unruh unruh-spam at physics.ubc.ca
Sun Jan 25 23:56:41 UTC 2009


cstankevitz at toyon.com (Chris Stankevitz) writes:

>Hello,

>I believe ntp is syncing to NMEA messages and not my PPS.  I have some
>specific questions below.

>Facts:

>1. My kernel is patched to support LinuxPPS

Not needed.
You can just use something like gpsd to use the shm hardware clock to run
the pps.



>2. ntpd-4.2.4 patched to support LinuxPPS
>http://ftp.enneenne.com/pub/misc/linuxpps/refclocks/nmea/
??? Patched?


>3. I am using a Garmin GPS18 LVC with PPS tied to DCD

>4. ntpd was configured with --disable-all-clocks --disable-parse-clocks
>--enable-NMEA --enable-LOCAL-CLOCK

Just why did you disable all clocks? 


>5. ntp.conf contains:
>server 127.127.20.0 minpoll 4 prefer
>server 127.127.20.0 flag3 1 flag2 0

>6. PPS signals are received by the kernel evidenced by entries in
>/var/log/messages:
>Jan 24 16:57:04 gps kernel: [  136.314349] PPS event at 4294902783
>Jan 24 16:57:05 gps kernel: [  136.947295] PPS event at 4294903033

>7. The NMEA clock is offset from a stratum 2 server by 600ms:
>root at gps:~/ntp-4.2.4p6# ntpq -p
>     remote           refid      st t when poll reach   delay   offset
>jitter
>==============================================================================
> europium.canoni 193.79.237.14    2 u   13   64    1  154.790  548.684
> 0.001
> GPS_NMEA(0)     .GPS.            0 l   11   16    1    0.000  -63.337
> 0.001

YOu must have set up your nmea to issue a huge bunch of sentences. Why not
use the fudge to get the gps at least near the right ballpark.


>8. ntpdc -c kern makes no reference to pps:
>root at gps:~/ntp-4.2.4p6# ntpdc -c kern
>pll offset:           -0.017965 s
>pll frequency:        82.619 ppm
>maximum error:        0.012304 s
>estimated error:      1.6e-05 s
>status:               0040  unsync
>pll time constant:    4
>precision:            1e-06 s
>frequency tolerance:  512 ppm
>root at gps:~/ntp-4.2.4p6#

>9. According to ntpdc_ops.c, the pps variables are displayed only if
>ik_shift evaluates to true.


>Questions:

>a) Why doesn't ik_shift evaluate to true in ntpdc_ops.c?

>b) How can I confirm that ntp is aware of my PPS signal?

>c) How can I get ntp to use PPS?

I would just use the shmpps set of routines to set up pps using the shm
refclock. 





More information about the questions mailing list