[time-nuts] PPS for NTP Server - How Close Is "Good Enough"?

M. George m.matthew.george at gmail.com
Thu Jun 11 00:05:23 EDT 2015


Here is what I have been able to do with a Motorola Oncore UT+ that I got
from Bob Stewart awhile back.  This is with a Raspberry PI 2 with a number
of tweaks and a custom compiled kernel.  Nothing too drastic... plus the
current Dev version of NTP compile on the Raspberry PI.  I'm getting better
results letting ntpd discipline the clock over doing kernel discipline...
not surprising because the algorithms in the ntpd code are much more
sophisticated than the Linux kernel pps code... ntpd discipline provides
much lower jitter in my experience.

I'm rambling at this point, but the following samples are with a $30
antenna on the peak of my roof with LMR-400 solid conductor coax at a
length of 70 ft.  ~1.2 ns per foot delay based on the LMR-400 specs and
nice low loss.  I'm running the coax into an 8 way antenna splitter etc...
nothing that anyone else hasn't done before here.

The Raspberry PI 2 in this case is under load too as part of the
www.pool.ntp.org pool: time.nc7j.com if you want to sync against it.

As everyone else has mentioned, it's total overkill for NTP, but I'm just
interested in tweaking and seeing how good I can get for fun more than
anything else... i.e. time-nut obsession.  I'm pretty happy with the
following under load with www.pool.ntp.org set at 25MB of bandwidth which
controls the traffic to my Pi 2 running NTP.  It's taking a lot of traffic
per second... the CPU for ntpd on the Pi is still low at around .5% to 1%
of one core on the Pi 2.

Here is a block of offsets from a loopstat file, and yes I cherry picked a
nice block in the low nano seconds, but it rarely shows an offset into the
micro seconds over time.. these are 16 second samples of the offsets...

 -0.000000225
 -0.000000273
 0.000000094
 0.000000328
 -0.000000155
 -0.000000042
 -0.000000169
 0.000000323
 0.000000038
 -0.000000312
 -0.000000675
 -0.000000036
 0.000000213
 -0.000000193
 0.000000005
 -0.000000503
 -0.000000154
 -0.000000179
 -0.000000321
 0.000000096
 -0.000000119
 -0.000000173

Not too shabby for a killer deal on an Oncore UT+ for $5 from Bob!  I'm
running the PPS out of the UT+ through a level converter to get the ~3.3v
PPS output... the serial output on the UT+ is also going through a level
converter direct into the Pi 2.  Using the oncore 127.127.30.0 ntpd driver
and again, i'm not using hardpps kernel discipline.

Anyway, users on the other end are at the mercy of the network latency and
noise etc... but I'm serving up some pretty consistent time references,
considering the Pi 2 was $35... and the only one that really cares is
me...  I'm trying to masquerade as a nerdy wana-b time-nut.

I think NTP is a great place to start... if you want to toy around and
tinker, plus provide a service to the rest of the Internet by joining
www.pool.ntp.org and sharing your obsession with time.

Max NG7M



More information about the time-nuts mailing list