bce(4) with IPMI [puzzling and puzzling]
Sean Bruno
seanbru at yahoo-inc.com
Fri Oct 7 01:57:44 UTC 2011
On Thu, 2011-09-29 at 10:01 -0700, Sean Bruno wrote:
> We've been getting reports of odd behavior on our Dell R410 machines
> when trying to use IPMI. The servers have two NIC's that we have
> assigned as the IPMI interface(bce0) and production interface(bce1)
> respectively.
>
> Since we don't actually configure bce0 in FreeBSD, we've found that the
> IPMI interface deactivated when bce(4) loads. I assume that the driver
> is not initializing the interface correctly in this case and the default
> case is to turn the interface off. Does it make sense to completely
> turn off the interface when there is an active link on the port, but no
> configuration assigned?
>
> Sean
>
> p.s. Dell's IPMI implementation is ... um ... more difficult than it
> needs to be.
Whoa ... ok, so now I've run into something horrible.
According to dmidecode, a Dell R410 has a Broadcom 5716 chipset on it.
On Board Device 2 Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5716 NIC 1
On Board Device 3 Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5716 NIC 2
However, when I ask the chipset what type it is via:
if_bcereg.h:#define BCE_CHIP_NUM(sc)
It clearly indicates that it is a 5709???? What on earth is going on
here? The following patch, yeilds the following output:
=== //depot/yahoo/ybsd_7/src/sys/dev/bce/if_bce.c#26
- /home/seanbru/ybsd_7/sys/dev/bce/if_bce.c ====
5855c5855,5861
< if ((ifp->if_flags & IFF_UP) == 0) {
---
> if (BCE_CHIP_NUM(sc) == BCE_CHIP_NUM_5716)
> printf("%s: BCE_CHIP_NUM_5716 found\n", __func__);
> else
> printf("%s: huh, what's this? 0x%8x\n", __func__,
BCE_CHIP_NUM(sc));
>
> if (((ifp->if_flags & IFF_UP) == 0) &&
> !(BCE_CHIP_NUM(sc) == BCE_CHIP_NUM_5716)) {
<console>
bce_ifmedia_sts: huh, what's this? 0x57090000
</console>
<pciconf>
bce0 at pci0:1:0:0: class=0x020000 card=0x028c1028 chip=0x163b14e4
rev=0x20 hdr=0x00
vendor = 'Broadcom Corporation'
class = network
subclass = ethernet
bce1 at pci0:1:0:1: class=0x020000 card=0x028c1028 chip=0x163b14e4
rev=0x20 hdr=0x00
vendor = 'Broadcom Corporation'
class = network
subclass = ethernet
</pciconf>
<dmesg>
bce0: <Broadcom NetXtreme II BCM5716 1000Base-T (C0)> mem
0xd8000000-0xd9ffffff irq 36 at device 0.0 on pci1
bce0: Reserved 0x2000000 bytes for rid 0x10 type 3 at 0xd8000000
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: a4:ba:db:2b:6d:58
bce0: [MPSAFE]
bce0: [ITHREAD]
bce0: ASIC (0x57092008); Rev (C0); Bus (PCIe x4, 2.5Gbps); B/C (5.2.2);
Flags (MSI|MFW); MFW (NCSI 2.0.8)
</dmesg>
More information about the freebsd-net
mailing list