A little background... I am building a small NTP server utilizing a BeagleBone Black Rev C and an AdaFruit Ultimate GPS breakout board (with external antenna) (https://learn.adafruit.com/adafruit-ultimate-gps/overview). I have the hardware connected, have GPS data coming in, and the PPS signal being fed to the BeagleBone on a GPIO pin (hardware overlays are correct). The purpose of this server is to serve up NTP to local clients (very few) on an isolated network with no internet connection. I referred to some online references for similar setups and have tried to read up as much as I can.
Linux beaglebone 4.4.9-ti-r25 #1 SMP Thu May 5 23:08:13 UTC 2016 armv7l GNU/Linux The problems I'm having I think are probably configuration based. I just can't seem to figure out what I'm doing wrong. I fear the accuracy and jitter is much poorer than I need (I need <1ms accuracy) based on the output of chronyc sources. Any guidance you can give on what to try would be greatly appreciated. Also if you could give some tips on how to get a general feel for how accurate my clock is that would also. Thanks in advance. debian@beaglebone:~$ chronyc sources 210 Number of sources = 2 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #? NMEA 0 4 377 21 +102ms[ +102ms] +/- 107ms #? PPS 0 4 0 - +0ns[ +0ns] +/- 0ns I was expecting the Last sample values to be much smaller but maybe I'm misinterpreting the output. # chrony.conf settings minsamples 10 refclock SHM 0 offset 0.395 delay 0.2 refid NMEA noselect refclock PPS /dev/pps1 refid PPS precision 1e-9 poll 4 prefer commandkey 1 driftfile /var/lib/chrony/chrony.drift log tracking measurements statistics logdir /var/log/chrony maxupdateskew 100.0 dumponexit dumpdir /var/lib/chrony allow logchange 0.5 rtconutc