From owner-freebsd-net Fri Dec 27 19:55:29 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B827337B401; Fri, 27 Dec 2002 19:55:26 -0800 (PST) Received: from beaujolais.extremis.net (beaujolais.extremis.net [217.158.56.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id 913DF43E4A; Fri, 27 Dec 2002 19:55:25 -0800 (PST) (envelope-from gjvc@extremis.net) Received: from localhost (localhost.extremis.net [127.0.0.1]) by beaujolais.extremis.net (Postfix) with ESMTP id 6A0D872503; Sat, 28 Dec 2002 03:55:24 +0000 (UTC) Received: by beaujolais.extremis.net (Postfix, from userid 1010) id E0FFE72502; Sat, 28 Dec 2002 03:55:23 +0000 (UTC) Date: Sat, 28 Dec 2002 03:55:23 +0000 From: "George J.V. Cox" To: freebsd-net@freebsd.org, freebsd-hardware@freebsd.org Subject: Broadcom BCM5703X Gigabit Ethernet woes, panics, no MIIs, oh my! Message-ID: <20021228035523.GA34823@beaujolais.extremis.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.1i X-Razor-id: aa33b23fcc2594421aca127303f21b291859182c Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hello there, I have a Dell 1655MC blade server, and a compiled-this-week 4.7-STABLE kernel. The hardware is a chassis of 6 PCs in a 3U case. Each blade has two Broadcom BCM5703 interfaces. Unfortunately, its behaviour is rather non-deterministic. The dmesg output follows. As you see, there are two bge0s (!) and neither has an associated PHY. It's not always like this, however. Sometimes it boots fine, both interfaces are detected OK and one can proceed to do an NFS install of the minimal distribution set. Once the interface has been configured, it seems to be stable. Let's hear it for KASSERT()! # ifconfig bge0 up panic: bge_stop: mii is NULL Here's the offending bit from sys/dev/bge/if_bge.c (KASSERTs added by me) if (!sc->bge_tbi) { KASSERT(ifp != NULL, ("bge_stop: ifp is NULL")); itmp = ifp->if_flags; ifp->if_flags |= IFF_UP; KASSERT(mii != NULL, ("bge_stop: mii is NULL")); ifm = mii->mii_media.ifm_cur; KASSERT(ifm != NULL, ("bge_stop: ifm is NULL")); mtmp = ifm->ifm_media; ifm->ifm_media = IFM_ETHER|IFM_NONE; mii_mediachg(mii); ifm->ifm_media = mtmp; ifp->if_flags = itmp; } So, the problem is that at boot-time, the kernel is not getting a PHY driver, be it a brgphy, or a ukphy attached to the miibus. Have a look at the specs here: http://www.ap.dell.com/ap/au/en/bsd/products/model_rkopt_3_rkopt_1655mc.htm best; gjvc ok boot Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 Console:The Regents of the University of California. All rights reserved. FreeBSD 4.7-STABLE #19: Tue Dec 24 13:49:18 UTC 2002 gjvc@builder.uk.extremis:/usr/src/sys/compile/DELL1655MC-GENERIC Timecounter "i8254" frequency 1193182 Hz2a1:00d6 Timecounter "TSC" frequency 1260605043 Hz CPU: Pentium III/Pentium III Xeon/Celeron (1260.61-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6b4 Stepping = 4 Features=0x383fbff real memory = 1073676288 (1048512K bytes) avail memory = 1037733888 (1013412K bytes) Preloaded elf kernel "kernel" at 0xc0727000. Preloaded mfs_root "/mfsroot47" at 0xc072709c. Pentium Pro MTRR support enabled md0: Preloaded image 4423680 bytes at 0xc02ed1d0 md1: Malloc disk Using $PIR table, 5 entries at 0xc00fc400 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 mpt0: port 0xfc00-0xfcff mem 0xfe000000-0xfe00ffff,0xfe010000-0xfe01ffff irq 14 at device 13.0 on pci0 pci0: at 14.0 isab0: at device 15.0 on pci0 isa0: on isab0 pci0: at 15.2 irq 5 pcib1: on motherboard pci1: on pcib1 bge0: mem 0xed010000-0xed01ffff irq 10 at device 10.0 on pci1 bge0: Ethernet address: 00:06:5b:0e:6d:1c bge0: MII without any PHY! device_probe_and_attach: bge0 attach returned 6 bge0: mem 0xed000000-0xed00ffff irq 11 at device 11.0 on pci1 bge0: Ethernet address: 00:06:5b:0e:6d:1d bge0: MII without any PHY! device_probe_and_attach: bge0 attach returned 6 pcib2: on motherboard pci2: on pcib2 orm0: