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