From: aki@akix.UUCP (Aki Atoji)
Subject: Re: SCSI Arrbitration/Selection on HP-UX
Organization: CxS Technologies
Date: Wed, 14 Oct 1992 04:17:43 GMT


[I missed the original post]

>>In article <r16c3a0@zuni.esd.sgi.com> olson@anchor.esd.sgi.com (Dave Olson) writes:
>> In <16887@pitt.UUCP> batman@mb5000.anes.upmc.edu (William E. Madden Jr.) writes:

>> | When we run a SCSI inquiry command on HP-UX, we see the ATTN line go
>> | high, but not the SELECT line. We trap the interrupt comming from the
>> | select line to initiate our handler.
>> 
>> Perhaps you have programmed things wrong on your side?  Have you
>> looked at the bus with an analyzer?

This reminds me of the time when I worked on 5380 (the SCSI latch
chip).  While probing pins on it to debug it after a really tiring
day, I would miscount the PLCC pins and freak out about how RST line
is true (it's right next to ground pin) or how ATN is true instead of
SEL (also right next to each other).

>> | So, riddle me this, Caped Crusaders,
>> | If the Fujitsu Chip is combining arbitration and selection into one 
>> | phase, as is stated in the tech ref, would this possibly prevent the
>> | SELECT line on the NS chip from ever going high?  If anyone could think
>> | of another reason the line wouldn't go high, we're intersted in that 
>> | idea too.  :-)

When you are trying to talk to a device on the SCSI bus as an
initiator, you *always* have to arbitrate then do a selection.  From
the software's point of view, all you are trying to do is to select a
target.  But SCSI bus being what it is, you have to wait for bus free,
then arbitrate, then you can finally do a selection.  So, on most SCSI
controller chips these days, when you want to select a target, you can
have the chip automatically do an arbitration, do selection, then tell
you when the target has been selected.  This is what they mean by
'selection with arbitration'.  But if you look at the SCSI bus, the
arbitration and selection are still two separate phases.  It's just
that the chip is smart enough to do arbitration for you when you want
to select a device.  

I was fortunate/unfortunate enough to learn this stuff on 5380, which
basically is a straight through buffer to the SCSI bus, forcing you to
toggle each control lines manually, thus controlling the phase.

Also, I'm not really familiar with the NS chip, but I can't really
imagine a chip dumb enough to cause interrupt every time SEL line
became true.  Perhaps you mean that the chip will generate an
interrupt once it is 'selected'.  In that case, there can be several
reason why this doesn't happen, such as SCSI ID not properly set in
the chip (it would have to know it's own ID for it to know that it is
being selected), interrupt not enabled, etc.

It also could be that there is something wrong with the connection
(i.e. improper termination, bad cable, etc.) and you aren't getting
past the arbitration.


-- 
---------------------------------------------------------------------------
Aki Atoji              Unix, X, Networking and Embedded Realtime Consulting
           aki@akix.uucp                      crash!akix!aki@trout.nosc.mil
---------------------------------------------------------------------------
Newsgroups: comp.periphs.scsi