bge(4) on BCM 5752 A02 panic due to media autoselect
Oleg Bulyzhin
oleg at FreeBSD.org
Wed Sep 6 05:13:08 PDT 2006
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.
More information about the freebsd-current
mailing list