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

[ Thread Index | Date Index | More Archives ]

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 behavior?


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+