Re: [chrony-users] Synchronize system clock to GPS time

[ Thread Index | Date Index | More Archives ]

Teh two sources GPS and PPS have vastly different uncertainties. so the system
would tend to choose the PPS and ignore the GPS. The GPS will also tend to be
much more than a few standard deviations away from the PPS. So it will not
combine the output of the GPS with the PPS. It is like if you had one server
which gavae you the year and wandered allo f  +- half a year, and another
which gave you nanosecons. You would not want those two averaged to give the

You need to look at the offset of the GPS with respect to the PPS to get a
better idea of how much of an offset you should put in for the GPS. .9999 is
one second, which is almost certainly wrong.

William G. Unruh __| Canadian Institute for|____ Tel: +1(604)822-3273
Physics&Astronomy _|___ Advanced Research _|____ Fax: +1(604)822-5324
UBC, Vancouver,BC _|_ Program in Cosmology |____ unruh@xxxxxxxxxxxxxx
Canada V6T 1Z1 ____|____ and Gravity ______|_

On Fri, 4 Mar 2022, Ryan Govostes (he/him) wrote:

[CAUTION: Non-UBC Email] Hi Adrian,
Thanks for the pointers. was indeed just a throwaway host instead of my real NTP server. I removed that server line but it
did not seem to have an effect.

Then I tried removing the offset 0.9999 from the GPS ref clock — this was recommended in some tutorial
somewhere and obviously is not the correct value to use, and when I removed it, the system clock updated
right away.

Though now the GPS says it is “not combined” while the PPS is “current synced.” Perhaps that is the expected


      On Mar 3, 2022, at 22:52, Adrian Murphy <amurphy@xxxxxxxxxxxx> wrote:

Hi Ryan,

Can I ask:

 You have ‘prefer’ option added to the 'server’ line.

 Could that be stopping chronyd from trusting the GPS?

Also, does resolve to an NTP server for me, but maybe you are hiding the real hostname.

On Ubuntu Raspberry Pi4 I use:

 refclock SOCK /run/chrony.pps0.sock refid PPS1 poll 5 prefer
 refclock SHM 0 refid GPS0 precision 1e-20 offset 0.036790 delay 0.0

 server Aeternitas iburst

Also the end of your conf file was garbled. Is that real?

Cheers, Adrian

      On 4 Mar 2022, at 7:07 am, Ryan Govostes (he/him) <rgovostes@xxxxxxxx> wrote:

      I have a GPS receiver with PPS connected to an embedded Linux system. GPSD feeds Chrony
      time updates from the GPS receiver over the Chrony socket.

      The system clock is behind by a few months, and Chrony does not want to update the clock to
      the time reported by GPSD.

      I have read the FAQ and a few threads on the same topic but the solutions presented
      don’t work for me. I have tried setting maxdistance to an absurdly high number, and
      allowing  makestep 1 -1.

      The “chronyc sources� command suggests that Chrony thinks that the GPS is in error.
      There is no console message that says that Chrony is attempting to adjust the clock.

      Can I force Chrony to accept the time from the GPS?


      $ chronyc sources
      210 Number of sources = 3
      MS Name/IP address         Stratum Poll Reach LastRx Last sample               
      #x GPS                           0   4   377    11   -2002h[ -2002h] +/-  100ms
      #x PPS                           0   4   377    10   -2002h[ -2002h] +/- 2919ns
      ^?                      0   9     0     -     +0ns[   +0ns] +/-    0ns

      $ chronyc tracking
      Reference ID    : 00000000 ()
      Stratum         : 0
      Ref time (UTC)  : Thu Jan 01 00:00:00 1970
      System time     : 0.000000041 seconds fast of NTP time
      Last offset     : +0.000000000 seconds
      RMS offset      : 0.000000000 seconds
      Frequency       : 404.716 ppm fast
      Residual freq   : +0.000 ppm
      Skew            : 0.000 ppm
      Root delay      : 1.000000000 seconds
      Root dispersion : 1.000000000 seconds
      Update interval : 0.0 seconds
      Leap status     : Not synchronised

      $ cat /etc/chrony/chrony.conf
      server iburst prefer

      # This directive specify the file into which chronyd will store the rate
      # information
      driftfile /var/lib/chrony/chrony.drift

      # Log files location
      logdir /var/log/chrony

      # Stop bad estimates upsetting machine clock
      #maxupdateskew 100.0

      # This directive enables kernel synchronisation (every 11 minutes) of the
      # real-time clock

      # Step the system clock instead of slewing it if the adjustment is larger than
      # one second, but only in the first three clock updates
      makestep 1 -1

      maxdistance 100000000

      refclock SOCK /run/chrony.ttyCOM2.sock refid GPS precision 1e-1 offset 0.9999
      refclock SOCK /run/chrony.ppsCOM2.sock refid PPS precision
      1e-7N‹§ēæėrļ›y隊W!Ū‰ōšĮŦē·Šđë-rčŸ+nÅöĶŠ\ĻŪ "ķ§ēæėrļ›z)í

To unsubscribe email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "unsubscribe" in the subject.
For help email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.

Mail converted by MHonArc 2.6.19+