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: