steve@lpi3230.UUCP (Steve Burbeck) (02/20/85)
<bug food>
We have a 3230 with 7 Megabytes and two selches. We have interfaced
an Optronics film scanner to this machine via a ULI (PE Universal Logic
Interface) board which is installed under the second selch along with an
IDC disc controller. The first selch has another disc controller.
The device is interrogated via rh() and ss() calls (i.e., read halfword
and sense status -- see mch.s for the assembler code) and controlled
via wh() and oc() calls (write halfword and output char). A scan line
of data (up to 1024 pixels) is input to a memory buffer via the selch.
Our problem is that the driver sometimes never returns from a selch
transfer as if the selch never got enough data. This leaves the selch
frozen. I'm posting this in hopes that someone has a solution.
My first suspicion would be a hardware problem with the Optronics or the
ULI interface except for two facts: 1) it only happens when the system is
heavily loaded with large processes (which presumably can have no effect
on either the scanner or the ULI hardware), and 2) we have already
discovered some rather bizzare software problems that looked much like
hardware problems. For instance -- DID YOU KNOW that if the selch under
which the ULI is installed is busy with a disc transfer, then wh(), oc(),
rh(), and ss() HAVE NO EFFECT WHATEVER on the ULI and there is no
indication whatever that the instructions failed except in the case of
ss() which returns 0x04 when the device was not reachable? We didn't
either until long hours of effort finally pointed in that direction and
more effort finally dug up a comment to that effect in the processor
manual. Most of our lock ups were fixed by always ensuring that the
device was reachable by issuing as ss() just before sending the control
command. Now the scanner will work merrily until we fire up a Lisp
processes (1.25 meg). Then it locks up. Perhaps the long disc transfers
on the first selch (where swap lives) have something to do with it?
Could it be related to our two selches? Can anyone tell we what
interaction if any there is between two selches (either hardware or
software)? Does anyone else have more than one selch on a PE Unix system?
If so, have you written any drivers for devices under one of the selches?
We do not have source, so we have had to learn the hard way, and may well
have missed something that is obvious with plentiful source examples.
Steve Burbeck
Linus Pauling Institute
440 Page Mill Road
Palo Alto, CA 94306
...!hplabs!{analog,pesnta}!lpi3230!steve