mirror of
https://frontier.innolan.net/rainlance/amiga-ntimed.git
synced 2026-05-03 04:53:41 +00:00
Update README
This commit is contained in:
166
README.rst
166
README.rst
@@ -27,56 +27,20 @@ start from scratch.
|
|||||||
|
|
||||||
Ntimed is the result.
|
Ntimed is the result.
|
||||||
|
|
||||||
|
(Poul-Henning Kamp)
|
||||||
What should you do with this
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
You can take this code, compile it, run it, and it will steer your
|
|
||||||
computer's clock, but I am not going to encourage you to do that in
|
|
||||||
production yet -- unless you know what you are doing and why you
|
|
||||||
are doing it: This is only a preview release.
|
|
||||||
|
|
||||||
Soon-ish, there will be full production-ready releases and
|
|
||||||
packages for your favourite operating system, but we are not
|
|
||||||
there yet.
|
|
||||||
|
|
||||||
But if you are willing to read C-source code to figure out what the
|
|
||||||
printouts mean or if you care about quality time-keeping or quality
|
|
||||||
programming, I would love to hear your feedback, reviews, and ideas.
|
|
||||||
|
|
||||||
|
|
||||||
Where can I read more ?
|
Where can I read more ?
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
I maintain a blog-of-sorts about this project here:
|
The authors repository is located at github:
|
||||||
|
https://github.com/bsdphk/Ntimed
|
||||||
|
|
||||||
http://phk.freebsd.dk/time
|
He maintain a blog-of-sorts about this project here:
|
||||||
|
http://phk.freebsd.dk/time
|
||||||
|
|
||||||
There you will find information about theory, practice,
|
The AROS repository is located here:
|
||||||
and the thinking that tries to bridge the gap between them.
|
https://github.com/llsth/Ntimed
|
||||||
|
|
||||||
Updates typically happen during weekends -- that is when I work on
|
|
||||||
Ntimed.
|
|
||||||
|
|
||||||
|
|
||||||
Who do I yell at and how ?
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Me, Poul-Henning Kamp. Please send email to phk@Ntimed.org.
|
|
||||||
|
|
||||||
|
|
||||||
What happens next ?
|
|
||||||
~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
The plan is to have the first production-ready release in Q1/2015.
|
|
||||||
|
|
||||||
Hopefully OS releases will then adopt Ntimed - first as an alternative
|
|
||||||
to, and later as replacement for NTPD in client applications.
|
|
||||||
|
|
||||||
It is not my intent to start and manage an entirely new FOSS project
|
|
||||||
around Ntimed. Harlan from The Network Time Foundation has agreed
|
|
||||||
to adopt Ntimed and it will run in/with/parallel to the NTPD project.
|
|
||||||
Or something. We still need to flesh out all those details.
|
|
||||||
|
|
||||||
|
|
||||||
How to compile
|
How to compile
|
||||||
@@ -95,124 +59,12 @@ your C code.)
|
|||||||
How to test
|
How to test
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
Stop ntpd if it is running, and then::
|
ntimed-client -t RAM:somefile some_ntp_server some_other_ntp_server
|
||||||
|
|
||||||
./ntimed-client -t /tmp/somefile some_ntp_server some_other_ntp_server
|
|
||||||
|
|
||||||
That should synchronize your clock to those servers.
|
That should synchronize your clock to those servers.
|
||||||
|
|
||||||
Because this is a preview release, the process will not "daemonize"
|
Because this is a preview release, the process will not "daemonize"
|
||||||
into the background.
|
into the background.
|
||||||
|
|
||||||
The '-t /tmp/somefile' arguments tells it to write a full blow-by-blow
|
The '-t RAM:somefile' arguments tells it to write a full blow-by-blow
|
||||||
tracefile, for analysis and debugging.
|
tracefile, for analysis and debugging.
|
||||||
|
|
||||||
If something goes wrong, I'm going to ask you for a copy the tracefile.
|
|
||||||
|
|
||||||
|
|
||||||
What happens when you run it ?
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
After a few seconds, your clock will be stepped if necessary.
|
|
||||||
(In the final version, this is where the process daemonizes into the
|
|
||||||
background -- from which point you can trust your clock to be good.)
|
|
||||||
|
|
||||||
In the next 30-60 seconds, the PLL will eliminate any residual phase
|
|
||||||
error and from this point in time, your computer's clock should be
|
|
||||||
good to a few milliseconds - depending on the quality of the servers.
|
|
||||||
|
|
||||||
After about 5-10 minutes, the PLL will have integrated the
|
|
||||||
frequency error of your computer's crystal, and the PLL will
|
|
||||||
start to "stiffen" to minimize the amount of steering necessary
|
|
||||||
to keep the clock aligned to the servers.
|
|
||||||
|
|
||||||
If you are using distant or very distant servers, it will take longer
|
|
||||||
time before the PLL stiffens.
|
|
||||||
|
|
||||||
|
|
||||||
Packet traces and simulations
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
You can also run the program two other ways::
|
|
||||||
|
|
||||||
./ntimed-client --poll-server some_ntp_server some_other_ntp_server
|
|
||||||
|
|
||||||
This will *not* steer your clock, but it will query the servers as
|
|
||||||
if it should have steered your clock. (Ntpd should *not* be running
|
|
||||||
at the same time.) By default it terminates after 1800 seconds,
|
|
||||||
but you can control that with "-d 3600" for one hour etc.
|
|
||||||
|
|
||||||
If you save the output into a file (redirect stdout or use '-t filename'),
|
|
||||||
you can use it as input for a simulation run::
|
|
||||||
|
|
||||||
./ntimed-client --sim-client -s filename -t /tmp/_
|
|
||||||
|
|
||||||
And then run::
|
|
||||||
|
|
||||||
python plotgen.py
|
|
||||||
|
|
||||||
Then you can finally get some nice pictures to look at by::
|
|
||||||
|
|
||||||
gnuplot
|
|
||||||
load '/tmp/_g'
|
|
||||||
|
|
||||||
|
|
||||||
Tweaking parameters
|
|
||||||
~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Parameters can be examined and tweaked with '-p' arguments::
|
|
||||||
|
|
||||||
-p '?'
|
|
||||||
|
|
||||||
Gives a list of available parameters, and you can get information about
|
|
||||||
each parameter::
|
|
||||||
|
|
||||||
-p parameter_name
|
|
||||||
|
|
||||||
To set the parameter to a non-default value::
|
|
||||||
|
|
||||||
-p parameter_name=new_value
|
|
||||||
|
|
||||||
Not everything which should be a parameter is yet, and there are
|
|
||||||
some unused dummy parameters there, just to make sure the macro-magic
|
|
||||||
works.
|
|
||||||
|
|
||||||
|
|
||||||
Thanks and acknowledegments
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
First and foremost a big thanks to Professor Dave L. Mills.
|
|
||||||
|
|
||||||
Thanks for being the first time-nut on the InterNETs, as we called
|
|
||||||
them back then.
|
|
||||||
|
|
||||||
Thanks for being an all-round pleasant fellow to work with.
|
|
||||||
|
|
||||||
Thanks for adopting my 'nanokernel' and 'refclock_oncore'.
|
|
||||||
|
|
||||||
But in particular thanks for lending me the most cantankerous LORAN-C
|
|
||||||
receiver the world have ever seen, at a time in my life where I
|
|
||||||
badly needed that a distraction to keep me sane.
|
|
||||||
|
|
||||||
A big thanks to the Linux Foundation for realizing that NTPD was
|
|
||||||
in dire straits after Dave Mills retired.
|
|
||||||
|
|
||||||
Thanks for giving me money and free hands to do what I thought was
|
|
||||||
best -- even though I am a "BSD-guy".
|
|
||||||
|
|
||||||
Thanks to Harlan Stenn for keeping the NTPD flame burning, however
|
|
||||||
stormy the last decade has been.
|
|
||||||
|
|
||||||
I trust The Network Time Foundation will take as good care of Ntimed
|
|
||||||
in the future, as it has taken care of NTPD in the past.
|
|
||||||
|
|
||||||
A special wave of the hat to John R. Vig for his famous Quartz
|
|
||||||
Crystal Tutorial.
|
|
||||||
|
|
||||||
And finally, a shout-out and thanks to time-nuts@ in general and
|
|
||||||
Tom Van Baak in particular, for being jolly and interesting company
|
|
||||||
for people who happen to care about nanoseconds, leap seconds,
|
|
||||||
choke-ring antennas and the finer points of SC- vs. AT-cut quartz
|
|
||||||
crystals.
|
|
||||||
|
|
||||||
*phk*
|
|
||||||
|
|||||||
Reference in New Issue
Block a user