Subject: kern/36926: recent pullups to bge(4) on netbsd-4 seem to have broken hardware-assisted header checksums for "ASIC BCM5701 B5 (0x0105)"
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Greg A. Woods <woods@planix.com>
List: netbsd-bugs
Date: 09/05/2007 21:30:00
>Number:         36926
>Category:       kern
>Synopsis:       recent pullups to bge(4) on netbsd-4 seem to have broken hardware-assisted header checksums for "ASIC BCM5701 B5 (0x0105)"
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 05 21:30:00 +0000 2007
>Originator:     Greg A. Woods
>Release:        netbsd-4 2007/09/02
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
	
	
System: NetBSD i386 4.0_RC1
Architecture: i386
Machine: i386
>Description:

	I just booted a netbsd-4 kernel from approx 2007/09/02 on a Dell
	PE2650 and have lost ethernet connectivity

bge0 at pci1 dev 6 function 0: Broadcom BCM5701 Gigabit Ethernet
bge0: interrupting at ioapic1 pin 12 (irq 10)
bge0: ASIC BCM5701 B5 (0x0105), Ethernet address 00:06:5b:ed:e2:d1
brgphy0 at bge0 phy 1: BCM5701 1000BASE-T media interface, rev. 0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge1 at pci1 dev 8 function 0: Broadcom BCM5701 Gigabit Ethernet
bge1: interrupting at ioapic1 pin 13 (irq 7)
bge1: ASIC BCM5701 B5 (0x0105), Ethernet address 00:06:5b:ed:e2:d2
brgphy1 at bge1 phy 1: BCM5701 1000BASE-T media interface, rev. 0
brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto


once# ifconfig bge0
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx>
        enabled=3f00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx>
        address: 00:06:5b:ed:e2:d1
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet 204.92.254.13 netmask 0xffffff00 broadcast 204.92.254.255

	Upon "ifconfig up", with *csum_* enable, the driver reports:

once# ifconfig bge0 down
once# ifconfig bge0 up   
bge0: pcistate failed to revert
bge0: RX CPU self-diagnostics failed!


	"ping" works, but UDP and TCP don't -- however disabling all of
	the *csum_* capabilities gets things working again.

	The last kernel with a fully working driver was built 2007/06/29
	from sources updated from the netbsd-4 branch a day or so before.

	I'm guessing one of these is the cause of the problem:

revision 1.122.2.6
date: 2007/08/31 21:52:41;  author: xtraeme;  state: Exp;  lines: +86 -12
Pull up following revision(s) (requested by phil in ticket #819):
	sys/dev/mii/miidevs.h: regen
	sys/dev/mii/miidevs: revision 1.71
	sys/dev/pci/if_bge.c: revision 1.133
	sys/dev/pci/if_bge.c: revision 1.134
	sys/dev/pci/if_bgereg.h: revision 1.43
	sys/dev/mii/brgphy.c: revision 1.34
	sys/dev/mii/miidevs_data.h: regen
Add BCM5755 and 5754 Gig-E PHYs.
Regen for BCM5755 and 5754.
Add support for BCM5754 and BCM5755.  From suggestions from Jonathan
Stone.
Add a couple more BGE_CHIPIDs
Add support for BCM5755 and BCM5754/5787.  Suggestions from Jonathan
Stone and fixes from OpenBSD for various hardware bugs/errata.
Disable firmware fastboot on 5754 and 5755.  From FreeBSD by way of Phil
Nelson.
----------------------------
revision 1.122.2.5
date: 2007/08/21 20:15:14;  author: liamjfoy;  state: Exp;  lines: +4 -0
Pull up following revision(s) (requested by pavel in ticket #821):
	sys/dev/pci/if_bge.c: revision 1.130
Add support for BCM5715.  Works seemingly well on hardware provided by
pavel@.  Thanks, Pavel!

>How-To-Repeat:
	
>Fix:
	

>Unformatted: