From owner-freebsd-current@FreeBSD.ORG Tue Jan 19 13:12:07 2010 Return-Path: Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E426A106566C for ; Tue, 19 Jan 2010 13:12:07 +0000 (UTC) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (lurza.secnetix.de [IPv6:2a01:170:102f::2]) by mx1.freebsd.org (Postfix) with ESMTP id 0D5218FC12 for ; Tue, 19 Jan 2010 13:12:06 +0000 (UTC) Received: from lurza.secnetix.de (localhost [127.0.0.1]) by lurza.secnetix.de (8.14.3/8.14.3) with ESMTP id o0JDBnuO045510; Tue, 19 Jan 2010 14:12:05 +0100 (CET) (envelope-from oliver.fromme@secnetix.de) Received: (from olli@localhost) by lurza.secnetix.de (8.14.3/8.14.3/Submit) id o0JDBnT0045509; Tue, 19 Jan 2010 14:11:49 +0100 (CET) (envelope-from olli) Date: Tue, 19 Jan 2010 14:11:49 +0100 (CET) Message-Id: <201001191311.o0JDBnT0045509@lurza.secnetix.de> From: Oliver Fromme To: freebsd-current@FreeBSD.ORG, pyunyh@gmail.com In-Reply-To: <20100118202805.GB1336@michelle.cdnetworks.com> X-Newsgroups: list.freebsd-current User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (FreeBSD/6.4-PRERELEASE-20080904 (i386)) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.2 (lurza.secnetix.de [127.0.0.1]); Tue, 19 Jan 2010 14:12:05 +0100 (CET) Cc: Subject: Re: bce(4) on IBM BladeCenter HS22 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jan 2010 13:12:08 -0000 Ok, I've got more information. Maybe this is helpful. I enabled BCE_DEBUG and set bce_debug = BCE_INSANE_PHY. At first I got a compile error and had to apply this patch: --- src/sys/dev/bce/if_bce.c.orig 2009-10-21 14:47:09.000000000 +0200 +++ src/sys/dev/bce/if_bce.c 2010-01-19 13:13:36.000000000 +0100 @@ -10038,9 +10045,9 @@ BCE_PRINTF("0x%08X - (0x%06X) state\n", val, BCE_BC_STATE); - val = bce_shmem_rd(sc, BCE_BC_CONDITION); + val = bce_shmem_rd(sc, BCE_BC_STATE_CONDITION); BCE_PRINTF("0x%08X - (0x%06X) condition\n", - val, BCE_BC_CONDITION); + val, BCE_BC_STATE_CONDITION); val = bce_shmem_rd(sc, BCE_BC_STATE_DEBUG_CMD); BCE_PRINTF("0x%08X - (0x%06X) debug_cmd\n", Then I got this output during boot: bce0: mem 0x92000000-0x93ffffff irq 30 at device 0.0 on pci16 bce0: attempting to allocate 1 MSI vectors (16 supported) msi: routing MSI IRQ 260 to local APIC 0 vector 112 bce0: using IRQ 260 for MSI bce0: bce_get_media(enter) bce0: Using PHY address 2. bce0: bce_get_media(exit) bce0: bce_dma_alloc(): status_block_paddr = 0xCE36480 bce0: bce_dma_alloc(): stats_block_paddr = 0xCE21800 bce0: bce_dma_alloc(): ctx_paddr[0] = 0xCE77000 bce0: bce_dma_alloc(): ctx_paddr[1] = 0xCE37000 bce0: bce_dma_alloc(): tx_bd_chain_paddr[0] = 0x7D9F8000 bce0: bce_dma_alloc(): tx_bd_chain_paddr[1] = 0x7D9F9000 bce0: bce_dma_alloc(): rx_bd_chain_paddr[0] = 0x7D9FA000 bce0: bce_dma_alloc(): rx_bd_chain_paddr[1] = 0x7D9FB000 bce0: bce_dma_alloc(): Creating rx_mbuf_tag (max size = 0x2400 max segments = 1, max segment size = 0x2400) bce0: Invalid PHY address 0 for PHY read! bce0: Invalid PHY address 1 for PHY read! bce0: bce_miibus_read_reg(): phy = 2, reg = 0x0001 (BMSR ), val = 0x0 bce0: Invalid PHY address 3 for PHY read! bce0: Invalid PHY address 4 for PHY read! bce0: Invalid PHY address 5 for PHY read! bce0: Invalid PHY address 6 for PHY read! bce0: Invalid PHY address 7 for PHY read! bce0: Invalid PHY address 8 for PHY read! bce0: Invalid PHY address 9 for PHY read! bce0: Invalid PHY address 10 for PHY read! bce0: Invalid PHY address 11 for PHY read! bce0: Invalid PHY address 12 for PHY read! bce0: Invalid PHY address 13 for PHY read! bce0: Invalid PHY address 14 for PHY read! bce0: Invalid PHY address 15 for PHY read! bce0: Invalid PHY address 16 for PHY read! bce0: Invalid PHY address 17 for PHY read! bce0: Invalid PHY address 18 for PHY read! bce0: Invalid PHY address 19 for PHY read! bce0: Invalid PHY address 20 for PHY read! bce0: Invalid PHY address 21 for PHY read! bce0: Invalid PHY address 22 for PHY read! bce0: Invalid PHY address 23 for PHY read! bce0: Invalid PHY address 24 for PHY read! bce0: Invalid PHY address 25 for PHY read! bce0: Invalid PHY address 26 for PHY read! bce0: Invalid PHY address 27 for PHY read! bce0: Invalid PHY address 28 for PHY read! bce0: Invalid PHY address 29 for PHY read! bce0: Invalid PHY address 30 for PHY read! bce0: Invalid PHY address 31 for PHY read! bce0: /usr/src/sys/dev/bce/if_bce.c(1098): No PHY found on child MII bus! bce0: bce_miibus_read_reg(): phy = 2, reg = 0x0002, val = 0x0000 PHYID1: 0x0000 bce0: bce_miibus_read_reg(): phy = 2, reg = 0x0003, val = 0x0000 PHYID2: 0x0000 device_attach: bce0 attach returned 6 bce1: mem 0x94000000-0x95ffffff irq 37 at device 0.1 on pci16 bce1: attempting to allocate 1 MSI vectors (16 supported) msi: routing MSI IRQ 260 to local APIC 0 vector 112 bce1: using IRQ 260 for MSI bce1: bce_get_media(enter) bce1: Using PHY address 2. bce1: bce_get_media(exit) bce1: bce_dma_alloc(): status_block_paddr = 0xCE362C0 bce1: bce_dma_alloc(): stats_block_paddr = 0xCE21800 bce1: bce_dma_alloc(): ctx_paddr[0] = 0xCE77000 bce1: bce_dma_alloc(): ctx_paddr[1] = 0xCE37000 bce1: bce_dma_alloc(): tx_bd_chain_paddr[0] = 0xCE58000 bce1: bce_dma_alloc(): tx_bd_chain_paddr[1] = 0xCE59000 bce1: bce_dma_alloc(): rx_bd_chain_paddr[0] = 0xCE5A000 bce1: bce_dma_alloc(): rx_bd_chain_paddr[1] = 0xCE5B000 bce1: bce_dma_alloc(): Creating rx_mbuf_tag (max size = 0x2400 max segments = 1, max segment size = 0x2400) bce1: Invalid PHY address 0 for PHY read! bce1: Invalid PHY address 1 for PHY read! bce1: bce_miibus_read_reg(): phy = 2, reg = 0x0001 (BMSR ), val = 0x0 bce1: Invalid PHY address 3 for PHY read! bce1: Invalid PHY address 4 for PHY read! bce1: Invalid PHY address 5 for PHY read! bce1: Invalid PHY address 6 for PHY read! bce1: Invalid PHY address 7 for PHY read! bce1: Invalid PHY address 8 for PHY read! bce1: Invalid PHY address 9 for PHY read! bce1: Invalid PHY address 10 for PHY read! bce1: Invalid PHY address 11 for PHY read! bce1: Invalid PHY address 12 for PHY read! bce1: Invalid PHY address 13 for PHY read! bce1: Invalid PHY address 14 for PHY read! bce1: Invalid PHY address 15 for PHY read! bce1: Invalid PHY address 16 for PHY read! bce1: Invalid PHY address 17 for PHY read! bce1: Invalid PHY address 18 for PHY read! bce1: Invalid PHY address 19 for PHY read! bce1: Invalid PHY address 20 for PHY read! bce1: Invalid PHY address 21 for PHY read! bce1: Invalid PHY address 22 for PHY read! bce1: Invalid PHY address 23 for PHY read! bce1: Invalid PHY address 24 for PHY read! bce1: Invalid PHY address 25 for PHY read! bce1: Invalid PHY address 26 for PHY read! bce1: Invalid PHY address 27 for PHY read! bce1: Invalid PHY address 28 for PHY read! bce1: Invalid PHY address 29 for PHY read! bce1: Invalid PHY address 30 for PHY read! bce1: Invalid PHY address 31 for PHY read! bce1: /usr/src/sys/dev/bce/if_bce.c(1098): No PHY found on child MII bus! bce1: bce_miibus_read_reg(): phy = 2, reg = 0x0002, val = 0x0000 PHYID1: 0x0000 bce1: bce_miibus_read_reg(): phy = 2, reg = 0x0003, val = 0x0000 PHYID2: 0x0000 device_attach: bce1 attach returned 6 Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "I made up the term 'object-oriented', and I can tell you I didn't have C++ in mind." -- Alan Kay, OOPSLA '97