Re: [chrony-users] Help with GPS timesync/config

[ Thread Index | Date Index | More Archives ]

On Thu, Mar 26, 2020 at 8:37 PM chuang213 <chuang213@xxxxxxxxx> wrote:
for the pps part, try the following
refclock SHM 1 refid PPS lock NEMA

it work for me

I'm guessing your gpsd is creating the pps device and/or making a shared memory segment from that?  I only have a single shared memory entry when I run ntpshmmon:

#      Name Seen@                Clock                Real                 L Prc

sample NTP0 1585280131.870898811 1585280123.169793607 1585280123.000000000 0 -20
 There is no NTP1 segment as PPS is from the kernel reading the PPS pin from the GPS. I did try it in the off chance ntpshmmon wasn't showing me something but it didn't work. Thanks for the suggestion.

On Thu, Mar 26, 2020 at 11:41 AM Dave Hajoglou <dhajoglou@xxxxxxxxx> wrote:

On Thu, Mar 26, 2020 at 2:00 AM Miroslav Lichvar <mlichvar@xxxxxxxxxx> wrote:
On Wed, Mar 25, 2020 at 03:53:17PM -0600, Dave Hajoglou wrote:
> refclock SHM 0 refid GPS precision 1e-1
> refclock PPS /dev/pps1 lock NEMA

There are two issues with this config. One is that the PPS refclock is
locking to a non-existent refid
Thanks for taking a look.  Good catch on the refids.  I have been bouncing between different config examples and I had a NEMA refid for the GPS SHM at one point then switched to GPS and didn't update the PPS.

I also made sure that PPS was complied into chrony and I even removed the PPS support from GPS so that I'm only referencing the Kernel PPS device. That did not improve anything

and the SHM refclock is not marked as
noselect. Try this

refclock SHM 0 refid NMEA precision 1e-1 noselect
refclock PPS /dev/pps1 lock NMEA refid GPS

New config:

refclock SHM 0 refid NEMA precision 1e-1 noselect

refclock PPS /dev/pps0 lock NEMA  refid GPS

After running for about an hour I get no selection as expected.  But, I also get no detection of the PPS either.               


#? NEMA                          0   4   377    16   +177ms[ +177ms] +/-  100ms

#? GPS                           0   4     0     -     +0ns[   +0ns] +/-    0ns

=>The PPS isn't processing or being seen by the logs but the device is active:

trying PPS source "/dev/pps0"

found PPS source "/dev/pps0"

ok, found 1 source(s), now start fetching data...

source 0 - assert 1585247167.944762955, sequence: 51077 - clear  0.000000000, sequence: 0

source 0 - assert 1585247168.944717687, sequence: 51078 - clear  0.000000000, sequence: 0

=>cgps shows a 3d fix.

=>If I remove the noselect, it does pickup the NEMA source but never gets data from the pps source. Log entries never show up in refclock.

=>If I remove the lock NEMA then the pps source is seen and processed and that's when I get the flapping where it selects first NEMA, the GPS refid then falls into the majority sync error. This is a weird one as it won't process the PPS if I lock it.  Does that have to do with the fact that the PPS is from GPIO rather than serial?

Is there any logging or diagnostic tool usage I can try?  The refclock and stats logs are lost on me.

Miroslav Lichvar

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+