locked Re: Clock Sync #Timesync


Jim Pennino
 

Re Alan W6AKB write up and random thoughts:

Very good job.

I have never tried NTPsec as the primary advantage of that version is security enhancements as you say which are really only relevant if you are running a public server, which I do not. The installation procedure for NTPsec on the Pi seems to me to be overly complex for a newbie user.

Using legacy NTP with gpsd, Pi4 with Buster and the Ultimate HAT, installation is pretty trivial and there are a lot of write ups out there that are obsolete. Basically it is just turn off the serial console in the configuration editor, edit config.txt to turn off bluetooth, assign the correct GPIO pin for PPS, set the baud rate to 9600, and then point gpsd to the correct device. If you find a write up that says you have to compile something or install something outside of the distro, it is guaranteed to be well out of date.

For a Pi and a USB GPS and either Buster or Linux, it is just point gpsd to the correct device.

All my USB GPS machines are getting a long term (several hours) time accuracy of a bit over 2 milliseconds and the Ultimate HAT a bit over 2 microseconds. I have had several USB GPS devices that were much much worse than 2 milliseconds. All of them wound up in the trash.

I would never let a Windows machine go into sleep mode as I have found various strange things happen when it wakes up. If power is an issue, shut down the computer. It will only take NTP a couple of minutes to correct the time well within WSJT requirements on a power up. Perhaps this has been fixed in Windows but I find I can get along just fine without sleep mode.

AFAIK, no version of ntp will accept a minpoll value of less than 4 and will silently change anything less to 4. This can be verified by setting it to something less and running ntpq and looking at the poll value. The minpoll value is a power of 2, thus minpoll 4 says the poll time will be 2^4 or 16 seconds. In my opinion setting the poll time to less than 16 seconds will do little to nothing to time accuracy and one would be better off with minpoll 4 iburst. The iburst command says on startup to make several queries to more quickly get the system time corrected, but in practice with a GPS it seems to make less than a minutes worth of difference in the time required.

In my opinion setting the stratum of a GPS based system is also pointless as any client machine will select or reject the server machine based on the client's evaluation of all the servers configured on the client, selecting which ever server it thinks best, and essentially ignore any stratum number less than 16. A stratum of 16 basically says I have crap for time and use me at your risk.

If you are setting up a network, e.g. as in a field day event, and if you are providing DNS services for it, then on your DNS server configuration for your domain you can do something like:

time                    IN  A           192.168.0.100          ;pi1
time                    IN  A           192.168.0.101          ;pi2
time                    IN  A           192.168.0.102          ;pi3
time                    IN  A           192.168.0.103          ;Fred's windows machine
time                    IN  A           192.168.0.104          ;linux

Then in a client's ntp.conf have a line like:

pool time.mydomain.foo
 
Having your own pool has the advantage of requiring all the clients to only have the pool configured on their machines and changes to the pool become transparent to all the users as long as whoever maintains the DNS server keeps it up to date if things change making it one less thing that has to be coordinated among all the participants.

Jim WB6DKH

Join main@WSJTX.groups.io to automatically receive all group messages.