Re: [chrony-users] kernel PPS troubleshooting

[ Thread Index | Date Index | More Archives ]

On Mon, 25 Nov 2013, Battocchi, Scott L. wrote:

I'm very new to chrony and am trying to do something that I believe to be supported.  I am trying to sync our system to two local GPS receivers depending on whether one or both of them have a fix, with a preference for the higher priced receiver.  As we are on an embedded platform I'm using the PPS-GPIO  kernel module to get our PPS signal in.  I'm working off of the chrony development branch for the PHC support because we will eventually will want to tie our PTP capable PHY into chrony and the rest of the system.

I've recently cross-compiled chrony-0308330 to run on our armv5 platform and it seems to silently/selectively ignore our PPS source even when it is present.  Currently all testing is being done with our cheap receiver (GPSi/PPSi below).   After ~hours I get a handful of entries into the refclocks.log for the PPSi source, but no mention on the console that the source is or is not present.  Right this instant we are getting updates to /sys/class/pps/pps1/assert every second but chronyc sources shows the LastRX as 26 minutes ago.

Is there a way to enable more verbose debugging of the chrony source selection/rejection process so that I can see why it is rejecting what look to be good PPS updates?  I'm happy to provide more information, logs, or compile options as necessary.

Thanks in advance!

Our system has the following sources currently configured:
/dev/ttyS0 is our high priced GPS
/dev/eser2 is our cheap GPS
/dev/pps0 is the pps signal from our expensive GPS
/dev/pps1 is the pps signal form our cheap GPS

So are you getting stuff into /dev/pps{0,1}? I assume that the ttyS0 and eser2
are NMEA type data, not PPS data.
Have you looked at /var/log/chrony/refclock? it should tell you if chrony is
seeing the inputs and rejecting them for some reason. Also look at
/proc/interrupts to see if the interupts are coming in. (Note that I do not know the PPS-GPIO modules so do not know what it reports)

We are using gpsd (3.10) to read in the GPSs as follows:
gpsd -bn /dev/ttyS0 /dev/eser2

the PPS-GPIO module is configured to look for rising edges on the two gpios, and connect them to pps0 and pps1, this works at ppstest captures consecutive reads from /dev/pps1 while I was running the chrony testing.

chrony.conf (commented out the socket interface to gpsd, a question for another post):
refclock PPS /dev/pps0 lock GPSe refid PPSe
refclock PPS /dev/pps1 lock GPSi refid PPSi
refclock SHM 0 offset 0.001 delay 0.0001 refid GPSe
refclock SHM 2 offset 0.140 delay 0.01 refid GPSi
#refclock SOCK /var/run/chrony.ttyS0.sock refid GPSe
#refclock SOCK /var/run/chrony.eser2.sock offset 0.140 delay 0.01 refid GPSi
logdir /var/log/chrony
log measurements statistics tracking refclocks

the following is the console output from chronyd -d:
:~# ./chronyd -d
main.c:355:(main)[25-22:50:52] chronyd version DEVELOPMENT starting
sys_linux.c:1022:(get_version_specific_details)[25-22:50:53] Linux kernel major=3 minor=3 patch=0
sys_linux.c:1080:(get_version_specific_details)[25-22:50:53] hz=100 shift_hz=7 freq_scale=1.00000000 nominal_tick=10000 slew_delta_tick=833 max_tick_bias=1000 shift_pll=2
sources.c:913:(SRC_SelectSource)[25-22:51:56] Selected source GPSi

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       |

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+