Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Dec 2002 03:55:23 +0000
From:      "George J.V. Cox" <gjvc@extremis.net>
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>

next in thread | raw e-mail | index | archive | help
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<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
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 </mfsroot47> 4423680 bytes at 0xc02ed1d0
md1: Malloc disk
Using $PIR table, 5 entries at 0xc00fc400
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
mpt0: <LSILogic 1030 Ultra4 Adapter> port 0xfc00-0xfcff mem 0xfe000000-0xfe00ffff,0xfe010000-0xfe01ffff irq 14 at device 13.0 on pci0
pci0: <ATI Mach64-GR graphics accelerator> at 14.0
isab0: <PCI to ISA bridge (vendor=1166 device=0201)> at device 15.0 on pci0
isa0: <ISA bus> on isab0
pci0: <OHCI USB controller> at 15.2 irq 5
pcib1: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
bge0: <Broadcom BCM5703X Gigabit Ethernet> 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: <Broadcom BCM5703X Gigabit Ethernet> 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: <Host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib2
orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xcc000-0xcffff,0xd0000-0xd17ff,0xec000-0xeffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x30 on isa0
sio0: type 16550A, console
sio1: configured irq 3 not in bitmap of probed irqs 0
Waiting 2 seconds for SCSI devices to settle
Pda0 at mpt0 bus 0 target 0 lun 0
da0: <DELL VIRTUAL DISK 1000> Fixed Direct Access SCSI-2 device 
da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
da0: 34678MB (71020545 512 byte sectors: 255H 63S/T 4420C)
XE: no interface
no B_DEVMAGIC (bootdev=0)
Mounting root from ufs:/dev/md0c



-- 
[gjvc]

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021228035523.GA34823>