web-dev-qa-db-ja.com

NTPがGPSと同期していません

NTPとGPSを使用して時刻を同期しようとしています。cgps-sコマンドから時刻を取得できますが、NTPが同期しませんでした。

これは私のntp.confです:

tos mindist 1.0

# GPS Serial data reference
server 127.127.28.0 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.0 refid GPS
fudge 127.127.28.0 time1 +0.140  # coarse processing delay offset

# GPS PPS reference
server 127.127.22.0 minpoll 4 maxpoll 4
fudge 127.127.22.0 refid PPS
fudge 127.127.22.0 flag3 1  # enable kernel PLL/FLL clock discipline

これはntpdステータスです:

# ntpq -c peer -c as -c rl
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 SHM(0)          .GPS.            0 l    -   16    0    0.000    0.000   0.000
 PPS(0)          .PPS.            0 l    -   16    0    0.000    0.000   0.000

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 49508  801b   yes    no  none    reject clock_alarm  1
  2 49509  8011   yes    no  none    reject    mobilize  1
associd=0 status=c011 leap_alarm, sync_unspec, 1 event, freq_not_set,
version="ntpd [email protected] Wed Mar  8 00:02:05 UTC 2017 (1)",
processor="armv7l", system="Linux/3.14.2", leap=11, stratum=16,
precision=-20, rootdelay=0.000, rootdisp=34.350, refid=INIT,
reftime=00000000.00000000  Thu, Feb  7 2036 14:28:16.000,
clock=d66f067f.64a88e62  Thu, Jan  2 2014  5:26:23.393, peer=0, tc=3,
mintc=3, offset=0.000, frequency=0.000, sys_jitter=0.000,
clk_jitter=0.001, clk_wander=0.000

これはcgpsコマンドの出力です:

# cgps -s
┌───────────────────────────────────────────┐
│    Time:       2017-03-15T00:51:10.000Z   │
│    Latitude:    37.927624 S               │
│    Longitude:  145.135400 E               │
│    Altitude:   261.5 ft                   │
│    Speed:      0.1 mph                    │
│    Heading:    0.0 deg (true)             │
│    Climb:      0.0 ft/min                 │
│    Status:     3D FIX (5 secs)            │
│    Longitude Err:   +/- 61 ft             │
│    Latitude Err:    +/- 142 ft            │
│    Altitude Err:    +/- 75 ft             │
│    Course Err:      n/a                   │                                 
│    Speed Err:       +/- 194 mph           │                                 
│    Time offset:     -100926684.061        │                                
│    Grid Square:     QF22nb                │                                 
└───────────────────────────────────────────┘

これはntpおよびgpsのオプションです。

# ps | grep gps
  149 root     /usr/sbin/gpsd -n -P /var/run/gpsd.pid /dev/ttyS1    
# ps | grep ntp
11952 root     /usr/sbin/ntpd -g

ガイドできるヒントが正しい方向にあることを感謝します。

5
sanduo

同じ問題があり、SHMフラグ1が原因でした。明確にするために、これは私がそれを解決した方法です(ntp.confでこれらの変更を行います)。

server 127.127.28.0 
fudge  127.127.28.0 time1 0.183 flag1 1 refid GPS
server 127.127.28.2 prefer
fudge  127.127.28.2 flag1 1 refid PPS
1
Claudio