Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Dec 2002 14:20:46 +0000
From:      "George J.V. Cox" <gjvc@extremis.net>
To:        freebsd-stable@freebsd.org
Subject:   Broadcom BCM5703X Gigabit Ethernet woes
Message-ID:  <20021224142046.GA52116@beaujolais.extremis.net>

next in thread | raw e-mail | index | archive | help
Hello there,

I have a Dell 1655MC blade server.  It's a chassis of 6 PCs in a 3U case.  Each
blade has two Broadcom BCM5703 interfaces.  Unfortunately, its behaviour is
rather non-deterministic.  The chassis allows one to access the serial port of
each blade.  By default, the console is redirected out of there, but by
switching that off one might be able to use the serial port for gdb, if one
can get past the chassis and typing "connect server-1" part of the Dell ERA. Hrm.

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.

Sometimes, the kernel panics when one uses ifconfig(1)  It panics in
bge_stop+0x283 , which from the disassembly (remember I haven't been able to use
gdb remote debugging yet) is this address: 

    3454:       8b 45 f8                mov    0xfffffff8(%ebp),%eax
>>  3457:       8b 70 08                mov    0x8(%eax),%esi
    345a:       8b 7e 08                mov    0x8(%esi),%edi

This appears to be in the bit where it brings the PHY down, but leaves
the media type unchanged. (lines 2801 -> 2810 of sys/dev/bge/if_bge.c)

Here's a backtrace.  The reader is also referred to PR i386/46484

# ifconfig bge0 up

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x8
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc013c113
stack pointer           = 0x10:0xe03d4dcc
frame pointer           = 0x10:0xe03d4de0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 17 (ifconfig)
interrupt mask          = net
kernel: type 12 trap, code=0
Stopped at      bge_stop+0x283: movl    0x8(%eax),%esi
db> trace
bge_stop(c3485000,80206910,c3485000,c3485000,660480) at bge_stop+0x283
bge_init(c3485000,8803,80206910,c3485000,0) at bge_init+0x20
bge_ioctl(c3485000,80206910,e03d4ea8) at bge_ioctl+0x152
ifioctl(de0abec0,80206910,e03d4ea8,dc3012a0,c3701e40) at ifioctl+0x34f
soo_ioctl(c3701e40,80206910,e03d4ea8,dc3012a0,dc3012a0) at soo_ioctl+0x132
ioctl(dc3012a0,e03d4f80,bfbff684,1,3) at ioctl+0x20a
syscall2(2f,2f,2f,3,1) at syscall2+0x1f5
Xint0x80_syscall() at Xint0x80_syscall+0x25

and here's that dmesg output

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-stable" in the body of the message




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