7890 scsi.o dump

Robert G. Brown rgb at phy.duke.edu
Wed Jul 29 13:21:33 PDT 1998


Dear Doug and listpersons,

I have isolated the specific point of failure in the aic7xxx
initialization sequence by turning on DEBUG in drivers/scsi.c to trace
its execution.  The 7860 appears to come up normally and first (as host
0) and correctly probes the device and finds the attached CD-ROM, so I
can use the trace of this as "normal".  For each scsi id 0-6 the
following general sequence is followed:

scsi_do_cmd(0,0,X = scsiid)
with cmd
00 00 00 00 00 00 1c 00 4c 00

It then executes scsi_done to check and process the result code, e.g.

scsi_done(host = 0, result = RRXXXX)

for the CD ROM it returns 000002, for example.  If no device is found
it returs 030000, where the 03 means "did timeout".  It then calls
(for the CD ROM)
scan_scsis_done(an address,28000002) where the 28 is the "driver byte"
and means "invalid,SUGGEST_ABORT" (don't ask me, I'm just reporting:-).
For a nonexistant device it does 26030000, where the 26 is
TIMEOUT,SUGGEST_ABORT.  In that case it retries a couple of times
before concluding that there is no device.

If there is a device (presumably flagged by the 0002 return code) it
does an INQUIRY command
12 00 00 00 ff 00 1c 00 4c 00
scsi_done(host = 0, result = 000000)
COMMAND COMPLETE, status FINISHED
INQUIRY successful with code 0x0
and announces the vendor/type of the attached device.  I'm hoping that
this is "normal" -- I'll boot a functioning system in a bit to check.

NOW, when it gets to host=1 (the 7890) I see the following sequence:

scsi_do_cmd(1,0,0) (probe device 0, lun 0, host 1)
00 00 00 00 00 00 1c 00 4c 00
scsi_done(host = 1, result = 000000)
COMMAND COMPLETE, status FINISHED (which I believe is WRONG!)
scan_scsis_single with driverbyte 00, hostbyte 00 (which means
everything is just great) and then an
INQUIRY
12 00 00 00 ff 00 1c 00 4c 00
It leaves the command, presumably to enter scsi_done.  

IN scsi_done, BEFORE it announces the host=1, status=RRXXXX line, it
barfs.  In fact I get:

(scsi1) BRKARRDINT error(0x10)
  Data-Path RAM Error
(scsi1) SEQADDR (0x9)

and we go into the full aic7xxx maximally verbose dump.  Note that I
get NO NMI error loading as a module, and that the system boots
normally and runs perfectly (diskless, of course) until I load the
module.

Now, I don't know where the error is actually occurring -- yet.
However, I can and will add some more output to scsi.c to see if it
gets anywhere at all in scsi_done.

I don't know if this information is useful to anyone, but it seems
like it might be and it seems relevant to the problem I'm observing.

   rgb

Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu




To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message



More information about the aic7xxx mailing list