web-dev-qa-db-ja.com

NTPデーモンがPPSをサポートしているかどうかを確認するにはどうすればよいですか?

NTPのコンパイルtimepps.hがPPSのサポートを受けるために提供されていることについてはすでに読みました。リポジトリのプリコンパイル済みまたはインストール済みのバージョン(buntu 14.04.1、カーネル3.13.0-37)でPPSのサポートを確認する簡単な方法はありますか?

[〜#〜]編集[〜#〜]後でいくつかのグーグル...

これを/etc/ntp.confに挿入してntpdを再起動しました。この構成は正しいようですか?私はこれを使用しています GPSブレークアウトボード/dev/ttyS0で。 documentation によると、これはGPSとPPSを満足させるはずです。ボーレートは96です。

server 127.127.20.0 mode 18 minpoll 4 iburst prefer true
fudge 127.127.20.0 flag1 1 flag2 0 flag3 1 flag4 1

Apparmorがntpdをブロックしてシリアルポートを開いたため、動作させるためにしばらく時間を費やしました。私はそれをsyslosから理解しました。したがって、この行を/etc/apparmor.d/tunables/ntpdに追加しました。それからそれは働いた。

@{NTPD_DEVICE}="/dev/ttyS0"

デバイスの権限は

$ ll /dev/ttyS0 /dev/pps* /dev/gps*
lrwxrwxrwx 1 root root          5 Okt 18 23:00 /dev/gps0 -> ttyS0
lrwxrwxrwx 1 root root          4 Okt 18 23:00 /dev/gpspps0 -> pps0
crw-rw-rw- 1 root dialout 251,  0 Okt 18 23:00 /dev/pps0
crw-rw-rw- 1 root dialout   4, 64 Okt 18 23:09 /dev/ttyS0
$ id ntp
uid=106(ntp) gid=113(ntp) Gruppen=113(ntp),20(dialout)

これを永続的に達成するために、私はいくつかのdevルールを作成しました。一方、システムの起動後にsetserial -a /dev/ttyS0でポートを確認すると、setserialコマンドが有効にならないようです。

$ cat /etc/udev/rules.d/09-pps.rules
# Provide a symlink to /dev/ttyS0 and set low_latency for latency improvement
KERNEL=="ttyS0", SYMLINK+="gps0", MODE="0666"
KERNEL=="ttyS0", RUN+="/bin/setserial /dev/%k low_latency"
KERNEL=="ttyS0", RUN+="/usr/sbin/ldattach pps /dev/%k"

# Symlink /dev/pps0 to /dev/gpspps0
KERNEL=="pps0", SUBSYSTEM=="pps", DRIVER=="", SYMLINK+="gpspps0"
KERNEL=="pps0", GROUP="dialout"
KERNEL=="pps0", MODE="0666"

その後、/var/lib/ntp/ntp.conf.dhcpを一度削除する必要がありました。 DHCPイベントで/etc/ntp.confから派生するか、再起動するだけだからです。したがって、起動時に新しいものが生成されます。

127.127.22。*エントリ(ATOM PPSドライバー)はまだ必要ですか? documentation で述べたように、flag1=1 PPSを使用すると、暗黙的に使用されますか?いいえ、GPS NMEA(127.127.20.u)でのみ機能します。

ntpq -pの出力は現在

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-fritz.box       185.31.136.34    3 u   36   64  177    0.298    4.496   0.076
*arcticfox.dorid 192.53.103.104   2 u   43   64  177   14.125    2.041   1.307
+monitman.com    158.43.128.33    2 u   44   64  177   25.325    4.703   0.314
+spacys.de       212.82.32.15     2 u   43   64  177   24.156   -1.503   2.094
-cse-server.com  122.227.206.195  3 u   38   64  177   24.372   -3.421   0.618
oGPS_NMEA(0)     .GPS.            0 l    1   16  377    0.000   -0.270   0.024

ATOMクロックサポートの場合、有効なATOMクロックサポートを使用してntpをコンパイルする必要があります。

3
wenzul

自分で簡単にして、PPS機能を使用してみてください。構成ファイルを編集し、関連するPPSフラグを含めて、ntpdを起動してください。これはどうやら非常に明白なので、制約がないかどうかはわかりません。

「インストールされたバージョンのリポジトリ」とはどういう意味かわかりませんか? Linuxディストリビューションのことですか?答えは「はい」ですが、使用しているディストリビューションによって異なります。しかし、PPSを利用しようとするだけで、最良のテストのように思えます。

PPSサポートを使用したntpの再構築

Gpsデバイスが正しく構成されていることを確認したら、次の方法でppsサポートを使用してntpを再構築できます。

 # apt-get build-dep ntp
 # apt-get install pps-tools ubuntu-dev-tools
 # apt-get source ntp
 # cd <The ntp version directory something like ntp-4.2.6.p5+dfsg >
 # dpkg-buildpackage -uc -us -nc 
 # dpkg -i ../ntp*.deb 

Aptが新しいバージョンをインストールしないことを回避するには、ATOMクロックサポートなしで、次を使用します

 # echo ntp hold  | dpkg --set-selections
0
dfc