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
올바른 방향으로 나를 가리킬 수있는 조언에 감사드립니다.
답변1
나는 같은 문제가 있었고 SHM flag1이 범인이었습니다. 명확하게 하기 위해 이것이 제가 해결한 방법입니다(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