Subject: port-sparc/16204: Sbus/QEC (Quad Ethernet Controller) does not work right in SPARC LX
To: None <gnats-bugs@gnats.netbsd.org>
From: Erik E. Fair <fair@ipswitch.clock.org>
List: netbsd-bugs
Date: 04/04/2002 16:56:53
>Number:         16204
>Category:       port-sparc
>Synopsis:       Sbus/QEC (Quad Ethernet Controller) does not work right in SPARC LX
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 04 16:58:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Erik E. Fair
>Release:        NetBSD 1.5.3_RC1
>Organization:
	The NetBSD Project
>Environment:
	
System: NetBSD ipswitch.clock.org 1.5.3_RC1 NetBSD 1.5.3_RC1 (ROUTER4M) #3: Mon Apr 1 21:42:20 PST 2002 fair@ipswitch.clock.org:/usr/obj/sys/arch/sparc/compile/ROUTER4M sparc

NetBSD 1.5.3_RC1 (ROUTER4M) #3: Mon Apr  1 21:42:20 PST 2002
    fair@ipswitch.clock.org:/usr/obj/sys/arch/sparc/compile/ROUTER4M
total memory = 97812 KB
avail memory = 88148 KB
using 896 buffers containing 4992 KB of memory
bootpath: /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@0,0
mainbus0 (root): SUNW,SPARCstation-LX
cpu0 at mainbus0: TMS390S10 @ 50 MHz, on-chip FPU
cpu0: physical 4K instruction (32 b/l), 2K data (16 b/l): cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08 (eeprom)
timer0 at obio0 slot 0 offset 0xd00000 delay constant 23
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at obio0 slot 0 offset 0x0 level 12 softpri 6
kbd0 at zs1 channel 0
ms0 at zs1 channel 1
slavioconfig at obio0 slot 0 offset 0x800000 not configured
auxreg0 at obio0 slot 0 offset 0x900000
power0 at obio0 slot 0 offset 0x910000 level 2
SUNW,fdtwo at obio0 slot 0 offset 0x400000 level 11 not configured
iommu0 at mainbus0 addr 0x10000000: version 0x1/0x4, page-size 4096, range 64MB
sbus0 at iommu0: clock = 25 MHz
dma0 at sbus0 slot 4 offset 0x8400000: rev 2
esp0 at dma0 slot 4 offset 0x8800000 level 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
bpp0 at sbus0 slot 4 offset 0xc800000 level 2 (ipl 3): rev 2
ledma0 at sbus0 slot 4 offset 0x8400010: rev 2
le0 at ledma0 slot 4 offset 0x8c00000 level 6: address 08:00:20:19:c2:65
le0: 8 receive buffers, 2 transmit buffers
qec0 at sbus0 slot 0 offset 0x20000 level 4 (ipl 7): 128K memory
qe0 at qec0 slot 0 offset 0x0 rev 1 address 08:00:20:19:c2:65
qe1 at qec0 slot 1 offset 0x0 rev 1 address 08:00:20:19:c2:65
qe2 at qec0 slot 2 offset 0x0 rev 1 address 08:00:20:19:c2:65
qe3 at qec0 slot 3 offset 0x0 rev 1 address 08:00:20:19:c2:65
hme0 at sbus0 slot 1 offset 0x8c00000 level 4 (ipl 7): address 08:00:20:19:c2:65
nsphy0 at hme0 phy 1: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
SUNW,fas at sbus0 slot 1 offset 0x8800000 level 3 (ipl 5) not configured
SUNW,DBRIe at sbus0 slot 2 offset 0x10000 level 9 not configured
cgsix0 at sbus0 slot 3 offset 0x0 level 9: SUNW,501-1672, 1152 x 900, rev 8
cgsix0: attached to /dev/fb
scsibus0: waiting 2 seconds for devices to settle...
probe(esp0:0:0): max sync rate 10.00MB/s
sd0 at scsibus0 target 0 lun 0: <QUANTUM, FIREBALL1080S, 1Q09> SCSI2 0/direct fixed
sd0: 1042 MB, 3835 cyl, 4 head, 139 sec, 512 bytes/sect x 2134305 sectors
root on sd0a dumps on sd0b
root file system type: ffs

>Description:
	Only the first interface works (i.e. can send/receive packets).

	at device autoconfig time:

	qec0 at sbus0 slot 0 offset 0x20000 level 4 (ipl 7): 128K memory
	qe0 at qec0 slot 0 offset 0x0 rev 1 address 08:00:20:19:c2:65
	qe1 at qec0 slot 1 offset 0x0 rev 1 address 08:00:20:19:c2:65
	qe2 at qec0 slot 2 offset 0x0 rev 1 address 08:00:20:19:c2:65
	qe3 at qec0 slot 3 offset 0x0 rev 1 address 08:00:20:19:c2:65

	at ifconfig time, the kernel spews:

	NMI: system interrupts: 40000000<VME=0,SBUS=0,ME>
	qe0: eint: qestat=8000000<CLOSS>
	qe0: no carrier, link down?
	qe1: eint: qestat=8000000<CLOSS>
	qe1: no carrier, link down?

	This despite all four interfaces being connected to hubs,
	with link showing on for all.

	While in operation, the kernel frequently logs:

Apr  4 15:59:36 ipswitch /netbsd: qe0: rint: no packets; rb index 102; status 0x80000800
Apr  4 16:48:37 ipswitch /netbsd: qe0: rint: no packets; rb index 142; status 0x80000800
Apr  4 16:50:02 ipswitch /netbsd: qe0: rint: no packets; rb index 183; status 0x80000800
Apr  4 16:50:03 ipswitch /netbsd: qe0: rint: no packets; rb index 197; status 0x80000800
Apr  4 16:50:03 ipswitch /netbsd: qe0: rint: no packets; rb index 211; status 0x80000800

	N.B. - this system is using a stripped down kernel with
	just SUN4M MMU support, and GATEWAY defined with no IPSEC
	(so that the ipflow fast routing code is enabled).

>How-To-Repeat:
	Install a qec into a SPARC LX with NetBSD 1.5.3_RC1 installed,
	and attempt to use it. Note Failure of all interfaces other than zero.

>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted: