配置为在没有互联网连接的情况下使用 GPS 时间

配置为在没有互联网连接的情况下使用 GPS 时间

我在端口 /dev/ttyS0 上使用 ntp 和带 PPS 的 GPS 设备。如果机器连接到互联网,一切似乎都很好。输出看起来正确。但如果没有互联网连接,我会得到:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 fritz.box       .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 GPS_NMEA(0)     .GPS.            0 l    -   16    0    0.000    0.000   0.000

我认为因为没有o字首GPS_NMEA不起作用。我当前的 ntp 配置是

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift

# Enable this if you want statistics to be logged.
statsdir /var/log/ntpstats/

statistics clockstats
filegen clockstats file clockstats type day enable

# Specify one or more NTP servers.

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

# Use Ubuntu's ntp server as a fallback.
server ntp.ubuntu.com

# NMEA refclock driver directly from serial port within ATOM clock support (flag 1)
server 127.127.20.0 mode 18 minpoll 4 maxpoll 4 iburst prefer
fudge 127.127.20.0 flag1 1 flag2 0 flag3 1 flag4 0 time2 0.475

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

如果没有互联网连接,我需要配置 ntp 也使用 GPS 源吗?我读到我至少需要两个时间源,但我认为使用 PPS 的 GPS 时间比仅仅信任本地独立时钟更好?

编辑

我会用它来进行精确的天文指示。大部分情况下都有网络连接。但有时我没有网络连接,也想要准确的时间。

我删除了 iburst,现在的输出是

$ ntpq -pcrv
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
oGPS_NMEA(0)     .GPS.            0 l    7   16  377    0.000   -0.179   0.019
associd=0 status=041d leap_none, sync_uhf_radio, 1 event, kern,
version="ntpd [email protected] Sun Oct 19 04:29:07 UTC 2014 (1)",
processor="x86_64", system="Linux/3.13.0-37-generic", leap=00, stratum=1,
precision=-20, rootdelay=0.000, rootdisp=0.520, refid=GPS,
reftime=d7effd04.fccd2064  Mon, Oct 20 2014 23:28:36.987,
clock=d7effd0b.5652112f  Mon, Oct 20 2014 23:28:43.337, peer=22523, tc=4,
mintc=3, offset=-0.179, frequency=6.121, sys_jitter=0.019,
clk_jitter=0.000, clk_wander=0.080

但是今天下午与第一种方法有一个不同之处。现在我将笔记本电脑直接连接到服务器。在第一种方法中,我通过 FritzBox 与服务器通信,而无需互联网连接。如您所见,第一个粘贴中有一个时间源条目。也许路由器导致 ntpd 停止,因为现在只有两个时间源?我认为正常情况是没有路由器且没有互联网连接。无论如何,我能避免这种情况吗?

答案1

从参考时钟条目中删除iburst。您还可以对服务器条目进行以下更改:

改变:

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org   
server 3.ubuntu.pool.ntp.org

到:

 pool 0.ubuntu.pool.ntp.org iburst
 pool 1.ubuntu.pool.ntp.org iburst
 pool 2.ubuntu.pool.ntp.org iburst
 pool 3.ubuntu.pool.ntp.org iburst

并删除 ntp.ubuntu.com 条目。该pool指令暗示preempt它对间歇性网络问题更具容忍度。

我发布了我评论中的答案,以防其他人遇到此问题。如果这还不够,请更新您的帖子。

答案2

我建议您true在服务器行中添加iburst和之间的prefer。 拥有true可让服务器在 NTP 的服务器算法筛选中存活下来。

# NMEA refclock driver directly from serial port within ATOM clock support (flag 1)
server 127.127.20.0 mode 18 minpoll 4 maxpoll 4 true prefer
fudge 127.127.20.0 flag1 1 flag2 0 flag3 1 flag4 0 time2 0.475

相关内容