[LinuxPPS] gps_nmea error

Hal V. Engel hvengel at astound.net
Tue Aug 5 18:21:48 CEST 2008


On Tuesday 05 August 2008 07:43:41 am Ritter, Nicholas wrote:
> I have patched ntpd, and built it. I have confirmed that I am getting
> PPS signals via the kernel, and I started the newly patched ntpd with
> the -g option for testing purposes. I noticed the following error in my
> log:
>
> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: refclock_nmea: found GPS source
> "/dev/gps0"
> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: refclock_nmea: try
> "/dev/gpspps0" for PPS
> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: refclock_nmea: found PPS source
> "/dev/gpspps0"
> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: refclock_nmea: time_pps_kcbind
> failed: Operation not supported

Almost everyone who first brings up a refclock with LinuxPPS sees this and 
asks about it here.  This is normal.  time_pps_kcbind is part of the PPS spec 
but it is optional and LinuxPPS does not implement it.  So we all get this 
message.  You can ignore it.

> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: frequency initialized -6.935 PPM
> from /var/lib/ntp/drift
> Aug  5 09:33:05 RMSQSN1001 kernel: PPS event at 4355090298
> Aug  5 09:33:06 RMSQSN1001 kernel: PPS event at 4355091298
>
> By error, I am referring to the  following line from above:
>
> Aug  5 09:33:05 RMSQSN1001 ntpd[29716]: refclock_nmea: time_pps_kcbind
> failed: Operation not supported
>
> what does this error mean?
>
> When I do an "ntpq -p" on the PPS/GPS ntp server I see the following:
>
> [root at RMSQSN1001 ntpd]# ntpq -p
>      remote           refid      st t when poll reach   delay   offset
> jitter
> ========================================================================
> ======
> *GPS_NMEA(0)     .GPS.            0 l    6   16  377    0.000    0.010
> 0.001
>  time.nist.gov   .ACTS.           1 u   10   64   13   48.111  -310.07
> 0.246
> +truechimer.cso. .PPS.            1 u   13   64   17   10.262  -303.05
> 0.148
>  bonehed.lcs.mit .CDMA.           1 u   58   64    7   29.816  -304.25
> 0.570
> +nist.netservice .ACTS.           1 u   32   64   17   14.068  -297.84
> 1.199
>
>
> Am I understanding correctly that the GPS source is working, but
> something about the PPS source is not? Am I also correct in assuming
> that it could be a config problem in ntp.conf, or is it somewhere else?
> I suspect I have my server sources setup wrong in ntp.conf, but not
> sure. BTW - this is a 2.6.26 kernel with the 2.6.26 linuxpps patch, and
> the nmea clock ref patch for ntp-4.2.4p4

It looks to me like this is working although I think your offsets from your 
external time sources are a little large.  The 48 millisecond one in 
particular.  Depending on your network connection this may not be an issue 
since slow and/or asymectric network connections can result in fairly large 
offsets relative to the offsets we see with our refclocks.  On my machine with 
carefully chosen external time servers (IE. ones that are "close" to me 
network wise - ping times of 10 to 15 milliseconds) I typcailly see 2 to 4 
millisecond offsets for these external time servers.   I have a very fast but 
asymetric network connection.  With less carefully chosen servers it can look 
like yours does (IE. offsets of 10 to 30 milliseconds).  Since all of your 
offsets are much smaller than the PPS signal pulse width it looks to me like 
you are using the right edge of the signal.   So overall this looks good to 
me.

You should also do a ntptime command to make sure that your ntpd is running in 
nano mode.  If it is not then your clock will likely not be stable with the 
nanokernel.

You don't need the minpoll setting on the refclock server line.  minpoll 4 is 
the default for refclocks.

>
>
>
> Here is my ntp.conf file:
>
> restrict default kod nomodify notrap nopeer noquery
> restrict -6 default kod nomodify notrap nopeer noquery
>
> # Permit all access over the loopback interface.  This could
> # be tightened as well, but to do so would effect some of
> # the administrative functions.
> restrict 127.0.0.1
> restrict -6 ::1
>
> # Hosts on local network are less restricted.
> #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
>
> # Use public servers from the pool.ntp.org project.
> # Please consider joining the pool (http://www.pool.ntp.org/join.html).
> #server 0.rhel.pool.ntp.org
> #server 1.rhel.pool.ntp.org
> #server 2.rhel.pool.ntp.org
>
> #broadcast 192.168.1.255 key 42         # broadcast server
> #broadcastclient                        # broadcast client
> #broadcast 224.0.1.1 key 42             # multicast server
> #multicastclient 224.0.1.1              # multicast client
> #manycastserver 239.255.254.254         # manycast server
> #manycastclient 239.255.254.254 key 42  # manycast client
>
> # Undisciplined Local Clock. This is a fake driver intended for backup
> # and when no outside source of synchronized time is available.
> #server 127.127.1.0     # local clock
> #fudge  127.127.1.0 stratum 10
>
> #server 127.127.28.0 mode 2 minpoll 4 maxpoll 4
> #fudge 127.127.28.0 time1 0.000 refid GPS
>
> #server 127.127.28.1 minpoll 4 maxpoll 4 prefer
> #fudge 127.127.28.1 refid GPS1
>
> enable stats monitor PPS
>
> #server 127.127.28.0 minpoll 4 version 4
> #fudge 127.127.28.0 time1 0.000 refid GPS
>
> #server 127.127.28.1 minpoll 4 version 4 prefer
> #fudge 127.127.28.1 refid PPS
>
>
> #server 127.127.28.0 minpoll 4 version 4
> #fudge 127.127.28.0 time1 0.000 refid GPS flag3 1 flag2 0
>
> #server 127.127.28.1 minpoll 4 version 4 prefer
> #fudge 127.127.28.1 refid PPS flag3 1
>
> server 127.127.20.0 prefer minpoll 4
> fudge 127.127.20.0 flag3 1 flag2 0 time1 0.0
>
> #server 0.pool.ntp.org version 4
> #server 1.pool.ntp.org version 4
> #server 2.pool.ntp.org version 4
> #server 3.pool.ntp.org version 4
> server time.nist.gov
> server truechimer.cso.uiuc.edu
> server bonehed.lcs.mit.edu
> server nist.netservicesgroup.com
>
>
> # Drift file.  Put this in a directory which the daemon can write to.
> # No symbolic links allowed, either, since the daemon updates the file
> # by creating a temporary in the same directory and then rename()'ing
> # it to the file.
> driftfile /var/lib/ntp/drift
>
> # Key file containing the keys and key identifiers used when operating
> # with symmetric key cryptography.
> keys /etc/ntp/keys
>
> # Specify the key identifiers which are trusted.
> #trustedkey 4 8 42
>
> # Specify the key identifier to use with the ntpdc utility.
> #requestkey 8
>
> # Specify the key identifier to use with the ntpq utility.
> #controlkey 8

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ml.enneenne.com/pipermail/linuxpps/attachments/20080805/5084b612/attachment-0001.htm 


More information about the LinuxPPS mailing list