Date: Wed, 29 Jul 1998 16:20:48 -0400 (EDT) From: "Robert G. Brown" <rgb@phy.duke.edu> To: aic7xxx Mailing List <AIC7xxx@FreeBSD.ORG> Subject: 7890 scsi.o dump Message-ID: <Pine.LNX.3.96.980729155130.2946A-100000@drupadi.phy.duke.edu>
next in thread | raw e-mail | index | archive | help
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@phy.duke.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe aic7xxx" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.96.980729155130.2946A-100000>