Subject: port-alpha/10410: isp driver problems with cd drives (alpha, 1.4Z)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <kre@munnari.OZ.AU>
List: netbsd-bugs
Date: 06/21/2000 16:41:13
>Number:         10410
>Category:       port-alpha
>Synopsis:       Weird errors/panics with the isp driver in 1.4Z
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 21 16:42:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Robert Elz
>Release:        NetBSD-current 20000527
>Organization:
	University of Melbourne
>Environment:
	
System: NetBSD lavender.cs.mu.OZ.AU 1.4ZD NetBSD 1.4ZD (LAVENDER) #2: Wed Jun 21 08:26:46 EST 2000 kre@lavender.cs.mu.OZ.AU:/usr/src/sys/arch/alpha/compile/LAVENDER alpha

	This is a PC164 alpha, the problem is with the INSTALL kernel
	in the 20000527 snapshot.

>Description:
	I have a Qlogic 1020, with a CD drive (actually 2) connected.
	I attempted to use that to install the 20000527 alpha snapshot.
	No problem booting from the CD, nor in partitioning the root
	drive (sd0 - on the isp), but, when attempting to unpack the
	sets...


	isp0: SCSI bus 3 reset detected
	isp0: mbox cmd 15 failed with COMMAND_ERROR
	isp0: isp_control MBOX_ABORT failure (code 4005)
	isp0: isp_watch failed to abort command
	isp0: Internal FW Error @ RISC Addr 0x20e7
	isp0: command for fast posting handle 0xffffffff not found
	isp0: timeout initiated SCSI bus reset of bus 0
	isp0: SCSI bus 3 reset detected

scsi id 3 is the CD (relevant earlier boot messages follow):

NetBSD 1.4Z (INSTALL) #4: Sun May 28 14:25:56 PDT 2000
    root@frau-farbissina:/amd/swinger/u1/snapshots/src/sys/arch/alpha/compile/INSTALL
Digital AlphaPC 164 500 MHz
[...]
pci0 at cia0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
isp0 at pci0 dev 5 function 0
isp0: interrupting at eb164 irq 2
scsibus0 at isp0: 16 targets, 8 luns per target
[...]
scsibus0: waiting 2 seconds for devices to settle...
isp0: SCSI bus 0 reset detected
sd0 at scsibus0 target 0 lun 0: <SEAGATE, ST34520N, 1498> SCSI2 0/direct fixed
sd0: 4340 MB, 9006 cyl, 4 head, 246 sec, 512 bytes/sect x 8888924 sectors
isp0: SCSI bus 1 reset detected
sd1 at scsibus0 target 1 lun 0: <SEAGATE, ST34520N, 1498> SCSI2 0/direct fixed
sd1: 4340 MB, 9006 cyl, 4 head, 246 sec, 512 bytes/sect x 8888924 sectors
isp0: SCSI bus 3 reset detected
cd2 at scsibus0 target 3 lun 0: <TEAC, CD-ROM CD-532S, 1.0A> SCSI2 5/cdrom remov
able
isp0: SCSI bus 5 reset detected
cd3 at scsibus0 target 5 lun 0: <TEAC, CD-ROM CD-532S, 1.0A> SCSI2 5/cdrom remov
able

(and yes, I had to mknod the /dev/entries for cd2 to use it).

I tried it all again, this time it managed to access the CD OK, but
while extracting the base set (or maybe etc) gave a long sequence of
messages similar to (and ending with) ...

isp0: NULL xs in xflist (handle 0x5a)
isp0: NULL xs in xflist (handle 0x5b)
isp0: NULL xs in xflist (handle 0x5c)

And then, while unpacking comp.tgz (immediately after) ..

fatal kernel trap: 

    trap entry = 0x2 (memory management fault)
    a0         = 0xfffffe000737ff2c 
    a1         = 0x1
    a2         = 0x0
    pc         = 0xfffffc000044f1b0
    ra         = 0xfffffc000044f170
    curproc    = 0xfffffc0001bf6ed0
        pid = 109, comm = pax

db> trace
db> ps
 PID             PPID       PGRP        UID S   FLAGS          COMMAND    WAIT
 111              109        109          0 3  0x4086              cat   netio
 110              109         16          0 3    0x86          sysinst   ttyin
>How-To-Repeat:

	Attempt installing the 20000527 alpha snapshot from a CD
	connected to a qlogic 1020.   Weird things might happen.
	If they don't, try again...  (whether it is necessary to
	have just booted form the CD to get the wierdness don't know).

>Fix:

	Sorry, no idea.  About all I can say is that the isp driver
	used to work quite well, up to the time when there was that
	issue of the copyrights/licences on the qlogic firmware.
	Since then, it has given all kinds of trouble.  In particular
	with 1.4ZD I get ...

	isp0: Board Revision 1020, loaded F/W Revision 4.65.0
	isp0: Last F/W revision was 5.57.1

	Before the driver changes it used to load a firmware rev
	that was much greater than the 5.57.1 that is in the proms.
	tru64 doesn't touch the firmware, just leaves 5.57 there.
	FreeBSD 3.2 (which I no longer have installed, but tried
	briefly some tme ago) installed 7.something.
>Release-Note:
>Audit-Trail:
>Unformatted:
 >109               16        109          0 7  0x4006              pax
  16                 5         16          0 3  0x5086          sysinst  select
  5                  1          5          0 3  0x4086               sh    wait
  4                  0          0          0 3 0x20204          ioflush  syncer
  3                  0          0          0 3 0x20204           reaper  reaper
  2                  0          0          0 3 0x20204       pagedaemon daemon_
  1                  0          1          0 3  0x4084             init    wait
  0                 -1          0          0 3 0x20204          swapper schedul
 
 
 Since this was from inside sysinst, it is possible that I messed up
 (slightly) extracting the messages, or missed some, but this was about it.
 
 I ended up booting from the scsi cd drive, then moving the cd to an IDE
 drive, and doing the install from that one instead.
 
 Then I compiled 1.4ZD (-current as of last weekend - from the tarballs)
 and haven't seen problems like this again.  From that I'd conclude that
 either the isp driver has been fixed in the interim (but I don't recall
 seeing any cvs messages about changes to the isp driver in the past
 few weeks), or the INSTALL kernel is doing something weird, or who knows...
 (It may just be that I haven't exercised the CD drive enough since
 installing the 1.4ZD kernel).
 
 Also, the isp driver is apallingly noisey, especially when the kernel
 is compiled with DEBUG enabled - but even with just DIAGNOSTIC
 I still get way too many of ...
 
 isp0: Bus 0 Target 0 at 10MHz Max Offset 12, Tagged Queueing Enabled
 isp0: Bus 0 Target 0 at 10MHz Max Offset 12, Tagged Queueing Enabled
 isp0: Bus 0 Target 0 at 10MHz Max Offset 12, Tagged Queueing Enabled
 isp0: Bus 0 Target 0 at 10MHz Max Offset 12, Tagged Queueing Enabled
 
 type messages, which don't seem to mean anything at all (the target
 varies depending upon which device happens to be being accessed).