Post by J. P. GilliverTurnpike - a news/email client (well, I suppose you'd call it a suite,
as it includes various other things, like ping, finger, telnet,
traceroute, and the time thing; I mainly use only the news and email
parts). Ceased development 2007. But the question was general. (TP
checks [and tries to correct] the time on connecting, and at settable
intervals - I have it set to 24h, which I think is the default.)
But NTP (Network Time Protocol) servers are not NNTP servers. Wrong
place to get the time. Just like clients, NNTP servers can have the
wrong time until you notify the owner of the discrepancy.
The NTP client in Windows is often set to poll the MS NTP
(time.windows.com) server, but that server is so busy that often your
client cannot connect. The NIST server is less busy (time.nist.gov).
Both those are home is the USA. If your nearby university has an NTP
server, it may be public, so you could use that. Do a search on
"<university> NTP". Instead I use one of the ntp.org pools of NTP
servers. For me is the USA, I use us.pool.ntp.org which is a pool of
NTP servers in the USA. I could drill down further, like to do by
state, but I use the national pool. If a server is busy, they pass the
NTP request to another server in the pool. You can more info at
ntp.org, like the pools of NTP servers they have that you can use (see
https://support.ntp.org/Servers). You want to use one that is listed as
OpenAccess.
You edit the registry to add more NTP servers to the list you see in the
timedate.cpl wizard under its Internet Time tab and Change Settings
button. Once you add an NTP server, go there to pick that one from the
drop-down list. That list of NTP servers is stored in the registry at:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers
Add another data item (type REG_SZ), give it a numeric name, and its
data item's value is the hostname of the NTP server. Just the name, no
protocol (do not add ntp://), like us.pool.ntp.org.
Various NTP pools are available at ntp.org depending on how far away you
want to limit where they are from you (farther away does not necessary
mandate more hops in the route than one closer to you).
Worldwide: pool.ntp.org
Asia: asia.pool.ntp.org
Europe: europe.pool.ntp.org
North America: north-america.pool.ntp.org
Oceania: oceania.pool.ntp.org
South America: south-americal.pool.ntp.org
You can see those listed at:
https://support.ntp.org/Servers/NTPPoolServers
If you want a smaller pool, click on one of the regional pools. For
further granulation, click on a sub-region to see if there are any more
sub-pools.
NTP.org works like many NTP clients that contained their own list of NTP
servers, but that list gets out of date, so you could end up polling
servers that no longer exist. Some NTP clients will try to find the NTP
server with the least delay to you in a route along with the most
responsive. They weight entries in their list, reuse those, but still
gather stats on other servers in their list to see if others have become
better. I used to use SockeWatch as an NTP client, and it had those
features. Alas, its NTP server list is old, and I had to edit its list
(you'll have to guess at the syntax) to get rid of dead entries to
eliminate any time spent on testing those defunct NTP servers. With
NTP.org's pools, I let them figure out which is the best NTP server for
me to use, but I don't waste time with their worldwide list, and instead
drill down into one of their country sub-pools.
The NTP service in Windows only polls at specific events: when you log
into your Windows account, and about a week between. It is possible,
like with heavy video editing, that the system clock gets off too much
(which can affect SSL/TLS connects that have a timestamp in their
handshaking tokens). There is a difference between the RTC (hardware
clock) and the system (Windows clock). Windows reads the RTC on its
startup, but if you leave your computer running 24x7 then it doesn't
read the RTC thereafter. The RTC clock is dependent on the CMOS battery
for power to keep it running when you power off your computer. If it
becomes weak or dead, the RTC will drift or reset (I'd have to look up
the base time, but it's like many years ago within a 100-year sliding
window).
If you want to only once force and NTP update, and thereafter let the
NTP service in Windows do the time sync but at its rather length polling
intervals, use the control panel wizard mentioned above to go to its
Internet Time tab, Change Settings button, and click Update Now. If you
want to change the polling interval of Windows Time service, that's a
registry setting that I'd have to look up again for a data item defined
under:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
If you want your system time updated more often, you can edit the
registry to shorten the poll interval. Rather than go through that
training curve and registry editing, I just created an event in Task
Schedule (give whatever name you like) with multiple triggers:
Name: Time sync (force)
Trigger 1: 12:05 AM every day
Trigger 2: At startup
Trigger 3: On workstation unlock of any user
I could define an hourly trigger, but my Windows system clock doesn't
drift far enough to be concern about how off it gets within a day. I
rarely power down my PC, but I still add an "at startup" event whenever
I do reboot the computer. The time gets sync everytime my PC gets
unlocked. I have the screen saver configured to lock the screen after a
while, so when I unlock it a time sync gets forced. You can pick
whatever event types and how to define them that you like. They all run
the same time sync tool: w32tm.exe. You can see what arguments it takes
by running "w32tm /?" in a command shell.
Command: cmd.exe /c start /min c:\batch\timesync.bat
I use a batch file to run w32tm.exe, because I want to ensure the time
sync service is running when I ask it to force an update. In short, it
runs the following commands:
net start w32time
w32tm /resync /nowait
That will flash a console window on the screen for the command shell
(cmd.exe), but the /min argument to the internal 'start' command (inside
of cmd.exe) minimizes the window to a taskbar button, so you might see
the button flash on the taskbar, but you'll need to be focused on the
taskbar at the time the scheduled event triggers.
net is an asychronous command. It issues a start request to the
service. If the service is already running, the request is ignored. If
the service isn't ready by the time the following w32tm.exe command is
executed, well, it will be by the time one of the scheduled events next
triggers. No point in repeatedly running w32tm.exe if the W32TIME
service isn't running.
The scheduled event runs under the SYSTEM account. It is necessary to
have system privileges to get w32tm.exe to work.
By the way, the Time Service can get screwed up, and here's an article
on fixing that:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/specialpollinterval-polling-interval-time-service-not-correct
Also check you can do the manual Update Now previously mentioned. In
addition, go into service controller (services.msc), and check the state
of the Windows Time (W32TIME) service. It should be set to Manual
trigger mode (a program calls it when needed) and state is RUNNING. If
it is not running, right-click on it and select Start. If you get an
error that the service won't start, that requires some troubleshooting
we'll look into later if needed. If the service has been disabled,
right-click on it, Properties, and change Startup Type from Disabled to
Manual.
There are lots of NTP clients to do the time sync on whatever events
they can define (most are just scheduled by time and load as background
programs instead of as a service). Search on "windows atomic clock". I
used to use SocketWatch, it went dead, I had to keep updating its NTP
servers list because some disappear after a while, and new ones show up.
I decided to use the time sync service already provided in Windows, and
learned how to tweak it. Overall, it isn't much more difficult than
having to configure (and possibly reconfigure) an NTP client you run
instead. No need to use 3rd-party software when Windows already has its
own NTP client.
I've never heard that Turnpike can be used as an NTP client, but then
I've never used Turnpike. Did its NTP (time sync) function work before?
Perhaps you are misconstruing what some "time" function of it does.
What does Turnpike's documentation or help say its "time thing" is
supposed to do? A newsreader, or some combo client, seems the wrong
place to perform NTP functions. You want to sync your Windows system
clock with an NTP server, not with an NNTP server.