Subject: Re: Does PPS_SYNC work ?
To: None <netbsd-users@NetBSD.org>
From: Tatoku Ogaito <tacha@tack.fukui-med.ac.jp>
List: netbsd-users
Date: 12/10/2003 00:59:30
>> On Thu, 04 Dec 2003 13:02:50 -0800
 wolfgang+gnus20031204T124952@dailyplanet.dontspam.wsrcc.com (Wolfgang S. Rupprecht) wrote:

 > > I have tried patch included in pr, but pps related information does
 > > not appeared in ntptime output...  Anyway, I will dig ntp source tomorrow.
 > You might just want to ignore the patches and run without the kernel
 > assist for the PPS.

It was my mistake. (I was forgotten to install patched systm.h and timepps.h
before recompile ntpd.)  Using a kernel with patch included in the pr,
ntptime(8) now reports

[fmutime1]/root# ntptime
ntp_gettime() returns code 0 (OK)
  time c37f9dd6.4c554000  Tue, Dec  9 2003 10:03:18.298, (.298176),
  maximum error 223679 us, estimated error 14 us.
ntp_adjtime() returns code 0 (OK)
  modes 0x0 (),
  offset -41.000 us, frequency 43.391 ppm, interval 32 s,
  maximum error 223679 us, estimated error 14 us,
  status 0x107 (PLL,PPSFREQ,PPSTIME,PPSSIGNAL),
  time constant 2, precision 1.000 us, tolerance 512 ppm,
  pps frequency 0.246 ppm, stability 0.922 ppm, jitter 1.000 us,
  intervals 1666, jitter exceeded 4, stability exceeded 12, errors 5.

but the time stability is worse than my expectation (and yoirs).
Offset becomes > 1ms every ~ 4hours. 

      http://tack.fukui-med.ac.jp/%7Etacha/ntpstat.png

I use 

GPS:    Furuno TS-820 (with default output mode, $GPGAA)
ntpd:   pkgsrc/net/ntp4 (ntpd 4.2.0@1.1161-r) nmea driver
kernel: NetBSD/i386 1.6.2_RC3 with patch in the PR 13702
cpu:    Intel Pentium III (Tualatin) Xeon (686-class), 1196.47 MHz

with following ntp.conf

----------------------------------------------------------
[fmutime1]~% sed -e 's,#.*$,,' /etc/ntp.conf|grep -v '^$'
pidfile         /var/run/ntpd.pid
driftfile       /var/db/ntp.drift
logconfig       -syncstatus
driftfile /var/log/ntp/ntp.drift
statsdir  /var/log/ntp/ntpstat
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 127.127.20.1 mode 2
fudge  127.127.20.1 flag3 1
----------------------------------------------------------

I will change fudge flag to flag2 and check the situation will change.

Tacha