Re: bge(4) on BCM 5752 A02 panic due to media autoselect

From: Oleg Bulyzhin <oleg_at_FreeBSD.org>
Date: Wed, 6 Sep 2006 16:12:11 +0400
On Tue, Sep 05, 2006 at 04:35:41PM -0700, David Christensen wrote:
> 
> > > Today Simon L. Nielsen (simon_at_freebsd.org) reported 
> > breakage of bcm5703:
> > > 
> > > bge0: <Broadcom BCM5703 A2, ASIC rev. 0x1002> mem 
> > 0xfe000000-0xfe00ffff irq 27 a
> > > t device 3.0 on pci2
> > > miibus0: <MII bus> on bge0
> > > brgphy0: <BCM5703 10/100/1000baseTX PHY> on miibus0
> > > brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
> > 1000baseTX, 1000baseTX
> > > -FDX, auto
> > > bge0: Ethernet address: 00:50:45:00:aa:a2
> > > bge1: <Broadcom BCM5703 A2, ASIC rev. 0x1002> mem 
> > 0xfe010000-0xfe01ffff irq 27 a
> > > t device 4.0 on pci2
> > > miibus1: <MII bus> on bge1
> > > brgphy1: <BCM5703 10/100/1000baseTX PHY> on miibus1
> > > brgphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
> > 1000baseTX, 1000baseTX
> > > -FDX, auto
> > > bge1: Ethernet address: 00:50:45:00:aa:a3
> > > 
> > > bge0_at_pci2:3:0:  class=0x020000 card=0x000c14e4 
> > chip=0x16a614e4 rev=0x02 hdr=0x00
> > >     vendor   = 'Broadcom Corporation'
> > >     device   = 'BCM5702X NetXtreme Gigabit Ethernet'
> > >     class    = network
> > >     subclass = ethernet
> > > bge1_at_pci2:4:0:  class=0x020000 card=0x000c14e4 
> > chip=0x16a614e4 rev=0x02 hdr=0x00
> > >     vendor   = 'Broadcom Corporation'
> > >     device   = 'BCM5702X NetXtreme Gigabit Ethernet'
> > >     class    = network
> > >     subclass = ethernet
> 
> The controller reported is not consistent, it is labeled as both a
> 5702 and 5703 controller in the messages above.  It looks like there
> is an invalid assumption in the routine bge_lookup_rev().  This 
> routine assumes that each chip version will have a unique ASIC ID
> which is incorrect.  Sadly, the 5702 and 5703 share the same ASIC IDs
> so an additional test for the PCI device ID needs to be added to
> discriminate between the two.  The ASIC IDs for the 5702 are as
> follows:
> 
> #define BGE_CHIPID_BCM5702_A0		0x10000000
> #define BGE_CHIPID_BCM5702_A1		0x10010000
> #define BGE_CHIPID_BCM5702_A2		0x10020000
> 
> 	{ BGE_CHIPID_BCM5702_A0,	"BCM5702 A0" },
> 	{ BGE_CHIPID_BCM5702_A1,	"BCM5702 A1" },
> 	{ BGE_CHIPID_BCM5702_A2,	"BCM5702 A2" }
> 
> Your controller is actually a BCM5702 based on the PCI device ID.
> 
> > > 
> > > Driver fails to start with diagnostic:
> > > bge0: RX CPU self-diagnostics failed!
> > 
> > As a followup, I tried backing out only the latest bge(4) changes and
> > now the system (sledge.freebsd.org) works again.  Basically the system
> > responded to ICMP ping, but it seemed all other network trafic didn't
> > work, at least NFS mounts, NTP etc. failed at boot and ssh to the
> > system didn't work.
> > 
> > It now works with:
> > 
> >      $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.140 2006/08/24 
> > 14:41:16 oleg Exp $
> >      $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.52 2006/08/23 
> > 11:32:54 glebius Exp $
> > 
> > I can test patches if needed.
> 
> I tested with a 5702 A1 card and the v1.141 version still worked for
> me.  Are you using a NIC card or is this a LOM?  If the latter, what
> system is the LOM built into?  This error message indicates that the
> controller was unable to read and load firmware from the NVRAM which
> is usually a real error (unless the system was designed to operate 
> without NVRAM which is generally only a few Sun systems).
> 
> Dave
> 

I never seen hardware myself. There is some info in motd:

oleg_at_sledge$ tail -3 /etc/motd
Sledge is a Rioworks HDAMA - 2x1.8GHz Opteron 244, w/ 8GB of ram.
http://www.rioworks.com/HDAMA.htm  It is also sold under the Arima brand.

-- 
Oleg.
Received on Wed Sep 06 2006 - 10:13:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC