Subject: port-alpha/25831: AlphaServer 1200/DEC Server 5000 with dual SCSI card hangs probing 2nd SCSI bus
To: None <gnats-bugs@gnats.netbsd.org>
From: None <mhitch@NetBSD.org>
List: netbsd-bugs
Date: 06/05/2004 13:32:18
>Number:         25831
>Category:       port-alpha
>Synopsis:       AlphaServer 1200/DEC server 5000 with dual SCSI card hangs probing 2nd SCIS bus
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 05 19:33:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Michael L. Hitch
>Release:        NetBSD 2.0E and earlier
>Organization:
	
>Environment:
	
	
System: NetBSD 2.0_BETA (INSTALL) #2: Fri Jun  4 11:08:34 MDT 2004
        mhitch@neverland.msu.montana.edu:/usr/home/mhitch/NetBSD-2-0/OBJ/alpha/sys/arch/al
	pha/compile.alpha/INSTALL
Architecture: alpha
Machine: alpha
>Description:
	
	The dual-SCSI/ethernet combo card on the AlphaServer 1200/DEC Server
	5000 machines will hang when probing the second SCSI bus on the
	combo card.  In addition, if you can get past that hang, the
	ethernet on the combo card fails with timeouts.

	The combo card consists of a DEC 21152 PCI-PCI Bridge with two
	Symbios 53c875 SIOP chips and a DEC tulip ethernet chip behind
	the bridge.

	It appears to be that the first SIOP processor on the card functions
	normally, but the second SIOP processor and the ethernet interface
	fail to generate interrupts.  My guess is that the interrupt "swizzling"
	and/or routing is not being done correctly.  In addition, the siop
	driver appears to be unable to recover from a timeout when it's
	probing for attached devices.

	The msgbuf and an SRM show config follow.

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 2.0_BETA (INSTALL) #2: Fri Jun  4 11:08:34 MDT 2004
        mhitch@neverland.msu.montana.edu:/usr/home/mhitch/NetBSD-2-0/OBJ/alpha/sys/arch/alpha/compile.alpha/INSTALL
DIGITAL Server 5000 Model 5300 6400A 5/400 4MB, 400MHz, s/n NI82704MWA
8192 byte page size, 1 processor.
total memory = 128 MB
(2056 KB reserved for PROM, 125 MB used by NetBSD)
avail memory = 115 MB
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21164A-2
cpu0: Architecture extensions: 1<BWX>
mcbus0 at mainbus0: 4MB BCache
mcmem0 at mcbus0 mid 1: Memory
mcpcia0 at mcbus0 mid 5: PCI Bridge
mcpcia0: Horse Revision 3, Left Handed Saddle Revision 4, CAP Revision 2
pci0 at mcpcia0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
siop0 at pci0 dev 1 function 0: Symbios Logic 53c810 (fast scsi)
siop0: interrupting at kn300 irq 36
scsibus0 at siop0: 8 targets, 8 luns per target
ex0 at pci0 dev 4 function 0: 3Com 3c905B-TX 10/100 Ethernet (rev. 0x24)
ex0: interrupting at kn300 irq 48
ex0: MAC address 00:50:04:10:bc:ae
exphy0 at ex0 phy 24: 3Com internal media interface
exphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
mcpcia1 at mcbus0 mid 4: PCI Bridge
mcpcia1: Horse Revision 3, Left Handed Saddle Revision 4, CAP Revision 2
pci1 at mcpcia1 bus 0
pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pceb0 at pci1 dev 1 function 0: vendor 0x8086 product 0x0482 (rev. 0x15)
vga0 at pci1 dev 2 function 0: vendor 0x5333 product 0x8811 (rev. 0x54)
wsdisplay0 at vga0 (kbdmux ignored)
ppb0 at pci1 dev 3 function 0: vendor 0x1011 product 0x0024 (rev. 0x02)
pci2 at ppb0 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
siop1 at pci2 dev 0 function 0: Symbios Logic 53c875 (ultra-wide scsi)
siop1: using on-board RAM
siop1: interrupting at kn300 irq 12
scsibus1 at siop1: 16 targets, 8 luns per target
siop2 at pci2 dev 1 function 0: Symbios Logic 53c875 (ultra-wide scsi)
siop2: using on-board RAM
siop2: interrupting at kn300 irq 13
scsibus2 at siop2: 16 targets, 8 luns per target
tlp0 at pci2 dev 2 function 0: DECchip 21140A Ethernet, pass 2.2
tlp0: interrupting at kn300 irq 14
tlp0: Ethernet address 00:06:2b:00:52:52
nsphy0 at tlp0 phy 5: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
eisa0 at pceb0
isa0 at pceb0
lpt0 at isa0 port 0x3bc-0x3bf irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0 (mux ignored)
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 (mux ignored)
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible
md0: internal 4650 KB image area
scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
scsibus2: waiting 2 seconds for devices to settle...
st0 at scsibus0 target 5 lun 0: <DEC, TLZ07     (C)DEC, 553B> tape removable
st0: drive empty
st0: async, 8-bit transfers
cd0 at scsibus0 target 6 lun 0: <DEC, RRD46   (C) DEC, 1337> cdrom removable
cd0: sync (100.00ns offset 8), 8-bit (10.000MB/s) transfers
sd0 at scsibus1 target 0 lun 0: <SEAGATE, ST34371W, 0860> disk fixed
sd0: 4095 MB, 5899 cyl, 10 head, 142 sec, 512 bytes/sect x 8388315 sectors
sd0: sync (50.00ns offset 15), 16-bit (40.000MB/s) transfers, tagged queueing
sd1 at scsibus1 target 1 lun 0: <Quantum, XP34550J, LYJ2> disk fixed
sd1: 4095 MB, 5899 cyl, 10 head, 142 sec, 512 bytes/sect x 8388315 sectors
sd1: sync (50.00ns offset 16), 16-bit (40.000MB/s) transfers, tagged queueing
sd2 at scsibus1 target 2 lun 0: <DEC, RZ29B    (C) DEC, 0014> disk fixed
sd2: 4091 MB, 3708 cyl, 20 head, 113 sec, 512 bytes/sect x 8380080 sectors
sd2: sync (100.00ns offset 15), 16-bit (20.000MB/s) transfers, tagged queueing
probe(siop2:0:0:0): command timeout, CDB: 0x12 00 00 00 24 00



P00>>>show config
                           Digital Equipment Corporation
                        DIGITAL Server 5000 Model 5300 6400A

 Console V5.2-1  OpenVMS PALcode V1.19-16, Digital UNIX PALcode V1.21-24

 Module                          Type     Rev    Name
 System Motherboard              0        0000   mthrbrd0
 Memory   64 MB DIMM             0        0000   mem0
 Memory   64 MB DIMM             0        0000   mem1
 CPU (4MB Cache)                 3        0003   cpu0
 Bridge (IOD0/IOD1)              600      0032   iod0/iod1
 PCI Motherboard                 a        0004   saddle0

 Bus 0  iod0 (PCI0)
 Slot   Option Name              Type     Rev    Name
 1      PCEB                     4828086  0015   pceb0
 2      S3 Trio64/Trio32         88115333 0054   vga0
 3      PCI-PCI Bridge           241011   0002   pcb0

 Bus 1  pceb0 (EISA Bridge connected to iod0, slot 1)
 Slot   Option Name              Type     Rev    Name
 Bus 2  pcb0 (PCI-PCI Bridge connected to iod0, slot 3)
 Slot   Option Name              Type     Rev    Name
 0      NCR 53C875               f1000    0004   ncr1
 1      NCR 53C875               f1000    0004   ncr2
 2      DECchip 21140-AA         91011    0022   tulip0

 Bus 0  iod1 (PCI1)
 Slot   Option Name              Type     Rev    Name
 1      NCR 53C810               11000    0002   ncr0
 4      Ethernet                 905510b7 0024   unknown0
P00>>>show device
polling ncr0 (NCR 53C810) slot 1, bus 0 PCI, hose 1 À  SCSI Bus ID 7
mka500.5.0.1.1     MKa500                   TLZ07  553B
dka600.6.0.1.1     DKa600                   RRD46  1337
polling floppy0 (FLOPPY) PCEB - XBUS hose 0
dva0.0.0.1000.0    DVA0                      RX23
polling ncr1 (NCR 53C875) slot 0, bus 2 PCI, hose 0   SCSI Bus ID 7
dkb0.0.0.2000.0    DKb0                     SEAGATE ST34371W  0860
dkb100.1.0.2000.0  DKb100                   Quantum XP34550J  LYJ2
dkb200.2.0.2000.0  DKb200                   RZ29B  0014
polling ncr2 (NCR 53C875) slot 1, bus 2 PCI, hose 0   SCSI Bus ID 7
polling tulip0 (DECchip 21140-AA) slot 2, bus 2 PCI, hose 0
ewa0.0.0.2002.0    00-06-2B-00-52-52    FastFD (Full Duplex)
>How-To-Repeat:
	Attempt to boot NetBSD on a DEC Server 530x (Alpha Server 1200)
	and watch it hang when the device probe on the second SIOP adapter
	on the combo card times out.
>Fix:
	Presuming that it's just and interrupt setup problem, locate and
	correct it.  My knowledge if PCI buses, PCI-PCI bridges, and the
	handling of PCI interrupts is almost non-existant, so I haven't
	been able to determine where the problem is.

	I was able to get a system installed by booting the install kernel
	into DDB, placing a breakpoint in the SIOP match code, and getting
	it to skip the configuration of the 2nd 53c875.  Once I had a
	system installed, I was able to install a modified kernel that
	had only the working siop adapters configured.
>Release-Note:
>Audit-Trail:
>Unformatted: