Skip site navigation (1)Skip section navigation (2)
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

--Apple-Mail-23--704290021
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1


Le 16 mars 2012 =E0 18:06, YongHyeon PYUN a =E9crit :

> On Thu, Mar 15, 2012 at 09:19:27AM +0100, Paul Guyot wrote:
>> Le 15 mars 2012 ? 18:10, YongHyeon PYUN a ?crit :
>>=20
>>> On Wed, Mar 14, 2012 at 11:44:37PM +0100, Paul Guyot wrote:
>>>> Hello,
>>>>=20
>>>> 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.
>>>>=20
>>>> Using a binary search, the bug comes from the following revision:
>>>>=20
>>>> 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
>>>>=20
>>>=20
>>> Could you try attach patch and let me know whether it recovers IPMI
>>> functionality?
>>=20
>> Thank you for your quick patch. Unfortunately, it does not recover =
IPMI functionality with STABLE@2012.01.09.19.08.00.
>>=20
>=20
> 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 !=3D NULL
bce0: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) =3D=3D 0
bce0: [2008] mii !=3D NULL
bce0: [2023] (mii->mii_media_status & IFM_ACTIVE) !=3D IFM_ACTIVE)
bce0: [2026] (mii->mii_media_status & IFM_AVALID) =3D=3D 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 !=3D NULL
bce1: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) =3D=3D 0
bce1: [2008] mii !=3D NULL
bce1: [2023] (mii->mii_media_status & IFM_ACTIVE) !=3D IFM_ACTIVE)
bce1: [2026] (mii->mii_media_status & IFM_AVALID) =3D=3D 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 !=3D NULL
bce0: [2000] (ifp->if_drv_flags & IFF_DRV_RUNNING) =3D=3D 0
bce0: [2008] mii !=3D NULL
bce0: [2023] (mii->mii_media_status & IFM_ACTIVE) !=3D IFM_ACTIVE)
bce0: [2026] (mii->mii_media_status & IFM_AVALID) =3D=3D 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 !=3D NULL
bce0: [2002] (ifp->if_drv_flags & IFF_DRV_RUNNING) !=3D 0
bce0: [2008] mii !=3D NULL
bce0: [2018] (mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) =3D=3D =
(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!

=46rom what I understand, both new conditions that may return early are =
true ((ifp->if_drv_flags & IFF_DRV_RUNNING) =3D=3D 0 and later =
(mii->mii_media_status & IFM_ACTIVE) !=3D 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


--Apple-Mail-23--704290021--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F6D0F5AE-D31E-42D7-B641-ADDCC39E4169>