UART on the GPIO, I disable nvgetty service on ttyTSH0
in such confiuration we used:
in udev rules
KERNEL=="ttyTHS0", SYMLINK+="gps0"
KERNEL=="pps0", MODE="0660", SYMLINK+="gpspps0",TAG="systemd"
in ntp.conf
server 127.127.20.0 mode 48 baud 38400 minpoll 3 burst iburst prefer
fudge 127.127.20.0 stratum 1 flag1 1 flag2 0 flag3 1 flag4 0 time1 0.0 time2 0.095 refid GPS0
then monitored the status with
watch -n5 '(ntpq -p ; echo "" ; ntptime ; echo "" ; phc_ctl eth0 get cmp)'
However, the baudrate, also mode should match the environment.
ref: http://doc.ntp.org/current-stable/drivers/driver20.html
Thanks for your config .
For the udev rules, I plan to make it.
What output give you ntp service status if it’s well configured ?
watch -n5 '(ntpq -p ; echo "" ; ntptime ; echo "" ; phc_ctl eth0 get cmp)'
Every 5.0s: (ntpq -p ; echo "" ; ntptime ; echo "" ; phc_ctl eth0 get cmp)
remote refid st t when poll reach delay offset jitter
==============================================================================
oGPS_NMEA(0) .GPP0. 1 l 2 8 377 0.000 +0.001 0.002
*time-d-b.nist.g .NIST. 1 u 38 64 377 10.751 +2.109 0.446
ntp_gettime() returns code 0 (OK)
time e2a77473.5d017db0 Wed, Jul 1 2020 14:45:39.363, (.363304958),
maximum error 2000 us, estimated error 7 us, TAI offset 0
ntp_adjtime() returns code 0 (OK)
modes 0x0 (),
offset 0.491 us, frequency 5.540 ppm, interval 1 s,
maximum error 2000 us, estimated error 7 us,
status 0x2001 (PLL,NANO),
time constant 3, precision 0.001 us, tolerance 500 ppm,
phc_ctl[28757.094]: clock time is 1593636376.365505506 or Wed Jul 1 14:46:16 2020
phc_ctl[28757.094]: offset from CLOCK_REALTIME is -37000000006ns
However, as far as I remember it would require both pps & NMEA working to get such state
Sorry, I mean what give you this :
sudo service ntp status
ntp should give you PPL,NANO status ? not PPS ?
@Andrey1984, it seems that your kernel accept PPS for NTP.
Did you add other options to the kernel ?
in our implementation it uses ntp configuration file, not a kernel level support for this;
from kernel level we only use pps device creation
Ok I will test with your config file on the AGX Xavier
On my search for an answer, I think you didn’t get the error because you put flag3 to 1.
according to the cloudera
status 0x2001 (PLL,NANO): This indicates that the local clock is synchronized with the true time up to the maximum error above
However we do not see there PPSFREQ,PPSTIME,PPSSIGNAL,
It may have use your other clock provider from ntp server ?
I set only the GPS for testing and be sure to get the correct status and the main goal is to obtain those status PPSFREQ,PPSTIME,PPSSIGNAL
Seems that PPSSIGNAL
is required based on http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#S-CONFIG-ADV-PPS
Hi:
Did you solve the problem? I am sorry that I may have the same problem with you, I used the /dev/pps1 and /dev/ttyTHS1 for synchronization. I can get the PPS signal and NMEA-0183 but I could not get those in the NTP. Do you figure it out? Thx!