[ntp:questions] Trimble Resolution SMT on Ubuntu 12.04

G geng_j at yahoo.com
Thu Mar 29 17:17:53 UTC 2012


Dave,

thanks for your email. I change my conf as your suggest:
-----------------------------------
server 127.127.20.1 mode 18 prefer minpoll 3 maxpoll 3
peer 0.ca.pool.ntp.org
fudge 127.127.20.1 time2 0.0000
fudge 127.127.20.1 flag1 1 flag3 1
----------------------------------------------------------------

and I link pps0 to gpspps1:
------------------------------------------
#ln -s /dev/pps0 /dev/gpspps1

# ppstest /dev/gpspps1 
trying PPS source "/dev/gpspps1"
found PPS source "/dev/gpspps1"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1333040090.999603804, sequence: 8631 - clear  0.000000000, sequence: 0
source 0 - assert 1333040091.999709923, sequence: 8632 - clear  0.000000000, sequence: 0
source 0 - assert 1333040092.999797692, sequence: 8633 - clear  0.000000000, sequence: 0
source 0 - assert 1333040093.999884565, sequence: 8634 - clear  0.000000000, sequence: 0
----------------------------------------------
also update system time before run ntpd:
----------------------------------------------------------
root at test12041:~# ntpdate 0.ca.pool.ntp.org
29 Mar 10:28:42 ntpdate[1129]: adjust time server 129.128.5.210 offset -0.464322 sec
root at test12041:~# ntpdate 0.ca.pool.ntp.org
29 Mar 10:28:52 ntpdate[1130]: adjust time server 209.167.68.100 offset -0.457408 sec
root at test12041:~# ntpdate 1.ca.pool.ntp.org
29 Mar 10:29:06 ntpdate[1131]: adjust time server 216.194.70.2 offset -0.450851 sec
--------------------------------------------------------------
root at test12041:# ntptime
ntp_gettime() returns code 0 (OK)
  time d31ef2ca.2940fec0  Thu, Mar 29 2012 10:40:10.161, (.161148460),
  maximum error 8043832 us, estimated error 34655 us, TAI offset 0
ntp_adjtime() returns code 0 (OK)
  modes 0x0 (),
  offset -80566.987 us, frequency 21.606 ppm, interval 1 s,
  maximum error 8043832 us, estimated error 34655 us,
  status 0x2007 (PLL,PPSFREQ,PPSTIME,NANO),
  time constant 3, precision 0.001 us, tolerance 500 ppm,

root at test12041:# ntpq -p



     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 GPS_NMEA(1)     .GPS.            0 l    -    8    0    0.000    0.000   0.000
 caustique.anox. .INIT.          16 u    -   64    0    0.000    0.000   0.000
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*GPS_NMEA(1)     .GPS.            0 l    2    8    7    0.000  -73.419  22.031
 caustique.anox. .INIT.          16 u    -   64    0    0.000    0.000   0.000

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*GPS_NMEA(1)     .GPS.            0 l    5    8  377    0.000    4.693   3.906
 caustique.anox. .INIT.          16 u    -   64    0    0.000    0.000   0.000
root at test12041:/home/test# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*GPS_NMEA(1)     .GPS.            0 l    -    8  377    0.000    4.945   3.906
 caustique.anox. .INIT.          16 u    -   64    0    0.000    0.000   0.000
root at test12041:/home/test# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(1)     .GPS.            0 l    2    8  377    0.000   -0.581   3.906
 caustique.anox. .STEP.          16 u    - 1024    0    0.000    0.000   0.000

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(1)     .GPS.            0 l    2    8  377    0.000    0.105   3.906
 caustique.anox. .STEP.          16 u    - 1024    0    0.000    0.000   0.000

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(1)     .GPS.            0 l    1    8  377    0.000    0.838   3.906
 caustique.anox. 128.233.150.93   2 u  698 1024    1    5.516  994.460   3.906

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(1)     .GPS.            0 l    7    8  377    0.000    1.849   3.906
 caustique.anox. 128.233.150.93   2 u 1024 1024    1    5.516  994.460   3.906


     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
xGPS_NMEA(1)     .GPS.            0 l    5    8  377    0.000    1.460   3.906
xcaustique.anox. 128.233.150.93   2 u 59  64   377    4.457 995.520   3.906

this is result for ntpd 3hours running .

I guess not good . I will let it run over night to see what change.

thanks,
geng
----- Original Message -----
From: Dave Hart <hart at ntp.org>
To: G <geng_j at yahoo.com>
Cc: "questions at lists.ntp.org" <questions at lists.ntp.org>
Sent: Thursday, March 29, 2012 12:56 AM
Subject: Re: [ntp:questions] Trimble Resolution SMT on Ubuntu 12.04

On Mon, Mar 26, 2012 at 16:06, G <geng_j at yahoo.com> wrote:
> I use Trimble Resolution SMT to sync time for a Ubuntu 12.04 server (kernel 3.2.0).
>
> Trimble send NMEA to /dev/ttyUSB1(9600 8N1) on Ubuntu  server
> PPS signal connect ACK pin on  /dev/parport0 . Ubuntu load Linux-PPS module( PPS_parport clear_wait=0) to create PPS device /dev/pps0
>
> I use verify the /dev/pps0  using rising edge by "ppstest /dev/pps0"
> --------------------------------------------------------------------------------------------
> trying PPS source "/dev/pps0"
> found PPS source "/dev/pps0"
> ok, found 1 source(s), now start fetching data...
> source 0 - assert 1332775909.500413150, sequence: 249302 - clear  0.000000000, sequence: 0
> source 0 - assert 1332775910.500456132, sequence: 249303 - clear  0.000000000, sequence: 0
> source 0 - assert 1332775911.500499213, sequence: 249304 - clear  0.000000000, sequence: 0
> -----------------------------------------------------------------------------------------------
> To verify the NMEA message , I link /dev/ttyUSB1 to /dev/gps1
> -----------------------------------------------------------------------------------------------
> #cat /dev/gps1
> $GPRMC,153343.000,A,4529.904930,N,07343.904831,W,0.241,325,260312,,,A*6F
> $GPGGA,153344.000,4529.905010,N,07343.904879,W,1,3,3.17,12.368,M,-32.087,M,,*5E
> ---------------------------------------------------------------------------------------------------
> I create the /etc/ntp.conf:
> -------------------------------------------------------------------------
> server 127.127.20.1 mode 17 prefer       # NMEA RMC/GGA 9600bps

mode 17 is 16 (9600) plus 1 (select RMC)

> fudge 127.127.20.1 time2 0.01
>
> server 127.127.22.0 minpoll 4 maxpoll 4  # PPS ATOM
> fudge 127.127.22.0 flag2 0 flag3 1
>
> driftfile /var/lib/ntp/ntp.drift
> ------------------------------------------------------------------------------
> after ntpd run 48hours, ntpq -p:
>
>      remote           refid     st t when poll reach   delay   offset  jitter
> ==============================================================================
> xGPS_NMEA(1)     .GPS.            0 l   44   64  377    0.000  -214.54  25.464
> xPPS(0)          .PPS.            0 l   11   16  377    0.000  -174.60   4.981
>
>
> I have no idea why I got this result . what do I miss for config? by the way , I compile ntpd from source , not using ntpd from Ubuntu.

I'm not sure why you're seeing that result.  First, flag3 1 doesn't
appear to be working, in that the offset of the PPS is far away.
Moreover, when  feasible I suggest using NMEA's built-in PPSAPI
support.  You should be able to to remove the PPS refclock and add
flag1 1 to the fudge 127.127.20.1 line, then add a soft link from
/dev/gpspps1 to /dev/pps0.  This eliminates the risk of two clocks
whose confidence intervals don't overlap both being tossed as
falsetickers, as your PPS will be provided via the same refclock.

Good luck,
Dave Hart


More information about the questions mailing list