Saya sudah membaca tentang mengkompilasi NTP dengan timepps.h disediakan untuk mendapatkan dukungan PPS. Apakah ada cara mudah untuk memeriksa versi repositori yang sudah dikompilasi atau lebih diinstal Ubuntu 14.04.1, Kernel 3.13.0-37 ) untuk dukungan PPS?
EDIT beberapa googles nanti ...
Saya memasukkan ini ke dalam /etc/ntp.conf
dan mulai ulang ntpd. Tampaknya konfigurasi ini benar? Saya menggunakan ini Papan breakout GPS di /dev/ttyS0
. Menurut dokumentasi ini harus memuaskan GPS dengan PPS. Baudrate adalah 9600 .
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
Saya menghabiskan beberapa waktu untuk membuatnya bekerja karena apparmor memblokir ntpd membuka port serial. Saya menemukan itu dari syslos. Karenanya saya menambahkan baris ini ke /etc/apparmor.d/tunables/ntpd
. Lalu berhasil.
@{NTPD_DEVICE}="/dev/ttyS0"
Izin pada perangkat adalah
$ 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)
Untuk mencapai ini secara permanen, saya membuat beberapa udev aturan. Sedangkan perintah setserial tampaknya tidak berpengaruh jika saya memeriksa port setserial -a /dev/ttyS0
setelah boot sistem.
$ 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"
Setelah itu saya harus menghapus /var/lib/ntp/ntp.conf.dhcp
sekali. Karena itu berasal dari /etc/ntp.conf
di setiap acara DHCP atau hanya reboot. Jadi itu akan menghasilkan yang baru di startup.
Apakah saya masih perlu 127.127.22. * Entri (driver ATOM PPS)? Karena sebagaimana tercantum dalam dokumentasi jika saya gunakan flag1=1
PPS akan digunakan secara implisit? Tidak, ini berfungsi hanya dengan GPS NMEA (127.127.20.u).
Output saya dari ntpq -p
sekarang
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
Untuk dukungan jam ATOM saya harus mengkompilasi ntp dengan dukungan jam ATOM yang diaktifkan.
ntpq -pcrv
untuk pertanyaan Anda? Jika GPS tidak muncul sama sekali itu kemungkinan besar berarti Anda memiliki masalah dengan konfigurasi perangkat serial Anda. Apakah pengguna ntp di grup dialout atau grup apa pun yang memiliki pps0 dan port serial? Saya akan menambahkan instruksi untuk membangun kembali ntp dengan pps.o
Static-ip.blah mencetak PPS karena disinkronkan ke sumber PPS.oGPS_NMEA(0)
. Terima kasih atas langkah-langkah pembuatan di atas! Membuat hidup lebih mudah. Kompilasi gagal pada cetak debug di refclock_jupiter.c. Memperbaikinya lalu bekerja. Setelah saya atur waktu2o
muncul. Jadi saya tidak butuh tambahanPPS Clock Discipline
masuk ntp.conf kanan? Selanjutnya, haruskah saya menggunakan sisi jatuh atau naik (flag2)? Dan haruskah saya menggunakan ntp clock atau disiplin kernel? Saya telah membaca bahwa min / maxpoll 4 dan ntp clock disiplin lebih baik daripada kernel karena algoritma median.