From owner-freebsd-stable Tue Dec 24 6:20:56 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5A6A437B401; Tue, 24 Dec 2002 06:20:53 -0800 (PST) Received: from beaujolais.extremis.net (beaujolais.extremis.net [217.158.56.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C79F43EE5; Tue, 24 Dec 2002 06:20:52 -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 15E8A72503; Tue, 24 Dec 2002 14:20:47 +0000 (UTC) Received: by beaujolais.extremis.net (Postfix, from userid 1010) id 7B9DA72502; Tue, 24 Dec 2002 14:20:46 +0000 (UTC) Date: Tue, 24 Dec 2002 14:20:46 +0000 From: "George J.V. Cox" To: freebsd-stable@freebsd.org Subject: Broadcom BCM5703X Gigabit Ethernet woes Message-ID: <20021224142046.GA52116@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: 01ce5e3a1ab9adc9b561213186de2d9d4cf6cf95 Sender: owner-freebsd-stable@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. 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 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: