radioclkd(1)


NAME

   radioclkd - decode time from radio clock(s) attached to serial port

SYNOPSIS

   radioclkd [ -tphv ] device

DESCRIPTION

   radioclkd  is  a simple daemon that decodes the time from a radio clock
   device attached to the DCD and/or CTS and/or DSR status lines of serial
   port  of  a computer. It is able to decode the DCF77, MSF and WWVB time
   signals. The received time is then sent to ntpd using the shared memory
   reference  clock  driver.  The  type  of  time signal being received is
   automatically determined. If you have problems getting the  program  to
   work  using  interrupts, the following command is known to help in many
   instances. If this fails you  can  always  fall  back  to  the  polling
   method.

          stty crtscts < /dev/ttyS0

   Details  on  a  cheap  and easy to make device for receiving these time
   signals can be found at

          http://www.buzzard.org.uk/jonathan/radioclock.html

OPTIONS

   -p, --poll
          Poll the serial port for changes of status in the DCD,  CTS  and
          DSR lines rather than use interrupts

   -t, --test
          Enter  test  mode  printing  the  length  of  each pulse and the
          decoded time at the end of each minute on stdout.  The  time  is
          not  sent to ntpd using the shared memory reference clock driver
          in this mode.

   -h, --help
          Print a short synopsis of the command line arguments.

   -v, --version
          Print the version number and then exit.

CONFIGURATION

   Configuration is very simple. Use server 127.127.28.0 in your  ntp.conf
   file  for  a  clock attached to the DCD line, server 127.127.28.1 for a
   clock attached to the CTS line, and server  127.127.28.2  for  a  clock
   attached to the DSR line. You will also want to use a fudge line on the
   server to change the displayed refid.

CALIBRATION

   Due to delays in the propogation of the radio signal,  it's  processing
   by  the receiver board and the latency of the operating system the time
   decoded by the receiver  will  be  slightly  offset  from  actual  UTC.
   Typically  this  delay  will  be less than 20ms, so unless you are very
   fussy about the time, or are using more than one time source, such as a
   GPS  unit,  other  radio  clock  or  NTP server on the internet you can
   ignore this section.

   The basics of the calibration procedure is  to  determine  the  average
   offset  of  the  radio  receiver,  and  use  the  time1 fudge factor in
   ntp.conf to bring the receiver as close as possible to the  real  time.
   The  easiest  way of determining the offset of the radio receivers time
   is to run it against a reference clock that does not suffer from  these
   problems. The best reference clock would be a GPS unit. This might be a
   GPS unit that you don't wish to dedicate to time keeping, or a borrowed
   unit.  If  this is not possible you could use a stratum 1 server on the
   internet.

   The method of calibration is quite simple. We  attach  the  calibration
   reference  clock  to  the  computer  and fudge the stratum of our radio
   receiver up to say 5.  This way we can be sure that ntpd will lock onto
   the  calibration  reference  clock.  We  need to make sure that ntpd is
   configured to collect peer statistics so make sure we have  some  lines
   similar to these in ntp.conf

       statsdir /var/log/ntpstats/
       statistics loopstats peerstats clockstats
       filegen peerstats file peerstats type day enable

   After  that  we restart ntpd and leave it running for several hours. We
   can then make a copy the peerstats file. The trick is to remove all the
   entries  before ntpd has come into close aggrement with the calibration
   reference clock and then run the peer.awk script in  the  scripts/stats
   directory  of  the ntp distribution. This will give us a mean offset of
   our radio receivers in milliseconds. This can them  be  converted  into
   seconds and added to the fudge line in ntp.conf for our receiver.

   The  final  step  is  to  remove  the  change  in stratum level for our
   reference clock  and  restart  ntpd.  If  you  move  the  receiver  any
   significant  distance  then  you  will  need to repeat this calibration
   step. Across the room or around the current building will be fine,  but
   if you move it to the next town/city then you will need to recalibrate.

IN USE

   The  version  of ntpd that comes with most Linux distributions does not
   have the shared memory reference clock driver compiled in  by  default.
   This  can  be identified by checking the logs after ntpd is started. If
   the shared memory reference clock driver is not compiled  in  then  the
   logs  will  contain warnings about the reference clock driver not being
   recognized. To compile ntpd with  the  shared  memory  reference  clock
   driver you must specify the --enable-SHM option when running configure.

   Neither  radioclkd  or  ntpd  ever  mark  the shared memory segment for
   deletion. If you stop using the shared memory  reference  clock  driver
   therefore  any  shared memory segments will persist until you reboot or
   manually  delete  the  segment  using  ipcrm.   The  segments  can   be
   identified  as  the  one  with key 0x4e545030, 0x4e545031 or 0x4e545032
   using the ipcs command.

BUGS

   If you are running a kernel with the PPS kit and have a clock  attached
   to  the  DCD  line  you  may  experience lockups. If you encounter this
   problem the currently recomended solution  is  to  move  the  clock  to
   either the CTS or DSR lines.

AUTHOR

   This  program was written by Jonathan Buzzard <jonathan@buzzard.org.uk>
   and may be freely distributed under the terms of the GNU General Public
   License. There is ABSOLUTELY NO WARRANTY for this program.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.