Hi guys,
I decided it would be fun to build a GPS/PPS NTP server, I got it working but only partly and am looking for some input.
I built the system using an ODROID-C1+ and Adafruit Ultimate GPS Hat (with external antenna) running on Armbian (Debian Jessie).
I am no Linux expert and this is my first attempt at anything electronic like this - so please don't freak out if I am doing something stupid.
Things mostly work, here where I am at.
ppstest works:
# ppstest /dev/pps0
trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1485414094.050185084, sequence: 60501 - clear 0.000000000, sequence: 0
source 0 - assert 1485414095.050296381, sequence: 60502 - clear 0.000000000, sequence: 0
source 0 - assert 1485414096.050407898, sequence: 60503 - clear 0.000000000, sequence: 0
gpsmon works, it usually reports 4 or 5 sats, the PPS: section displays a number and I see lines like this in the log that scrolls past.
------------------- PPS offset: -0.065339434 ------
cgps works, it will show a status of 3D FIX
So that all looks promising to me... I am trying to feed NTPD from GPSD based on the instructions on the GPSD website. I modified my ntp.conf to include:
# GPS Serial data reference (NTP0)
server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 0.47 refid GPS
# GPS PPS reference (NTP1)
server 127.127.28.1 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.1 refid PPS
So in theory the two should be linked now. My issue is the ntp can't seem to keep accurate time, the offset is all over the place and so is the jitter. ntp never indicates it is reading anything from PPS either.
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+115.90.134.35 .kPPS. 1 u 46 64 377 87.044 -46.370 16.804
-209.58.185.100 130.133.1.10 2 u 5 64 377 2.472 -13.764 21.169
-61-216-153-105. 211.22.103.158 3 u 57 64 377 53.510 -57.128 16.660
+time1.maxonline .GPS. 1 u 23 64 377 37.936 -72.798 20.454
*SHM(0) .GPS. 0 l 3 16 377 0.000 69.955 42.229
SHM(1) .PPS. 0 l - 16 0 0.000 0.000 0.000
I have tried adjusting the time1 offset value (and setting it to 0) but the offset can go from -50 to maybe +80 and jitter jumps from 2 to maybe 80 as well.
If anyone can shed some clues about what is going on it would be most appreciated.
Robert