Wie kann ich überprüfen, ob mein NTP-Dämon PPS-Unterstützung hat?

4797
wenzul

Ich habe bereits über das Kompilieren von NTP mit timepps.h gelesen, um PPS-Unterstützung zu erhalten. Gibt es eine einfache Möglichkeit, die bereits vorkompilierte oder installierte Version eines Repositorys ( Ubuntu 14.04.1, Kernel 3.13.0-37 ) auf PPS-Unterstützung zu überprüfen ?

EDIT einige Googles später ...

Ich habe dies in meine /etc/ntp.confund restartet ntpd eingefügt . Scheint diese Konfiguration richtig zu sein? Ich verwende dieses GPS-Breakout-Board auf /dev/ttyS0. Laut Dokumentation sollte dies GPS mit PPS erfüllen. Die Baudrate beträgt 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 

Ich habe einige Zeit gebraucht, um es zum Laufen zu bringen, weil Apparmor blockiert, dass ntpd den seriellen Port öffnet. Ich habe das aus dem Syslos herausgefunden. Deshalb habe ich diese Zeile hinzugefügt /etc/apparmor.d/tunables/ntpd. Dann hat es funktioniert.

@="/dev/ttyS0" 

Die Berechtigungen für die Geräte sind

$ 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) 

Um dies dauerhaft zu erreichen, habe ich einige Udev- Regeln erstellt. Der Befehl setserial scheint jedoch nicht zu wirken, wenn ich den Port setserial -a /dev/ttyS0nach dem Systemstart überprüfe .

$ 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" 

Danach musste ich /var/lib/ntp/ntp.conf.dhcpeinmal löschen . Weil es von /etc/ntp.confeinem DHCP-Ereignis oder einem Neustart abgeleitet wird. So wird beim Start eine neue generiert.

Benötige ich noch 127.127.22. * (ATOM PPS-Treiber)? Denn wie in der Dokumentation angegeben, wenn ich flag1=1PPS verwende, wird es implizit verwendet? Nein, es funktioniert nur mit GPS NMEA (127.127.20.u).

Meine Ausgabe von ntpq -pist jetzt

 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 

Für die Unterstützung der ATOM-Uhr muss ich ntp mit aktivierter Unterstützung der ATOM-Uhr kompilieren.

3

1 Antwort auf die Frage

0
dfc

Machen Sie es sich einfach und versuchen Sie, die PPS-Funktion zu nutzen. Bearbeiten Sie Ihre Konfigurationsdatei, fügen Sie das entsprechende PPS-Flag hinzu und starten Sie ntpd. Dies scheint so offensichtlich zu sein, dass ich nicht sicher bin, ob mir eine Einschränkung fehlt.

Mir ist nicht klar, was Sie mit "installierte Version eines Repositorys" meinen? Meinen Sie Linux-Distribution? Wenn Sie dies tun, lautet die Antwort ja, aber es hängt davon ab, welche Distribution Sie verwenden. Aber der Versuch, PPS einzusetzen, scheint der beste Test zu sein.

Neuerstellung von ntp mit PPS-Unterstützung

Wenn Sie sich vergewissert haben, dass Sie das gps-Gerät korrekt konfiguriert haben, können Sie ntp mit pps-Unterstützung neu erstellen, indem Sie:

 # 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  

Um zu vermeiden, dass apt keine neue Version ohne ATOM-Taktunterstützung installiert, verwenden Sie

 # echo ntp hold | dpkg --set-selections 
Danke für die Antwort. Ich meinte Ubuntu> = 14.04.1 Repository. Ok, erwarte ich eine Fehlermeldung, wenn NTP PPS nicht unterstützt? wenzul vor 10 Jahren 0
Ich glaube nicht, dass PPS standardmäßig mit Ubuntu aktiviert ist. Können Sie die Ausgabe von "ntpq -pcrv" zu Ihrer Frage hinzufügen? Wenn das GPS überhaupt nicht angezeigt wird, bedeutet dies höchstwahrscheinlich ein Problem mit der Konfiguration des seriellen Geräts. Befindet sich der ntp-Benutzer in der Dialout-Gruppe oder besitzt die Gruppe pps0 und die serielle Schnittstelle? Ich werde Anweisungen zum Umbau von ntp mit pps hinzufügen. dfc vor 10 Jahren 0
PPS ist nicht aktiviert. Das Sternchen neben GPS wäre ein "o". Das static-ip.blah druckt PPS, da es mit einer PPS-Quelle synchronisiert wird. dfc vor 10 Jahren 1
Gebäude hat es geschafft! Vielen Dank. Nun erscheint es oGPS_NMEA (0). Danke für die Buildschritte oben! Das Leben einfacher gemacht. Fehler beim Kompilieren bei einem Debug-Druck in refclock_jupiter.c. Problem behoben, dann hat es funktioniert. Nachdem ich time2 eingestellt hatte, erschien "o". Ich brauche also keinen zusätzlichen PPS-Clock-Disziplin-Eintrag in _ntp.conf_, richtig? Soll ich außerdem eine fallende oder steigende Flanke (Flag2) verwenden? Und sollte ich NTP Clock oder Kernel-Disziplin verwenden? Ich habe gelesen, dass min / maxpoll 4 und ntp clock disziplin aufgrund eines Median-Algorithmus besser als Kernel sind. wenzul vor 10 Jahren 0
Ich habe einige ntp-Fragen für Sie beantwortet und Sie haben keine als akzeptiert markiert. Anstatt den Fokus dieser Frage zu erweitern, markieren Sie sie bitte als akzeptiert, wenn ich Ihre Frage zur Überprüfung der PPS-Unterstützung und / oder zur Erstellung der PPS-Unterstützung beantwortet habe. Wenn Sie weitere Fragen haben, schreiben Sie bitte einen neuen Beitrag und ich helfe Ihnen gerne. dfc vor 10 Jahren 0
OK danke. Sie haben recht, die Frage wurde beantwortet. Ich werde ein letztes Thema zum Fudge-Thema eröffnen. wenzul vor 10 Jahren 0