From: wjw@ebh.eb.ele.tue.nl (Willem Jan Withagen)
Newsgroups: comp.sys.apollo
Subject: comp.sys.apollo FAQ (part 2)
Keywords: FAQ, jan-93, part2
Date: 6 Jan 93 09:23:02 GMT
Organization: Eindhoven University of Technology, The Netherlands

Archive-name:apollo-faq/part2


 29)  How can I read cartridges written on SUN systems?

Answer:
APOLLO supports the new QIC 24 Tape Format only. Sun supports the
(obsolete?) QIC 11 (default) and QIC 24 formats.  Some older Suns do
not support QIC 24.

If you write tar tapes on a Sun please use the QIC 24 format.
This corresponds to the Sun nrst8-11 devices, for instance 
the /dev/nrst8.  For more information, you may try 'man 4 intro'
and 'man 4s st' on your Sun.

Then the archive can be read with the Apollo /dev/rct12 
device.
--------
Since then, newer suns support still another (higher density) QIC 150
format.  However they still support QIC 24, which is the only format
supported on the Apollos.
--
Harald Hanche-Olsen <hanche@imf.unit.no>               I eat my peas with honey
Division of mathematical sciences                      I've done it all my life
The Norwegian Institute of Technology             It makes the peas taste funny
N-7034 Trondheim NORWAY                          But it keeps them on the knife

From: krowitz@QUAKE.MIT.EDU (David Krowitz)
Subject: Re:  Apollo <--> Sun tapes?

Apollo 1/4" tapes are written as QIC-24 format (60 Mb per
DC600A cartridge, ~45 Mb per DC300XLP cartridge). Sun-3's
can read and write either QIC-11 or QIC-24 tapes. Sun-4's
(Sparcstations) can *read* QIC-24 tapes, but only write
QIC-120 (or is it QIC-150?) tapes. Apollo "tar" tapes are
readable on Suns, but with pre-SR10 tapes you may need to
force the blocksize (if I can remember back to SR9, I think
the Apollos were using a blocking factor of 1?) to match.

== Dave

===============

 30)  Does anyone out there know about using DAT drives for backing up Apollos?

I'm thinking of buying one to put on either a 425t or a DN4500 with Western
Digital SCSI

Answers:
Yes, you can use them, but only with SR10.3.5 (= SR10.3 + PSKQ3_91); you can
use wbak/rbak, or tar, or whatever.

We got our DAT drive recently. /systest/ssr_util/scsi_info tells me it is a
Sony SDT-1020; the salesman sold it as a Sony 2GB drive. (It is a Sony
drive, packaged locally into a cabinet with a power supply.)

I tested the drive with 425t, DN2500, DN10000, DN3500; I cannot remember if
I tested it or not on DN4500 and DN5500 (the DN[3-5]xxx with Western Digital
controller, Apollo part number 12283; the DN10000 with the SCSI cartridge
controller, Apollo part number 12171). It worked without a hitch, as
described in /install/doc/apollo/pskq3_91.v.10.3__notes.

Paul Szabo - System Manager   //        School of Mathematics and Statistics
szabo_p@maths.su.oz.au        //   University of Sydney, NSW 2006, Australia

There exists a video8 backup-unit with a capacity of
2.2 Giga. The name of the company who sold it was Cyber.. Data 
Group (don't kill me if the name`s wrong, I can look it up if
you'r realy interested). We used it on a 425 with SCSI. 

We used wbak/rbak. Note that there is a problem with wbak under
SR 10. You can no longer overwrite a file-container > 1 without first
overwriting all previous file-containers.

Frank Teusink
frankt@cwi.nl

===============

 31)  How do I use wbak to write stdout to a SUN workstation's tape?

Answer:

I currently rsh to the target machine and run a csh script similar to
the following:

  onintr error
  rm latest_backup_listing
  (/com/wbak -stdout -full -l /whatever | rsh dump_machine \
          dd of=/dev/nrst8 ibs=8192 obs=8192) >&! latest_backup_listing
  if ($status > 0) then
     rsh dump_machine touch ERROR.rdump.target_system
  endif
  exit
  error:
     rsh dump_machine touch ERROR.rdump.target_system
     exit

although I have also tried (and my scripts optioally allow) the following:

rsh dump_machine "/com/wbak -stdout -full -l /whatever" | \
          dd of=/dev/nrst8 ibs=8192 obs=8192

I have just completed a rather extensive backup package, written in 
Perl, which may be used to backup Sun, Apollo, and SGI machines, and
which features an automated interactive restore facility. I would be
willing to make these available to you if you want to try them out.

Oh yes. I currently run SunOS 4.1.2 and SR 10.2.1.

rmallett@ccs.carleton.ca

===============

 32)  Why does routed not work for long periods of time under SR10.2?

Answer:

The SR10.2 version of routed would stop broadcasting and listening to RIP
routes after about 20 minutes.  This is due to a feature in DomainOS which
keeps applications from receiving their own broadcast packets.  BSD routed
depends on this feature in stand-alone networks to determine if there is a
problem with the physical interface.

From the SR10.3 release notes:

     4.2.4  TCP/IP Bug in routed

     The routed command does not detect an inactive physical interface
     unless the interface is specifically configured "down" with the ifcon-
     fig command.

        o SR10.2 routed aged active routes (APR 000DDC72)

          The routed command was timing out active physical interfaces.
          We've modified routed to prevent it from timing out, and there-
          fore marking "down", interfaces that are configured "up" with the
          ifconfig command.  The routed command does, however, time out
          interfaces that are configured "down" with the ifconfig command.

 -- ericb@caen.engin.umich.edu (Eric Bratton)


===============

 33)  Does Apollo NFS work?
 Or what should I know about Apollo/NFS

 (WjW's note:
   I intend to keep some trivia about NFS in this entry.
   Probably until it grows out of bounds, and then make it into
   a really compilled list. So keep the remarks coming.
 )                                                     

Answer: not always.  The most reliable NFS released so far (as of 3/91) is
NFS 2.1 plus patch 186.  This patch is not on the new patch tapes, so
you must ask for the patch explicitly when calling Apollo Customer Support.

 -- ericb@caen.engin.umich.edu (Eric Bratton)

For performance reasons, mounting // is not recommended.  I did this
with Domain NFS 2.3 and an HP 710 (running HP-UX 8.07) and it was
horrible.  The recommended action is that you run NFS 2.3 (or 4.1 when
it becomes available) on all nodes and mount them independently as if
they were ordinary Unix machines with NFS out there on the net.

I have not had a chance to do this since my 700 went bye-bye and I have
no need to do this with my other HP-UX machines (running totally
unrelated applications and data.)
-- 
Chuck Tomasi             |   "A munk a clone and a Ferengi
chuck@edsi.plexus.COM    |    decide to go bowling together..."
spool!cserver!edsi!chuck |             -Data "The Outrageous Okana"
------<Enterprise Data Systems Incorporated, Appleton Wisconsin>------

===============

 34)  How can I get gcc and g++ to run?

Answer:

Changes required to build gcc 1.37.1, g++ 1.37.1, and libg++ 1.37.0
for Apollo 68K platforms are now available. The changes are in the
form of compressed tar files containing new versions of files to
replace those from the virgin FSF distributions.

The following files are available via anonymous ftp from
labrea.stanford.edu (36.8.0.47) in the pub/gnu directory:

 APOLLO-GCC-README  4197 bytes
 APOLLO-G++-README  6379 bytes
 APOLLO-LIBG++-README  5906 bytes
 apollo-gcc-1.37.1.tar.Z       255509 bytes
 apollo-g++-1.37.1.tar.Z       418879 bytes
 apollo-libg++-1.37.0.tar.Z     43532 bytes

The README files explain what is involved in building each component.
Gcc must be built and installed in order to build g++, which must be
built and installed in order to build libg++.  The README files are
also included in the tar packages, but are available separately in
case you want to see what's involved first.

The gcc-1.37.1 changes fix several problems which were reported to me
by folks who tried my earlier gcc-1.37 changes. Also, you'll need the
gcc-1.37.1 changes in order to get g++ built, even if you already have
gcc 1.37 running.

I have only tried out these changes on SR10.2/SR10.3, using the
6.7/6.8 versions of the Apollo C compiler. There may be problems with
earlier releases of Domain/OS and the C compiler.

If you do not have ftp access, I can mail you the changes in the form
of diffs. If you request them, be sure to give me a voice phone number
so I can contact you in case I can't send you mail; I've had several
requests in the past from people I can't contact.


John Vasta                Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com       M.S. CHR-03-DW
(508) 256-6600 x5978      300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta

Answer:

I've done a port using a different approach.  You compile a version of
gcc using the standard Apollo compiler to generate a generic M68020
compiled code that follows Apollo calling conventions.  The output file
format is the "standard" GNU/FSF a.out format.  This is all done using
the "standard" configuration capabilities of the distributed gcc package.

I then have a separate "gnu2coff" program that transforms that file into
something acceptable to the standard Apollo linker.  "gnu2coff"
recognizes calls to functions in the normal Apollo shared libraries,
and automatically patches the code to call them correctly, so that
text segments can be left "pure" (read only).  It also handles
data references to shared library variables.  And finally it also
recognizes G++ compiled code, and automatically adds patches to get
static constructors/destructors run.

"gnu2coff" is called using shell files that run the appropriate
compiler front-ends, run "gnu2coff", and then run the Apollo linker.

In general "gnu2coff" is not able to handle symbolic debug info in
the "a.out" file, nor is it able to generate Apollo COFF format
symbolic debugging info.  (I once made a start at doing this, (and
that code still exists), but it was never complete, probably uses
the wrong approach, definitely is buggy, etc.)

So far gcc seems to run fine.  G++ compiles fine and all the small
tests I try run fine.  I "think" I have Libg++ ported correctly.
It all compiles fine, and some tests work.  However many other
tests don't work.  (Typically the default "new" handler in gnulib
ends up being called, which aborts.).  You need a working libg++
to try to port groff.

A version of "gnu2coff" was distributed on comp.sys.apollo a few
years ago.  The only real differences between that and my current
version is that floating point has a reasonable chance to be handled
correctly, and minor updates to be compatible with the latest
releases of gcc/g++.

 -- dclemans@mentorg.com (Dave Clemans)

In article <1992Jun8.163547.22347@syma.sussex.ac.uk>, mikejm@syma.sussex.ac.uk (Michael J McNeill) writes:
=> Could somone please mail me the whereabouts of patches (I seem to
=> remember them being posted to this newsgroup some time ago) for
=> gcc-2.1 on Apollo68k machines. 
=> 
Hello!
I got (from ftp.gnu.ai.mit.edu and labrea.Stanford.EDU)
the Files:
 gcc-2.1.tar.Z
 gas-1.38.1.tar.Z
 bison-1.16.tar.Z
 patch-2.0.12u6.tar.Z
 apollo-gas-1.38.1.diffs.Z
 gcc-2.1.patch
and compiled gcc. 
gcc works for short programs but I did no tests with large programs.

I had (using motif) the problem that my cpp had not enough memory
so I used /bin/cc -Yp,/usr/local/lib/gcc-lib/m68k-apollo-bsd/2.1, this
worked!

I am using Domain/OS 10.3.5 .
Hope this helps you!
-- 
Peter Kutschera


===============

 35)  Where can I get an assembler?

Answer:

There is an Apollo assembler, which you may be able to get.  It isn't a
supported product.

You can also use the gnu assembler.  It is part of gcc (see above), or you
can ftp it from /pub/apollo/local/lib/gcc-as at ftp.eb.ele.tue.nl
[131.155.20.25].


===============

 36)  What's the story on adding more disks to my node?

Answer:

You can't add SCSI devices to the DN3x00 / DN4x00 / DN5x00 series machines,
unless HP/Apollo has made a _RADICAL_ change of policy.  I know that Mentor
(and probably 3rd party) has a SCSI board that sits in the AT-bus, and you
can access it if you use the special driver that's provided, but that will
NOT give you disk services.

The best (biggest) you can do with a DN3000 is a 325MB drive (Maxtor?).  If
you get a motherboard up-rev (to God knows what revision), the DN3500/
4000/4500 can take the WD7000 controller, which has a SCSI bus on it.
However, you can only hook up SCSI tape drives, floppies, and CD-ROMs as 
far as I know.  The best (biggest) drive you can hang off a WD7000 is the
Maxtor 760MB ESDI drive (Maxtor XT8760E), which'll give you 650MB formatted
space.  You can put 2 drives per controller, and 2  controllers per node,
for 2.6GB of space.  I think you'll find that the up-revs you'll need will
be too pricey though.  Probably better to go with a 9000/400 series node
(maybe the 425E, if you have ethernet).  You can hang about 9 GB of SCSI off
of a 'E' or 'T' type 400 series, and 27 GB from an 'S' type 400 series (3
SCSI controllers, 6 SCSI drives per, 1.5 GB per).

John Thompson
Honeywell, SSEC
Plymouth, MN  55441
thompson@pan.ssec.honeywell.com

And again in another message:

> I've read the faq, but it doesn't make the answer to this question entirely
> clear.  Can I connect an external SCSI disk to a DN5500 with a WD7000
> controller?  If so, is there any limitation on the size (eg 1.2GB)?  Is the
> process for involing etc.. the same as for a 425t?

OK -- let's make it clear then.

You can not hook up any SCSI disk drives to a WD7000 controller.  In fact, you 
can't use SCSI drives on any Apollo machine except the DN2500 (the 9000/4xx is
an HP/Apollo box).

You CAN hook up up to 2 ESDI drives to a WD7000 controller.  There are only 
three (?) drives that are supported, though -- the Maxtor 8760E (697MB), the
Maxtor 4380E (329MB FastActuator) and the Micropolis(?) 170MB drive.  The 
controller can apparently figure out what's on the other end, and act 
appropriately, so there aren't jumpers for the drive type itself.  I think I've
heard that you can add different drive types as your two drives (e.g. a 697MB and
a 329MB drive).  

You CAN install up to 2 WD7000 controllers in your system (DN3500/DN4500/DN5500).
The SCSI bus _must_ be disabled on the second controller.

You CAN install a SCSI cartridge drive or floppy, but only if you do not have a
non-SCSI one in place.  If you have a non-SCSI tape/floppy, you must disable the 
SCSI bus.

If the SCSI bus is enabled, you CAN add up to 7 SCSI devices total of CD-ROMS,
4mm drives, 8mm drives, and 9-track drives.  I'm not sure whether the 4mm drives
are explicitly supported, but I'm almost certain that I read somewhere that they 
work.  I've read that SCSI device 0 is reserved for the cartridge/floppy drive, 
but that might have changed.

The 8mm tape drives must be SCSI ids 1,2,3, or 4.  These correspond to devices
rmts8, 9, 10, and 11 (12-14 for non-rewinding devices).  Although wbak is not
officially supported on 8mm drives, it works fine at 10.3+ (and at 10.2?).  Use
m0 for SCSI id 1, m1 for SCSI id 2, etc.  There is a long pause before it starts
writing the tape with wbak.  The tar and omniback packages work just fine (as do
lots of other vendors' backup packages, I'm sure).

John Thompson
Design Services Engineer / Sys-Admin
Honeywell, SSEC
Plymouth, MN  55441
thompson@pan.ssec.honeywell.com

[ Also see the separate file "disk-info" .  -- Jim Rees ]


===============

 37)  I'm trying to get a SCSI-2 type disk to work with my Apollo but it
      does seem to work. What did I do wrong?

Answer:

NOTHING. But Apollo doesn't like to be hooked up to an SCSI-2 drive!

> These drives will work with 400's (and DN-2500's) if they are set to
> respond as SCSI-1 or SCSI-1/CCS devices. You need to execute the Change
> Definition SCSI command on the drive to change their response. Talk to
> your supplier and see if they will do this for you. (R Squared does this
> sort of thing all the time, besides (normally) providing manuals :-)
> 
> -- 
> -----
> +-+  Michael Lampi       lampi@polari.online.com
> |R|  R Squared           16398 NE 85th St., Suite 101, Redmond, WA 98052
> +-+                      (206) 883-3116       fax (206) 883-2676

Try using /systest/ssr_util/scsi_info to check what info is returned from
the drive. It probably claims to a a SCSI-2 device ... in which case the
Domain/OS SCSI disk software is going to refuse to deal with the drive.
Many disks can be configured as either SCSI-1 or SCSI-2 depending on their
jumper settings.

== Dave Krowitz

===============

 38)  What are the connections in a 3-way serial porst splitter.

I am trying to get a hold of the 3-way serial port splitter for a Apollo
3550 unit.  Would anyone have descriptions on building a cable for this.  At
this time work is unable to justify paying CDN$407 for such a cable.

 -- cgwong@faraday.physics.utoronto.ca (Clint Wong)

Answer:

Apollo 1 to 3 serial connector


Sio 1               Sio 2               Sio 3

 1  -  1             1  -  1             1  -  1
 7  -  7             7  -  7             7  -  7
 2  -  2             2  - 12             2  - 21
 3  -  3             3  - 13             3  -  9
 4  -  4             4  - 14             4  - 23
 5  -  5             5  - 15             5  - 10
 8  -  8             8  - 16             8  - 25
20  - 20            20  - 18            20  - 19

Where every first column is the connection to the divided stream.  The
second column indicates the connection made in the joined connector which
goes in the apollo's back.

 -- wjw@ebh.eb.ele.tue.nl (Willem Jan Withagen)


===============

 39)  Why do I get:
         Unable to go into maintenance state  User not authorized to
         perform operation (network computing system/Registry Server)

I use a cron to run a script as user root on a regular basis to backup the
registry.  I have been checking the log file recently and every time the
following error message appears:

  Unable to go into maintenance state  User not authorized to perform operation (network computing system/Registry Server)

Any ideas?

 -- robinb@resmel.bhp.com.au (Robin Brown)

Answer:

The registry service is a distributed application that uses an encryption
based authentication algorithm.  This means that breaking security on a 
single machine does not allow you to attack the registry database - you have
to have access to an administrator's password in order to perform updates
on the registry.

One workaround for the problem you are having is to make sure that cron
is running as the real "root" user.  To do this, don't run cron from the
/etc/rc script.  Instead, login as root and then run cron in the background
(I believe that the command "/etc/server -p /etc/cron" will protect the 
cron process from termination when root logs out.)  Don't forget the
"-p" option - this preserves the current user's identity.  If you leave
this out, cron will run as user.none.none and will not be able to perform
its normal tasks.

You need only do this on the machine that is responsible for performing
routine backups for the registry database.  All other machines can start
cron in the normal way.

Future distributed systems will have this behavior for most services.  For
example, the OSF DCE (Distributed Computing Environment) uses authentication
protocols for all distributed accesses (including access to files on non-local
machines).  Fortunately these systems come with better mechanisms for running
batch jobs from cron (unlike the "hack" I describe above).

 --pato@apollo.HP.COM (Joe Pato)


===============

 40)  Fixing your 19" monochrome monitor.

My 19 inch monochrome monitor has failed.  Video is fine, but horizontal
sync won't lock up.  How can I fix it for only $1 and half an hour of my
time?

Answer:

Subject:
 Apollo Domain 19 inch B&W monitor horizontal drift and
frequency vistability.

Problem Component:
 Capacitor C207, a frequency determining element in the
horizontal oscillator circuit IC202.  This circuit uses a NE555 I.C.
in an astable multivibrator configuration.  The original component was
a polystrene type capacitor which demonstrated a pronounced negative
temperature coeficient.

Fix: 
 Replace C207 with either a mylar film or a dipped mica 1000pF
capacitor.  The oscillator circuit has a fairly narrow range of
adjustment such that selection or trimming of value may be necessary.
The total value of the replacement capacitor in this case was 1195 pF
(1140pF in another).

Procedure:
 Set the horizontal frequency control to mid range.  Connect a
frequency counter to pin 3 of IC202 and select or trim the value of
C207 until the oscillator hasa free running frequency of 68.219KHz.
Free running operation occurs with the 9 pin computer connect cable is
disconnected.  After obtaining the desired frequency, reconnect the
computer cable.  The horizontal oscillator should lock immediately.
Adjust the horizontal frequency control through its entire range.  The
oscillator should stay locked throughout most if not all the
potentiometer range of adjustment.
 If drift in horizontal position occurs, it may be due to the
polystyrene capacitor C202 used with IC201 the horizontal positioning
one shot multivibrator.  Its value is also 1000pF and should be
replaced with a mylar or dipped mica type capacitor.

 -- Ricky Houghton <houghton@iuvax.cs.indiana.edu>


===============

 41)  How well does SLIP work?

Answer:

Gosh, I guess this needs to be added to the FAQ file, since I thought
I had seen it addressed before.

In any case, DOMAIN TCP/IP does support SLIP and I use it all the time
from my sr10.3 DN3000 at home connected via a pair of Telebit T2500s
running v.32 to a cisco terminal server.  The DCE/DTE connection is at
9600 baud; CTS/RTS flow control is enabled in the modem and the node.
I dial up to work using emt, get connected to the terminal server, give
it the "slip" command (which tells you what IP address you've been assigned
and then puts the line in SLIP mode), exit emt, and do something like:

    /etc/ifconfig sl0 <my ip address> <ip address of terminal server>
    /etc/route add default <ip address of terminal server> 0

It all works passably well.  It's hard to know which nuisances to attribute
to the modems, the phone line, SLIP in general, or DOMAIN TCP/IP.  It
works well enough so that I haven't delved into it.  (I used to use Telebit
PEP mode, which is pretty awful for SLIP, but barely tolerable.  My current
nuisance seems to be that the T2500s have some sort of bug that cause
them to hang the connection after an hour or so of use.  Others have
reported these symptoms on comp.dcom.modems in a non-DOMAIN environment,
so it looks like a modem, not a DOMAIN, bug.)

 -- Nat Mishkin
    Cooperative Object Computing Division / East
    Hewlett-Packard Company
    mishkin@apollo.hp.com

Some additional info:  The slip MTU is fixed at 1000.  If you're using a
slow line, you may want to start tcpd with the -p0 option (see the man
page).  - Jim Rees


===============

 42)  What are the internal names for the various node types?

Answer:

DN100/400/420/600 <no name> (sau1)
DN300/320/330  Swallow  (sau2)
DSP80/90  Sparrow  (sau3)
DN460/660  Tern  (sau4)
DN550/560  Stingray (sau5)
DN570/580/590-T  Banshee  (sau6)
DN3500   Cougar II (sau7)
DN4000   Mink  (sau7)
DN4500   Roadrunner (sau7)
DN3000   Otter  (sau8)
DN2500   Frodo  (sau9)
DN10000   AT  (sau10)
400s   Trailways (030: sau12, 040: sau11)
400t   Strider  (030: sau12, 040: sau11)
400e   Woody  (sau11)
DN5500   Leopard  (sau14)

 -- Nat Mishkin
    Cooperative Object Computing Division / East
    Hewlett-Packard Company
    mishkin@apollo.hp.com


===============

 43)  Where else can I go besides HP for repairs?

Answer:

I can recommend AMC Computer Services, Inc., 146-B Rangeway Rd.,
N. Billerica, MA., 01862.  Phone: (508)670-9395.  They're a group of
former Apollo employees who have formed their own depot repair facility
for Apollo.  They seem to possess considerable expertise and all of
our experiences so far have been very positive.

 -- HONEYWELL Third Party Computer Service  --  1(800) 525-7439 
    Mike Thomas, Senior Technician, Albuquerque, New Mexico
    honeywel@chama.eece.unm.edu   (505) 888-5820


===============

 44) How do I find out about, and fix, bad spots on my disk?

Answer:

I always use fixvol to reformat the track the bad spot is on.  If you would
rather just move the block into the badspot list, here's an excellent
description of the problem and fix, from Paul Szabo.  - Jim Rees

From: szabo_p@maths.su.oz.au (Paul Szabo)
Newsgroups: comp.sys.apollo
Subject: Bad blocks on disk (was: Re: SCSI disks on a HP 9000/400t)
Date: Mon, 4 Nov 91 18:34:24 EST
Organization: Mathematics, University of Sydney

This article describes how to get rid of bad blocks on disks. Bad blocks
will naturally develop during the useful life of the disk. There is no
cause for alarm as long as the total number or the rate of growth of bad
blocks is not excessive.

Once these bad blocks develop, they should be avoided (i.e. should not
be used). While the problems are intermittent or recoverable, you may be
inclined to put up with the problem. But bad blocks usually deteriorate,
and may cause your node to crash. (Our DN10000 developed a bad block in
a directory, and any access to this directory sometimes caused it to
crash.) Simply, you need to add the block numbers to the bad spot list
using INVOL.

If you are happy to wipe the disk and start from scratch, everything is
easy. Run EX DEX, RUN WIN (no defaults, all disk: start 0, end last
address, write enabled) and this will tell you about every single bad
block. Add these to the bad spot list using INVOL, re-format the disk,
and install the OS. There is no need to go to this extreme, however.

Get a listing of problem blocks using /systest/ssr_util/lsyserr. You
should use this periodically to monitor the behaviour of the disk. Look
for repeated problems with disk blocks; you may want to skip the
once-only problems. Use the physical disk addresses. (In case of striped
disks, ignore the RELATIVE addresses. Run the output of lsyserr through
"grep 'Phys daddr =' | sort | uniq -c".) You could also run EX DEX, RUN
WIN -ENTIRE. This will read all your disk (without re-formatting or
writing it).

You may simply tell INVOL about the bad block addresses, and then run
SALVOL to fix up the disk. This seems to work reasonably well, but then
... do you trust them (or any other Apollo utility :-) to work properly?
(Note that SALVOL occasionally uses addresses relative to a logical
volume, these are one smaller than the physical addresses. Then again,
the discrepancy is sometimes not one but two... this may be related to
a physical volume PV label on each of our striped disks.)

To give you confidence in what you are doing, you would like to know
what files are at those disk addresses.

You may use /systest/ssr_util/rwvol (select READ, enter DADDR, then just
[RETURN] for start and end) to display UIDs of objects, then
/systest/ssr_util/upath to display pathnames.

Probably it is easier to use /systest/ssr_util/fixvol (this has online
help, type help). Use the read command to display UIDs/pathnames:
(fv [p])> r 12345
   uid:       478771C7.3001A581 /y/sfw/reduce3.3/fasl/int.b
   page:      9
   dtm:       478774A5   Wednesday, December 20, 1989   11:40:12 am (EST)
   blk_type:  0 
   sys_type:  0 (file_$file_type)
   pad:       00000000 00000000
   checksum:  0000
   daddr:      12345 ( 163- 1- 0)  disk# 1

Now that you know the pathname, you may wish to move it somewhere 'out
of the way' and copy it back to its proper place
/bin/mv file /lost+found
/bin/cp -pPiov /lost+found/file dir
This may not be necessary, but it is cheap insurance.

It seems to me that you cannot do much about vtoce blocks:
(fv [p])> r 1234
   uid:       202.00000000 vtoc_$uid
   page:      1232
   dtm:       4AF72F18   Wednesday, June 13, 1990   9:53:49 am (EST)
   blk_type:  0 
   sys_type:  0 (file_$file_type)
   pad:       00000000 00000000
   checksum:  0000
   daddr:       1234 (  16- 2- C)  disk# 0

BEWARE: if the bad blocks are in the vtoc, then SALVOL may not be able
to fix up your disk, in which case you will have to wipe it and start
from scratch.

You are now ready to tell INVOL about the bad blocks.

Run SALVOL to fix the disk. SALVOL will find 'multiply allocated blocks'
(since they are also in the bad block list), and then go into 'second
pass' looking for these multiply allocated blocks. SALVOL will report to
fix some objects with the correct names, but for others it will report
to repair objects at 'vtocx = something' (when the block is not at the
beginning of the file?). It will attempt to copy the bad block somewhere
else, and usually it will succeed.

There is one problem with SALVOL. If the bad block is in a directory,
SALVOL will orphan the files catalogued there; but as it succeeds in
copying the bad block, the files will still be catalogued in the
original directory. When you boot the node, find_orphans will catalogue
these files in /lost+found, but the reference count (number of hard
links) will be wrong (one instead of two). If you remove the file
pointed to by /lost+found, then when listing the original directory you
get the message 'object not found'. Admittedly, SALVOL at the end of its
run said '... errors ... require that Salvol be run again ...' which I
did, but that did not seem to do anything. Maybe it needed find_orphans
between the two runs. Anyway, I made another copy of the files...


Appendix

The only manual I have on the workings of SALVOL is rather old:
'DOMAIN System Utilities', part no. 009414 Rev 00, Sept 1986.
Some quotes from this manual below. (The newer 'Domain Hardware
Utilities Reference', part no. 014881-A00, barely describes how to
use SALVOL.)


Classes of errors: ... 4. Multiply allocated blocks... allocated to
more than one file, or to a file and to a system structure, such as
the VTOC, the BAT or the badspot list....

The salvager attempts to repair multiply allocated blocks... if the
salvager finds a multiply allocated block and can determine which
file the block belongs to, then it sets the trouble flag only for
the non-owning file.

DOMAIN disk volumes are structured so that naming directories and
space/location information (in a VTOC) about files are kept
separately. Currently, the salvager does not synchronize these
on-disk structures. ... cannot detect orphans...

I/O errors that occur on physical and logical volume labels or on
the block availability table (BAT) are fatal to the salvager. All
other errors are reported, but are non-fatal.

Generally, the salvager always repairs the BAT (except in the case
of hard I/O errors) and the VTOC. Thus, if AEGIS badly malfunctions,
writing normal file blocks over the BAT or the VTOC blocks, for
example, the salvager repairs the BAT or VTOC and the file. To do
so, it copies the data into a newly allocated block and
reinitializes the overwritten block.

If a block is multiply allocated to both the badspot list and to a
file or a VTOC chain, the salvager tries to copy any potentially
valid data to a newly allocated block. If the block is in the
badspot list because of persistent device level errors, however, the
copy may fail; the salvager then prompts for alternatives. The
salvager and badspot listing cannot be used to correct persistent
errors in the BAT or VTOC hash space, however. The salvager aborts
in the former case, and simply reports the I/O error in the second
case. The only solution is to reinitialize the volume around such
badspots using INVOL.

 -- Paul Szabo       szabo_p@maths.su.oz.au


===============

 45)  Why does my dn10000 ethernet interface stop working?

Answer:

The solution is the new Ethernet board (part no. A1658-66016, rev. F), plus
the OS/TCP patches from the 9109 or later patch tape.  Note that there is a
second set of patches that are not on the 9109 tape, which you will
definitely need, and even those still have a problem with the "mbuf"s being
either all filled or not release properly (we are now having tcpd aborting
when it improperly frees a buffer).  This is still under investigation by HP
(call # A2055392).

-- Mike Peterson <system@alchemy.chem.utoronto.ca>

===============

 46)  Has anyone else experienced power-supply problems with their
      Apollo 10000.

>Has anyone else experienced power-supply problems with their
>Apollo 10000 purchased in 1988?  Specifically, I believe the
>problem has something to do with the +5V regulator in the
>power supply.

Answer:

We had to have it replaced.  It would just randomly cause the node to
crash.  The local FE told me it was a well known problem, I think with a
bad lot of capacitors that will fail early.

Mike

  Michael Zeleznik              Computer Science Dept.
                                University of Utah
  zeleznik@cs.utah.edu          Salt Lake City, UT  84112
                                (801) 581-5617
And:

We've had two distinct types of crashes on our 1988 10K.  The first was
definately a power supply problem - The system would randomly shut itself
down completely ie: all lights out.  Inspection of the tell tail leds
inside the box indicated that the 5v rail was low.  We've had the power
bricks replaced (twice!) and it seems to have fixed the problem.  The
other is also random but differs in that the shutdown is not complete.
The response center do not believe it is related but I'm not so sure.
The system is left at the IP0> prompt and we get error messages like:

Stop CPUs with NMI...
fault on CPU 0 (sometimes 1,2 or 3) pc= ...etc
bus/mmu execute trap: page fault fpc=frozen fa=frozen mmu_csr=0000008A

And:

   There is a SERVICE NOTE on the +5 V portion of the 10k
power supplies dated 18 June 1990.  A summary of the text follows:

DN100X0/DSP100X0
Serial Numbers: All

Date Code: All +5 Volt Booster Modules with 1988 Date Codes
Performed By: HP/Apollo Qualified Service Personnel Only
Parts Required: +5 Volt, 150W Control Module (APN 010524-001)

Situation:
A problem has been identified with the DN100X0/DSP100X0 power sys-
tems in both Manufacturing and the Field. The power system shuts down
due to a +5 Volt OV (Over Voltage) failure.

Having evaluated several Power EuroCards from Manufacturing and
returns from the field, R&D has identified an oscillation on some of the
+5 Volt Booster DC/DC Converters.  This oscillation forces the +5V
output voltage to exceed +5.3V dc and the microprocessor shuts down
the power system.

After having tested different +5 Volt Booster Module configurations,
R&D has concluded that Booster Modules with 1988 Datecodes are the
direct cause of the +5 Volt OV (overvoltage failures).

                             -jjw
waldram@grizzly.uwyo.edu

===============

 48) TCP/IP problem with routing

 If you are finding that anything depending on TCP/IP to a remote site
(i.e rlogin, ftp) disconnects you with a Network is unreachable error after a
short delay & everything looks okay, yet such things work to machines on the 
same site or subnet, then try the following:

  change the following line in /etc/rc.local

 /etc/tcpd

  to
 /etc/tcpd -b -p0

  This turns on directed broadcasts for gateway routers and turns off the
pinging of gateways (which is a weird thing to do, as attempting a connection
through a gateway is a pretty good test to see if its up + RIP packets should
keep one informed).

  Keith Marlow (marlow@sys.uea.ac.uk)

==============

 48)  Can I add serial ports to DN{345}x00 nodes

> I was wondering if anybody out there has had any experience with installing an 
> internal modem on a DN3X00.  
> What do i need to do in order for it to work.  
> Do i need a device driver.  If so does anybody have one written..

I've got a DN3000 on my desk and for a while it had a STANDARD
IBM-PC internal modem.  We used it for UUCP access to the
InterWorks node.  Our parent company got connected to UUNET and
so I hadn't used the modem in a long time.  When I tried to use
it again I didn't have immediate success, but I didn't try very
hard to make it work either.  Here is what I remember doing:

1. Yes, you need a device driver.
2. Apollo already has one.  It's called SPE and it supports 2
   serial ports and 1 parallel port.
3. If you configure the modem at address 3f8 and interrupt 4
   then you can use the 'spe_tty_sio1_ddf' to access the modem.
4. The SPE installation will create TWO serial device
   descriptions in /dev/global_devices.  You need to DELETE the
   one for spe sio2 since this device does not exist on your
   "SPE" card.  If you don't you will get an error message when
   you boot your machine.  It will be unable to initialize the
   second serial device.  If you don't delete it before you shut
   down the node, you will need to delete it from the phase II
   shell.

[AND]

I posted earlier how to added an internal modem card to an AT bus
DN series node.  I also stated that it wasn't working anymore.

Well...  I found the problem.  This particular card has the
configuration switch (COM1/COM2) is on the OUTSIDE.  Where it
could easily (and was) bumped and changed.  Once it was moved to
the correct position, everything worked like it always did.

There is now a V2.2 of SPE (which is REQUIRED for SR10.4 but
also runs on 10.1-10.3)

Lastly, be aware that Apollo warns of input overrun errors
when using the SPE ports at speeds above 4800 baud.  There is
insufficient buffering on the card to support these higher speeds
and you may loose data if the node is loaded.  Faster nodes
should have fewer problems, but your milage will vary.  Consult
the release notes that come with the SPE software.

Philip D. Pokorny
philip@cel.cummins.com

===============

 49) What is needed to run the Post-office deamon.

: =>
: =>   Has anyone sucessfully compiled a POPmail server on 
: =>an Apollo 425t running Domain OS 10.3.5.3 ? I would very 
: =>much like to get a POPmail server running on our Apollos 
: =>and would like any information from anyone that has succeeded
: =>at doing this.    Thanks in advance...   
: 
: I got ours just from either the NET or from the SUN lifeline mail package.
: I can't remember having to tweek it hard. (at least no notes of that).
: The only thing is that it runs wild now and then, it swamps the node with
: popd's ( >100), and the node has to be shut.
: Also is there a protocal violation on something, since the popd image goes
: to the ZOMBIE state and stays there until a new popd request comes in.
: 
: We're running 10.3.5 and 10.3.5.7 Full BSD.
: You can get our executable:
:  ftp.eb.ele.tue.nl:/pub/apollo/local/etc/popd
: 

I think that's version 2 of the protocol.  You might want to try version 3:

        ee.utah.edu:/pop3/popper-1.831beta.tar.Z

It installed without any problems on a DN3500/OS10.3 and seems to be 
working well with WinQVT/net running on a PC...

Bill Neisius
bill@solaria.hac.com

===============

 50)  MIT X11 R5 Core & GUI Classic Distribution

Due to popular demand, HP has made available via its InterWorks users group
the following distributions:

  o source and binaries for the entire generic MIT X11 R5 Core Distribution
    (including a sample server)
  o source for outdated or sample X user interface products

Ken Steege
kens@hpcvusc.cv.hp.com

===============

 51)  Funny Status codes and their backgrounds.
 (By many sources)

% stcode 1D01001E
Vendor "Apollo" can not be deleted (network license server/server)

How about 13010008:
trait not supported for wicked far-away objects (object based systems/trait
manager)
                         
My favorite is still 220009:
unit will not fit thru 25" hatch (OS/magtape manager)

This refers to a large computer manufacturer (former employer of some of the
Apollo OS folks) that once bid on a government contract to supply computing
equipment for use on board submarines.  They lost the contract when the
government discovered that the tape drive would not fit through the 25 inch
hatch used to load equipment onto a submarine.  Anything that won't fit
through the hatch has to be loaded by cutting a hole in the hull.

===============

 52)  What is the use of an ATR card in a HP9000/7xx?

In article <BxxJo6.3KH@apollo.hp.com>, giza@apollo.HP.COM (Peter E. Giza) writes:
|> Herb Peyerl Writes:
|> |>If you want to make the assumption that IP packets are encapsulated within 
|> |>DDS packets, then in order to make HP-UX reside on ATR, HP must then have 
|> |>ported DDS to HP-UX on 400's and 700's... That must mean 700's have 
|> |>node-ids. Somehow I doubt that.
|> 
|> 
|> Just for the record.  The ATR cards are same with the exception of
|> few changes for the HP.  The packets are encapsulated in a 73 byte
|> DDS header just like good ole Domain, this is all done at the driver
|> level for the card.  All of the DDS-like behaviour is from the driver
|> there is not a complete DDS port, just enough to make you pregnant.
|> 
|> -peg
|> 
|> Peter E. Giza HP DCE T&D ~:@)

Actually, the ATR card used in Snakes is *exactly* (I know, I spec'd it)
the same one used in the old DPCI-Ring product. That means it's the same
board as used in the DN4XXX-series, but with the Aegis boot PROM removed
and a node ID inserted in the socket that was always there (way back in
the REAL old days, you couldn't even boot an Apollo node without a 
network card in it because then it wouldn't have a node ID to generate
UIDs from, but somewhere along the line we got smart and started putting
them on the system board, but that's another story...). 

As to IP encapsulation on ATR, Pete is right, the entire basic DDS header, 
all *70* bytes of it, is there. It has to be or I'd have broken real
Domain nodes. Right after the DDS header is a little 12 byte header called
the DR header that Domain TCP uses for its own purposes. After that comes 
a conventional IP packet.

I *didn't* port DDS to HP-UX in order to get ATR support into it. That would
have been an extremely time-consuming effort with very little payoff. What I
did do is put enough support in the driver to be able to answer lcnode
(ask_who, ask_who_notopo, and ask_rem_who) requests, as well as ask_time,
ask_bldt, ask_diskless, and ask_node_root. lcnode I *had* to support. 
If I didn't, I'd again break the existing rings these nodes were destined
to go in to. The rest I put in because of the following scenario, which
in my opinion is very common:

    1) lcnode

       long list returned including some uncataloged nodes

    2) bdlt -n NNNNN

       where NNNNN is some uncataloged node's node id
       in this case, it turns out to be an HP-UX node, so we 
       return the same string which would be returned by a
       'uname -a' command

    3) ctnode foobar NNNNN -root

       this puts the node into the Domain NS Helper database
       the next time it is queried with an lcnode

I attempted to violate the "Principle of Least Astonishment" as little
as possible, but as Pete put it, we are "a little bit pregnant." There
are places where this scheme breaks down, such as the 'lcnode -from'
command when run from the other side of a Domain router or when 
the Domain Automount Daemon (damd) tries to make an NFS mount point in
the network root for a node that's already been cataloged this way, but
I figure it's still better than a poke in the eye with a sharp stick.
ATR on HP-UX is only intended to help customers transition from Domain
on ATR to HP-UX on a better network, either FDDI or Ethernet (let's please
not have a religious argument about how Ethernet isn't a better network than
ATR; the market has already decided that one...), not to be used as the 
core network of new installations. 

Well, this got kinda long, but I've been watching this argument fester on 
the net for a while and I just couldn't stay out of it any longer (fools
rush in...). I hope that my explanation helps clear up any questions that
may have been lingering. Even if you don't agree with my implementation
choices, at least now you have some idea why I did it the way I did.

BTW: I'm not the person who maintains this driver nowadays. That's done
     in another division by someone who still does lan drivers for a 
     living, so yelling at me to "FIX IT" won't have much effect. It's 
     not that I'm not sympathetic, but I don't even have access to the 
     code anymore.

Best regards to all of you who still love Domain. With any luck we'll have
something as good again someday.

-- 
Carl Davidson  (508) 436-4361  |
Chelmsford System Software Lab | Microkernels: Where less is more.
The Hewlett-Packard Company    | 
DOMAIN: ced@apollo.hp.com      |

===============

 53)  How do I get my Emacs keydefinitions back when running under X?

We have been using Leonard N Zubkoff's (lnz@lucid.com) Apollo customized
versions of GNU Emacs on our Apollos for some time now (latest version we have
installed is 18.57).  A month ago I started using X.  I quickly discovered
that all my Apollo function key and keypad key bindings (the gray keys), no
longer worked.  These bindings were made in my .emacs file using Zubkoff's
supplied function, bind-apollo-function-key, which is defined in
/gnuemacs/etc/apollo.el.

This meant, I first thought, that I would have to go through the painful
process of figuring out how to bind emacs functions to the gray keys under X
and then modify my .emacs file accordingly.  After talking to others who had
done this, I felt there had to be a better way, and there is!

The attached file, x-apollo-keys.el, solves the problem.  All Apollo keyboard
gray key bindings made in your .emacs file, which work under the DM, will now
work under X, as well.  The same .emacs will work for both.

All you have to do is place x-apollo-keys.el in your emacs load path and then
add the following line to your .emacs file:

                        (load "x-apollo-keys" nil t)
        
BEFORE any call to bind-apollo-function-key in your .emacs file.

That's it!

----------------------------------------------------------------------------
Kevin Gallagher        kgallagh@digi.lonestar.org OR ...!uunet!digi!kgallagh
DSC Communications Corporation   Addr: MS 152, 1000 Coit Rd, Plano, TX 75075
----------------------------------------------------------------------------

Maintainers note: 
	The file is ~350 lines, and is stored at:
	ftp.eb.ele.tue.nl:/pub/apollo/pd-progs/x-appolo-keys.emacs

===============

998)	 Former maintainer:
>	 I am no longer able to maintain this file, so its contents
>	 may be somewhat out of date.  The latest version of this file, and the
>	 auxiliary documents referred to here, are available by AFS in
>	 /afs/umich.edu/group/itd/archive/apollo or by anonymous ftp at
>	 archive.umich.edu ("cd apollo").

>	 -- Jim Rees, University of Michigan IFS Project, March 1992

===============

999)	 Contributers.

	     Well there are a lot more people who give sensible answers, so
	     If you feel left out. Please let me know. (WjW)
	     (And they are in the order in which they appeared in the original FAQ)

	     Jim Rees              jim.rees@umich.edu
	     John Thompson (jt)    thompson@pan.ssec.honeywell.com
	     Greg Rocco            rocco@ll.mit.edu
	     Jim Richardson        jimr@maths.su.oz.au
	     Ian Hoyle             ianh@bhpmrl.oz.au
	     Paul Killey           paul@CAEN.ENGIN.UMICH.EDU
	     Bruce Orchard         orchard@eceserv0.ece.wisc.edu
	     Annegret Liebers      annegret@combi.math.tu-berlin.de
	     Willem Jan Withagen   wjw@eb.ele.tue.nl
	     Fred Stluka           stluka@software.org
	     Carlton B. Hommel     carlton@apollo.hp.com
	     John A. Breen
	     Walt Weber            weber_w@apollo.HP.COM
	     Leonard N. Zubkoff
	     Michael K. Gschwind   mike@vlsivie.tuwien.ac.at
	     Harald Hanche-Olsen   hanche@imf.unit.no
	     Bryan Province        bep@quintro.uucp
	     Carl Heinzl           carl@Cayman.COM
	     Jinfu Chen            chen@digital.sps.mot.com
	     David Todd            hdtodd@eagle.wesleyan.edu
	     David Krowitz         krowitz@richter.mit.edu
	     Paul Szabo            szabo_p@maths.su.oz.au
	     Frank Teusink         frankt@cwi.nl
				   rmallett@ccs.carleton.ca
	     Eric Bratton          ericb@caen.engin.umich.edu
	     John Vasta            vasta@apollo.hp.com
	     Dave Clemans          dclemans@mentorg.com
	     Peter Kutschera
	     Michael Lampi         lampi@polari.online.com
	     Clint Wong            cgwong@faraday.physics.utoronto.ca
	     Robin Brown           robinb@resmel.bhp.com.au
	     Joe Pato              pato@apollo.HP.COM
	     Ricky Houghton        houghton@iuvax.cs.indiana.edu
	     Nat Mishkin           mishkin@apollo.hp.com
	     Mike Thomas           honeywel@chama.eece.unm.edu
	     Mike Peterson         system@alchemy.chem.utoronto.ca
	     Michael Zeleznik      zeleznik@cs.utah.edu
	     Jim Waldram           waldram@grizzly.uwyo.edu
	     Keith Marlow 	    marlow@sys.uea.ac.uk
	     Philip D. Pokorny     philip@cel.cummins.com
	     Bill Neisius          bill@solaria.hac.com
	     Ken Steege	    kens@hpcvusc.cv.hp.com
	     Robert Stanzel	    rps@APOLLO.HP.COM
	     Carl Davidson         ced@apollo.hp.com
 
Digital Information Systems Group, Room EH 10.35 
Eindhoven University of Technology   
P.O. 513                     		Tel: +31-40-473401,Fax: +31-40-448375
5600 MB Eindhoven            		The Netherlands