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をコンパイルする必要があります。
自分で簡単にして、PPS機能を使用してみてください。構成ファイルを編集し、関連するPPSフラグを含めて、ntpdを起動してください。これはどうやら非常に明白なので、制約がないかどうかはわかりません。
「インストールされたバージョンのリポジトリ」とはどういう意味かわかりませんか? Linuxディストリビューションのことですか?答えは「はい」ですが、使用しているディストリビューションによって異なります。しかし、PPSを利用しようとするだけで、最良のテストのように思えます。
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