HP3000-L Archives

September 1997, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Mark Bixby <[log in to unmask]>
Reply To:
Date:
Fri, 19 Sep 1997 16:24:42 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (266 lines)
Xntp/iX for HP 3000 MPE

http://www.cccd.edu/~markb/xntpix.html
Network time synchronization for MPE
Last updated September 19, 1997 @ 2300 UTC

---------------------------------------------------------------------------

What's New

   * September 19, 1997
        o Initial public release. Consider this to be closer to "preview"
          quality than to "production" quality.  See Known Bugs below.

---------------------------------------------------------------------------

Welcome

This is the official home page for the HP 3000 MPE port of the xntp Network
Time Protocol (NTP) implementation. Check here for the latest news,
implemented functionality, known bugs, to-do list, etc. Status reports
about major milestones will also be posted to the HP3000-L mailing list and
its associated gatewayed newsgroup comp.sys.hp.mpe.

I'm doing this port because I see a great need for both clients and servers
in the CCCD heterogeneous distributed networking environment to all be
synchronized to the same time of day with a high degree of accuracy. I
chose xntp because it's free, and also because it's what I run under HPUX
for the Coast Community College District.

Please send your comments, questions, and bug reports directly to me, Mark
Bixby, by e-mailing to [log in to unmask] Or just post them to HP3000-L. You
can also telephone me at +1 714 438-4647 Monday-Friday 0815-1715 PDT
(1515-0015 UTC).

The platform I'm using to do this port is an HP 3000 969KS200 running
MPE/iX 5.5 and using the gcc compiler from
http://www.interex.org/sources/freeware.html. This is my only HP 3000, so
I'm very interested to hear from people running MPE/iX 5.0 and using the HP
C compiler. As far as I know, the binaries should be able to run under
MPE/iX 5.0 or later.

For the time being, I am withholding the source code for the following
reasons:

   * HP's MPE time correction support is buggy.  See Known Bugs below.
   * I may decide to add PDC clock adjustment code.  See To-Do List below.
   * xntp3-6.0 is due out Real Soon Now.
   * xntp4 is coming soon.  This is the source base that I want to
     distribute for MPE.

---------------------------------------------------------------------------

How to Obtain Xntp/iX

  1. Download and install syslog from
     http://www.cccd.edu/~markb/syslogix.html if you haven't already done
     so.  Syslog is REQUIRED by xntpd; if all you want is ntpdate, then you
     don't have to install syslog.
  2. Create the XNTP account
  3. Download xntp using either FTP.ARPA.SYS or some other client
  4. Uncompress and extract

Create the XNTP account on your HP 3000

:HELLO MANAGER.SYS
:NEWACCT XNTP,MGR;CAP=AM,AL,ND,SF,IA,BA,PM,PH;ACCESS=(R,W,A,L,X:AC);PASS=somethingsecure
:ALTGROUP PUB.XNTP;ACCESS=(R,W,A,L,X,S:AC)

Download Xntp/iX using FTP.ARPA.SYS from your HP 3000 (the preferred
method).....

:HELLO MGR.APACHE
:FTP.ARPA.SYS
open ftp.cccd.edu
anonymous
[log in to unmask]
bytestream
cd /pub/mpe
get mover55.prvxl.telesup mover55;code=nmprg;rec=128
get xntp3-5.90.4-export.mover.Z /tmp/xntp.mover.Z
exit

.....Or download using some other generic web or ftp client (the alternate
method)

Download the following files (make sure that you use "binary mode" or
whatever client feature that is 8-bit clean):

   * mover55 from http://www.cccd.edu/ftp/pub/mpe/mover55.prvxl.telesup or
     ftp://ftp.cccd.edu/pub/mpe/mover55.prvxl.telesup
   * xntp from http://www.cccd.edu/ftp/pub/mpe/xntp3-5.90.4-export.mover.Z
     or ftp://ftp.cccd.edu/pub/mpe/xntp3-5.90.4-export.mover.Z

Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:

   * /tmp/mover55
   * /tmp/xntp.mover.Z

Convert mover into something that is executable:

:HELLO MGR.XNTP
:FILE MOVER55;CODE=NMPRG
:FROMBYTE.HPBIN.SYS '-b /tmp/mover55 *MOVER55'

Then uncompress and extract the distribution (after both download methods)

:UNCOMPRE.HPBIN.SYS '/tmp/xntp.mover.Z'
:MOVER55.PUB.XNTP '-x /tmp/xntp.mover'

---------------------------------------------------------------------------

Distribution Contents

README
     this file
JXNTPD
     :STREAM this job to run the xntpd time synchronization daemon.  See
     Known Bugs below.
MPESHOW
     Compiled binary debugging program to display the MPE clock, PDC clock,
     UTC offset, and PDC difference from the offset.
NTPDATE
     Compiled binary xntp ntpdate program used to perform a single
     on-demand time synchronization.
NTPQ
     Compiled binary xntp ntpq program used to query an NTP server, either
     local or remote.
NTPTRACE
     Compiled binary xntp ntptrace program used to trace the multiple hops
     between a local or remote NTP server and the top-stratum time source.
XNTPD
     Compiled binary xntp xntpd program used to perform continuous time
     synchronization on the local machine and to act as an NTP server for
     remote clients.  Suitable for testing right now, but you presently
     don't want to run this for long periods of time. See Known Bugs below.
XNTPDC
     Compiled binary xntp xntpdc program used to control the internal
     parameters of an already running xntpd, either local or remote.
etc/
     Configuration directory used by xntpd.  You will need to modify
     etc/xntpd.conf before running xntpd.
public_html/
     Symbolic link into the HTML documentation within the src/ directory.
     If you're running Apache/iX on the same machine, you can browse to
     http://hp3k.host.name/~MGR.XNTP/ to read the official xntp
     documentation. It's a good idea to read this documentation before you
     get started.
src/
     Source code.  Intentionally left mostly empty at this time.

---------------------------------------------------------------------------

How to Compile Xntp/iX (not yet supported)

  1. cd src/xntp3-5.90.4-export
  2. Read the INSTALL file for the official instructions
  3. ./mpeconfigure
  4. make
  5. make install

---------------------------------------------------------------------------

Getting Started With Xntp/iX

  1. You MUST set your PDC hardware clock to UTC time, either by rebooting
     and running ISL CLKUTIL, or by using the :SETCLOCK command.
  2. Modify your system logon UDC to :SETVAR TZ "time-zone-spec".  The
     California time-zone-spec is PST8PDT. Valid time zones are listed in
     TZTAB.LIB.SYS.
  3. Modify /etc/profile to export TZ=time-zone-spec.
  4. Add an "ntp   123/udp" entry to SERVICES.NET.SYS and make sure that
     /etc/services is a symbolic link pointing to /SYS/NET/SERVICES.
  5. Decide which remote NTP server(s) you want to obtain your time from.
     See  http://www.eecis.udel.edu/~mills/ntp/servers.html for a list of
     public NTP servers; note that some of these servers require you to ask
     permission first. Note that your organization or ISP may already be
     running a time server that you might be able to use.
  6. Initiate a single on-demand time correction: NTPDATE -B ntpserver1
     [ntpserver2 ntpserver3 ...]
  7. If you desire continuous time synchronization and the ability to act
     as an NTP server yourself, edit etc/xntpd.conf to specify the external
     NTP servers that you wish to synch to, and then :STREAM JXNTPD.  You
     stop JXNTPD via :ABORTJOB. See Known Bugs below.
  8. A number of freeware NTP clients for all platforms are available from
     http://www.eecis.udel.edu/~ntp/software.html. The one I run on my
     Win95 machine is  Dimension 4.
  9. If you have general non-MPE questions about NTP, consider visiting the
     Usenet newsgroup comp.protocols.time.ntp.

---------------------------------------------------------------------------

MPE/iX Implementation Considerations

There some minor functionality issues to be aware of when comparing Xntp
for Unix (Xntp/UX) to Xntp/iX:

   * Xntp/UX must be run as root to bind to NTP port 123. Xntp/iX must call
     GETPRIVMODE() to bind to NTP port 123.
   * Xntpd/UX will detach itself and run in the background as a daemon.
     Xntpd/iX cannot detach itself and run in the background because MPE
     POSIX doesn't allow this. Thus you must run it within the JXNTPD job.
   * Xntp/UX must be run as root in order to set or adjust the system
     clock.  Xntp/iX must call GETPRIVMODE() to use the same routines that
     :SETCLOCK uses to set or adjust the system clock.
   * Xntp/iX requires GETPRIVMODE() in order to read the PDC and MPE clocks
     with microsecond resolution.
   * Xntp/UX comes with support for serial RS-232 external hardware clocks.
     This functionality has not been implemented for Xntp/iX because 1) I
     don't have access to any external hardware clocks, and 2) the POSIX
     General Terminal Interface for serial I/O was never completed by HP.
   * Xntp/iX uses the same internal routines as :SETCLOCK and :SHOWCLOCK,
     and thus should be able to run on MPE/iX 5.0 or greater.
   * This release of Xntp/iX only adjusts the MPE local time software
     clock.  The PDC UTC hardware clock is not adjusted. Though I may
     change that in a future release.  See To-Do List below.

---------------------------------------------------------------------------

Known Bugs Under Investigation

   * Gradual MPE time corrections will overshoot and introduce a small,
     sub-second error.  :SETCLOCK has this problem, but you can't see it
     with :SHOWCLOCK because the 1-second resolution is too coarse.  It is
     only apparent when using the internal procedures and/or data
     structures that have microsecond or tick resolution.  HP is
     investigating with the intent of eventually doing a patch.  The result
     of this bug is that xntpd becomes deeply confused after 15-20 minutes,
     loses synchronization, and then starts the re-synch algorithm over
     again.  This DOES NOT trash your system clock; it just confuses xntpd
     which knows it is having trouble being accurate, and then gives up in
     disgust and restarts itself.  So feel free to run xntpd for testing,
     but be aware your clock will drift a couple of seconds per hour, so
     don't leave it running forever.  After you bring xntpd down, run
     ntpdate once to re-synch your clock.

---------------------------------------------------------------------------

To-Do List

   * Squash the above time correction bug.
   * After the bug has been squashed, evaluate whether or not the PDC UTC
     clock should also be adjusted in order to maintain the proper UTC
     offset at the next reboot.
   * Wait for the imminent release of xntp3-6.0.  Reapply MPE patches.
   * Wait for the release of xntp4.  Reapply MPE patches.  Make the source
     available to the MPE community.
   * Submit the MPE patches back to the official xntp4 distribution.

---------------------------------------------------------------------------

Change History

   * September 1997
        o Porting begins.

---------------------------------------------------------------------------

Mark Bixby, [log in to unmask]
--
Mark Bixby                      E-mail: [log in to unmask]
Coast Community College Dist.   Web: http://www.cccd.edu/~markb/
District Information Services   1370 Adams Ave, Costa Mesa, CA, USA 92626-5429
Technical Support               +1 714 438-4647
"You can tune a file system, but you can't tune a fish." - tunefs(1M)

ATOM RSS1 RSS2