[ntp:questions] How to debug PPS?

David Lord snews at lordynet.org
Thu Apr 22 21:27:37 UTC 2010


Chaofu Chen wrote:
> Hi all. I want to build a NTP server but PPS doen't work for the time being. Status bits from "ntptime" and "ntpdc -c kern" include PLL and NANO, sometimes PPSTIME and PPSFREQ, but PPSSIGNAL never appears.
> 
> ------- system overview ---------------
> MotherBoard: Intel Atom N270 / Intel 945GSE+ICH7M
> OS: FreeBSD 7.2R, kernel recompiled with option PPS_SYNC
> NTP: v4.2.6p1
> PPS: -8.6v ~ +7.7v, 1Hz, pulse width 500ms
> Time source: GGA sentense from GPS module, 9600bps, through cuad0
> ------- ntp.conf -------------
> server 127.127.20.1 mode 18 prefer
> fudge 127.127.20.1 flag1 1 flag2 1 flag3 1
> ...
> -------- output of ntpq ----------------------
> ntpq>pe
>      remote           refid      st t when poll reach   delay   offset  jitter
> ==============================================================================
> *GPS_NMEA(1)     .GPS.            0 l   53   64  377    0.000   -4.503   8.626
> ntpq>as
> ind assid status  conf reach auth condition  last_event cnt
> ===========================================================
>   1 18533  9644   yes   yes  none  sys.peer   reachable  4
> ntpq>rv
> associd=0 status=042d leap_none, sync_uhf_radio, 2 events, kern,
> version="ntpd 4.2.6p1 at 1.2158-o Thu Apr 22 13:28:36 UTC 2010 (1)",
> processor="i386", system="FreeBSD/7.2-RELEASE", leap=00, stratum=1,
> precision=-18, rootdelay=0.000, rootdisp=13.349, refid=GPS,
> reftime=cf7ad712.6e321a44  Thu, Apr 22 2010 22:09:22.430,
> clock=cf7ad712.7f655c3a  Thu, Apr 22 2010 22:09:22.497, peer=18533, tc=6,
> mintc=3, offset=-4.111, frequency=-4.879, sys_jitter=7.301,
> clk_jitter=0.000, clk_wander=0.006
> ntpq>cv
> associd=0 status=0000 , no events, clk_unspec,
> device="NMEA GPS Clock",
> timecode="$GPGGA,140929,3130.8506,N,10444.6118,E,1,09,0.9,529.2,M,-32.4,M,,*60",
> poll=17, noreply=0, badformat=0, baddata=0, fudgetime1=0.000, stratum=0,
> refid=GPS, flags=5
> ---------- output of ntpdc -c kern -------
> pll offset:           -0.00395776 s
> pll frequency:        -4.879 ppm
> maximum error:        0.032849 s
> estimated error:      0.003847 s
> status:               2007  pll ppsfreq ppstime nano
> pll time constant:    6
> precision:            1e-09 s
> frequency tolerance:  496 ppm
> ---------- output of ntptime -----------
> ntp_gettime() returns code 5 (ERROR)
>   time cf7ad741.5a770bb0  Thu, Apr 22 2010 22:10:09.353, (.353379029),
>   maximum error 36849 us, estimated error 3847 us, TAI offset 0
> ntp_adjtime() returns code 5 (ERROR)
>   modes 0x0 (),
>   offset -3926.940 us, frequency -4.879 ppm, interval 1 s,
>   maximum error 36849 us, estimated error 3847 us,
>   status 0x2007 (PLL,PPSFREQ,PPSTIME,NANO),
>   time constant 6, precision 0.001 us, tolerance 496 ppm,
> ---------------------------------------------------
> 
> Any suggestions or help will be appreciated.

I don't see anywhere in above where your PPS is coming from.

It's unlikely it will be from any GPS sentence as these can
be anywhere within a second for the devices I have here.

If you have a PPS signal on serial DCD, I'd suggest adding
pps driver "server 127.127.22.(n)"
which requires /dev/pps(n)

Here on NetBSD I have /dev/pps2 -> /dev/tty00

I think the NMEA driver may pickup the PPS so long as /dev/pps(n)
is available.

      remote    refid  st poll reach  offset jitter
*GPS_NMEA(2)  .GPSb.   0   64   377   0.001  0.004
oPPS(2)       .PPSb.   0   16   377  -0.002  0.004


David




More information about the questions mailing list