Date: Fri, 16 Mar 2012 23:41:51 +0100 From: Paul Guyot <paulguyot@ieee.org> To: pyunyh@gmail.com Cc: freebsd-stable@freebsd.org Subject: Re: Changes brought to bce(4) disabling ipmi access during boot Message-ID: <F6D0F5AE-D31E-42D7-B641-ADDCC39E4169@ieee.org> In-Reply-To: <20120316170650.GA6841@michelle.cdnetworks.com> References: <8D3993D8-074E-45E6-8AF7-DB51369F33BD@ieee.org> <20120315171018.GA3295@michelle.cdnetworks.com> <3D1680C7-39A2-47B9-BD40-A987238886EB@ieee.org> <20120316170650.GA6841@michelle.cdnetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Le 16 mars 2012 à 18:06, YongHyeon PYUN a écrit : > On Thu, Mar 15, 2012 at 09:19:27AM +0100, Paul Guyot wrote: >> Le 15 mars 2012 ? 18:10, YongHyeon PYUN a ?crit : >> >>> On Wed, Mar 14, 2012 at 11:44:37PM +0100, Paul Guyot wrote: >>>> Hello, >>>> >>>> Changes brought to bce(4) prevents booting a R410 Dell server with GELI-encrypted root ZFS partition requiring a passphrase, something that was possible with 9-RELEASE. >>>> >>>> Using a binary search, the bug comes from the following revision: >>>> >>>> Updating collection src-all/cvs >>>> Edit src/sys/dev/bce/if_bce.c >>>> Add delta 1.89.2.4 2012.01.09.19.07.14 yongari >>>> Edit src/sys/dev/bce/if_bcereg.h >>>> Add delta 1.35.2.3 2012.01.09.19.07.14 yongari >>>> Shutting down connection to server >>>> >>> >>> Could you try attach patch and let me know whether it recovers IPMI >>> functionality? >> >> Thank you for your quick patch. Unfortunately, it does not recover IPMI functionality with STABLE@2012.01.09.19.08.00. >> > > Hmm, how about this one? It did not work either. So I patched the original (RELEASE) driver to print information about the various conditions newly tested by the STABLE driver in bce_miibus_statchg. The result is the following. The box has two bce interfaces, the one connected is bce0. The loader was configured with boot_verbose. Before the passphrase is entered: bce0: <Broadcom NetXtreme II BCM5716 1000Base-T (C0)> mem 0xda000000-0xdbffffff irq 36 at device 0.0 on pci1 bce0: attempting to allocate 1 MSI vectors (16 supported) bce0: using IRQ 256 for MSI miibus0: <MII bus> on bce0 bce0: bpf attached bce0: Ethernet address: 78:2b:cb:18:22:75 bce0: [1998] ifp != NULL bce0: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 bce0: [2008] mii != NULL bce0: [2023] (mii->mii_media_status & IFM_ACTIVE) != IFM_ACTIVE) bce0: [2026] (mii->mii_media_status & IFM_AVALID) == IFM_AVALID) bce0: [2058] Unknown link speed, enabling default GMII interface. bce0: [2082] Disabling RX flow control. bce0: [2095] Disabling TX flow control. bce0: ASIC (0x57092008); Rev (C0); Bus (PCIe x4, 2.5Gbps); B/C (5.2.3); Bufs (RX:2;TX:2;PG:8); Flags (SPLT|MSI|MFW); MFW (NCSI 2.0.11) bce1: <Broadcom NetXtreme II BCM5716 1000Base-T (C0)> mem 0xdc000000-0xddffffff irq 48 at device 0.1 on pci1 bce1: attempting to allocate 1 MSI vectors (16 supported) bce1: using IRQ 257 for MSI miibus1: <MII bus> on bce1 bce1: bpf attached bce1: Ethernet address: 78:2b:cb:18:22:76 bce1: [1998] ifp != NULL bce1: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 bce1: [2008] mii != NULL bce1: [2023] (mii->mii_media_status & IFM_ACTIVE) != IFM_ACTIVE) bce1: [2026] (mii->mii_media_status & IFM_AVALID) == IFM_AVALID) bce1: [2058] Unknown link speed, enabling default GMII interface. bce1: [2082] Disabling RX flow control. bce1: [2095] Disabling TX flow control. bce1: ASIC (0x57092008); Rev (C0); Bus (PCIe x4, 2.5Gbps); B/C (5.2.3); Bufs (RX:2;TX:2;PG:8); Flags (SPLT|MSI|MFW); MFW (NCSI 2.0.11) After the passphrase is entered and network is started: bce0: [1998] ifp != NULL bce0: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 bce0: [2008] mii != NULL bce0: [2023] (mii->mii_media_status & IFM_ACTIVE) != IFM_ACTIVE) bce0: [2026] (mii->mii_media_status & IFM_AVALID) == IFM_AVALID) bce0: [2058] Unknown link speed, enabling default GMII interface. bce0: [2082] Disabling RX flow control. bce0: [2095] Disabling TX flow control. bce0: [1998] ifp != NULL bce0: [2002] (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 bce0: [2008] mii != NULL bce0: [2018] (mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == (IFM_ACTIVE | IFM_AVALID) bce0: [2053] Enabling GMII interface. bce0: [2082] Disabling RX flow control. bce0: [2095] Disabling TX flow control. bce0: link state changed to UP bce0: Gigabit link up! bce0: Gigabit link up! bce0: Gigabit link up! From what I understand, both new conditions that may return early are true ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 and later (mii->mii_media_status & IFM_ACTIVE) != IFM_ACTIVE), which yields bce_link_up to be FALSE. Yet I am confused by the role of actually writing to BCE_EMAC_MODE in order to keep the iDRAC link up, and wether the issue would not come from another part of the change. Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F6D0F5AE-D31E-42D7-B641-ADDCC39E4169>
