FAQ
I just kickstarted a new machine with the latest CentOS 6.2 files, including
kernel 2.6.32-220.13.1.el6.x86_64. It came up without network interfaces.

dmesg says:

bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v2.2.1 (Dec 18, 2011)
alloc irq_desc for 36 on node -1
alloc kstat_irqs on node -1
bnx2 0000:01:00.0: PCI INT A -> GSI 36 (level, low) -> IRQ 36
bnx2 0000:01:00.0: setting latency timer to 64
bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-mips-09-6.2.1b.fw
bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
bnx2 0000:01:00.0: PCI INT A disabled
bnx2: probe of 0000:01:00.0 failed with error -2

The firmware file is missing from /lib/firmware and the kernel-firmware rpm.

I found a copy of it on a Fedora site and dumped it into the right location,
but it wasn't found after a reboot. Yet, it was found after a second reboot.
Why is that? Is a rebuild of initramfs triggered somehow?

What I don't understand is: I have an identical machine that I installed
under 6.2 a while back, and kept up to date, and it doesn't have this
problem. However, it tells me it uses version v2.1.11 (July 20, 2011) of
the driver, how is that possible?

# grep bnx2 /var/log/messages
Apr 23 17:10:03 localhost kernel: bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v2.1.11 (July 20, 2011)
Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: PCI INT A -> GSI 36 (level, low) -> IRQ 36
Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-mips-09-6.2.1a.fw
Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-rv2p-09-6.0.17.fw
Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem da000000, IRQ 36, node addr 78:2b:cb:67:3f:b6
[...]

# modinfo /lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/drivers/net/bnx2.ko
filename: /lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/drivers/net/bnx2.ko
firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw
firmware: bnx2/bnx2-rv2p-09-6.0.17.fw
firmware: bnx2/bnx2-mips-09-6.2.1a.fw
firmware: bnx2/bnx2-rv2p-06-6.0.15.fw
firmware: bnx2/bnx2-mips-06-6.2.1.fw
version: 2.1.11
license: GPL
description: Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
[...]

# lspci -v -s 01:00.1
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R410 BCM5716 Gigabit Ethernet
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at dc000000 (64-bit, non-prefetchable) [size2M]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number 78-2b-cb-ff-fe-67-3f-b7
Capabilities: [110] Advanced Error Reporting
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel <?>
Kernel driver in use: bnx2
Kernel modules: bnx2

Search Discussions

  • Johnny Hughes at Apr 23, 2012 at 1:25 pm

    On 04/23/2012 11:54 AM, Lars Hecking wrote:
    I just kickstarted a new machine with the latest CentOS 6.2 files, including
    kernel 2.6.32-220.13.1.el6.x86_64. It came up without network interfaces.

    dmesg says:

    bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v2.2.1 (Dec 18, 2011)
    alloc irq_desc for 36 on node -1
    alloc kstat_irqs on node -1
    bnx2 0000:01:00.0: PCI INT A -> GSI 36 (level, low) -> IRQ 36
    bnx2 0000:01:00.0: setting latency timer to 64
    bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-mips-09-6.2.1b.fw
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    bnx2 0000:01:00.0: PCI INT A disabled
    bnx2: probe of 0000:01:00.0 failed with error -2

    The firmware file is missing from /lib/firmware and the kernel-firmware rpm.

    I found a copy of it on a Fedora site and dumped it into the right location,
    but it wasn't found after a reboot. Yet, it was found after a second reboot.
    Why is that? Is a rebuild of initramfs triggered somehow?

    What I don't understand is: I have an identical machine that I installed
    under 6.2 a while back, and kept up to date, and it doesn't have this
    problem. However, it tells me it uses version v2.1.11 (July 20, 2011) of
    the driver, how is that possible?

    # grep bnx2 /var/log/messages
    Apr 23 17:10:03 localhost kernel: bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v2.1.11 (July 20, 2011)
    Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: PCI INT A -> GSI 36 (level, low) -> IRQ 36
    Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-mips-09-6.2.1a.fw
    Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: firmware: requesting bnx2/bnx2-rv2p-09-6.0.17.fw
    Apr 23 17:10:03 localhost kernel: bnx2 0000:01:00.0: eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem da000000, IRQ 36, node addr 78:2b:cb:67:3f:b6
    [...]

    # modinfo /lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/drivers/net/bnx2.ko
    filename: /lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/drivers/net/bnx2.ko
    firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw
    firmware: bnx2/bnx2-rv2p-09-6.0.17.fw
    firmware: bnx2/bnx2-mips-09-6.2.1a.fw
    firmware: bnx2/bnx2-rv2p-06-6.0.15.fw
    firmware: bnx2/bnx2-mips-06-6.2.1.fw
    version: 2.1.11
    license: GPL
    description: Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
    [...]

    # lspci -v -s 01:00.1
    01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
    Subsystem: Dell PowerEdge R410 BCM5716 Gigabit Ethernet
    Flags: bus master, fast devsel, latency 0, IRQ 48
    Memory at dc000000 (64-bit, non-prefetchable) [size2M]
    Capabilities: [48] Power Management version 3
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
    Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
    Capabilities: [ac] Express Endpoint, MSI 00
    Capabilities: [100] Device Serial Number 78-2b-cb-ff-fe-67-3f-b7
    Capabilities: [110] Advanced Error Reporting
    Capabilities: [150] Power Budgeting <?>
    Capabilities: [160] Virtual Channel <?>
    Kernel driver in use: bnx2
    Kernel modules: bnx2
    There are now new external kernel modules for that:

    http://lists.centos.org/pipermail/centos-announce/2012-April/018587.html


    yum install kmod-bnx2





    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: signature.asc
    Type: application/pgp-signature
    Size: 262 bytes
    Desc: OpenPGP digital signature
    Url : http://lists.centos.org/pipermail/centos/attachments/20120423/8136d799/attachment.bin
  • Lars Hecking at Apr 23, 2012 at 3:34 pm

    There are now new external kernel modules for that:

    http://lists.centos.org/pipermail/centos-announce/2012-April/018587.html


    yum install kmod-bnx2
    They are all installed.

    # yum list installed kmod\*
    Loaded plugins: fastestmirror, kabi, refresh-packagekit, security
    Loading support for CentOS kernel ABI
    Cleaning repos: base extras updates
    Cleaning up Everything
    Cleaning up list of fastest mirrors
    Loaded plugins: fastestmirror, kabi, refresh-packagekit, security
    Loading support for CentOS kernel ABI
    Determining fastest mirrors
    base | 3.7 kB 00:00 ...
    base/primary_db | 4.5 MB 00:00 ...
    updates | 3.5 kB 00:00 ...
    updates/primary_db | 2.9 MB 00:00 ...
    Installed Packages
    kmod-bnx2.x86_64 2.2.1-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-bnx2fc.x86_64 1.0.10-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-bnx2i.x86_64 2.7.2.1-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-bnx2x.x86_64 1.72.00_0-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-bnx2x-firmware.x86_64
    1.72.00_0-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-cnic.x86_64 2.5.9-1.el6_2 @anaconda-CentOS-201112091719.x86_64/6.2
    kmod-tg3.x86_64 3.119-2.el6_1 @base
    Loaded plugins: fastestmirror, kabi, refresh-packagekit, security
    Loading support for CentOS kernel ABI
    Cleaning repos: base extras updates
    0 package files removed
  • Peter Kjellström at Apr 24, 2012 at 7:02 am

    On Monday 23 April 2012 17.54.33 Lars Hecking wrote:
    I just kickstarted a new machine with the latest CentOS 6.2 files,
    including kernel 2.6.32-220.13.1.el6.x86_64. It came up without network
    interfaces.

    dmesg says:
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    This is because you have the kmod-bnx2 package which contains a newer driver
    (2.2.1) but not a complete set of firmwares (two out of five files missing).

    ...
    What I don't understand is: I have an identical machine that I installed
    under 6.2 a while back, and kept up to date, and it doesn't have this
    problem. However, it tells me it uses version v2.1.11 (July 20, 2011) of
    the driver, how is that possible?
    This machine is using the normal bnx2 driver (2.1.11) for which there is a
    complete set of firmwares (provided by the kernel-firmware package).

    If you don't need the 2.2.1 driver I suggest you remove the kmod-bnx2 package
    from the first machine and fall back to the driver in the normal kernel
    package.

    /Peter
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: not available
    Type: application/pgp-signature
    Size: 198 bytes
    Desc: This is a digitally signed message part.
    Url : http://lists.centos.org/pipermail/centos/attachments/20120424/8bf6c68a/attachment.bin
  • Lars Hecking at Apr 24, 2012 at 10:56 am

    Peter Kjellstr??m writes:
    On Monday 23 April 2012 17.54.33 Lars Hecking wrote:
    I just kickstarted a new machine with the latest CentOS 6.2 files,
    including kernel 2.6.32-220.13.1.el6.x86_64. It came up without network
    interfaces.

    dmesg says:
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    This is because you have the kmod-bnx2 package which contains a newer driver
    (2.2.1) but not a complete set of firmwares (two out of five files missing).
    Looks like a vanilla kernel bug.

    http://lkml.org/lkml/2012/4/17/268
    This machine is using the normal bnx2 driver (2.1.11) for which there is a
    complete set of firmwares (provided by the kernel-firmware package).
    Spot on - the working machine did not have kmod-bnx2 installed.
    If you don't need the 2.2.1 driver I suggest you remove the kmod-bnx2 package
    from the first machine and fall back to the driver in the normal kernel
    package.
    Installing without kmod-bnx2 worked, and I also had to get rid of kmod-cnic,
    which /tmp/yum.log listed as requiring kmod-bnx2.
  • Ned Slider at Apr 24, 2012 at 11:05 am

    On 24/04/12 15:56, Lars Hecking wrote:
    Peter Kjellstr??m writes:
    On Monday 23 April 2012 17.54.33 Lars Hecking wrote:
    I just kickstarted a new machine with the latest CentOS 6.2 files,
    including kernel 2.6.32-220.13.1.el6.x86_64. It came up without network
    interfaces.

    dmesg says:
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    This is because you have the kmod-bnx2 package which contains a newer driver
    (2.2.1) but not a complete set of firmwares (two out of five files missing).
    Looks like a vanilla kernel bug.

    http://lkml.org/lkml/2012/4/17/268
    This machine is using the normal bnx2 driver (2.1.11) for which there is a
    complete set of firmwares (provided by the kernel-firmware package).
    Spot on - the working machine did not have kmod-bnx2 installed.
    If you don't need the 2.2.1 driver I suggest you remove the kmod-bnx2 package
    from the first machine and fall back to the driver in the normal kernel
    package.
    Installing without kmod-bnx2 worked, and I also had to get rid of kmod-cnic,
    which /tmp/yum.log listed as requiring kmod-bnx2.
    This is fixed in RHEL6.3 (beta) where the kernel-firmware package
    contains the latest firmware that you are missing above:

    $ rpm -q kernel-firmware
    kernel-firmware-2.6.32-262.el6.noarch
    $ rpm -ql kernel-firmware | grep bnx2-mips
    /lib/firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw
    /lib/firmware/bnx2/bnx2-mips-06-6.0.15.fw
    /lib/firmware/bnx2/bnx2-mips-06-6.2.1.fw
    /lib/firmware/bnx2/bnx2-mips-06-6.2.3.fw
    /lib/firmware/bnx2/bnx2-mips-09-5.0.0.j15.fw
    /lib/firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw
    /lib/firmware/bnx2/bnx2-mips-09-6.0.17.fw
    /lib/firmware/bnx2/bnx2-mips-09-6.2.1a.fw
    /lib/firmware/bnx2/bnx2-mips-09-6.2.1b.fw

    In the meantime (as a workaround), just grab the missing firmware and
    place it in the appropriate directory.
  • Peter Kjellström at Apr 25, 2012 at 5:45 am

    On Tuesday 24 April 2012 16.05.26 Ned Slider wrote:
    On 24/04/12 15:56, Lars Hecking wrote:
    Peter Kjellstr??m writes:
    On Monday 23 April 2012 17.54.33 Lars Hecking wrote:
    ...
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    This is because you have the kmod-bnx2 package which contains a newer
    driver (2.2.1) but not a complete set of firmwares (two out of five
    files missing).>>
    ...
    This machine is using the normal bnx2 driver (2.1.11) for which there is
    a
    complete set of firmwares (provided by the kernel-firmware package).
    Spot on - the working machine did not have kmod-bnx2 installed.
    If you don't need the 2.2.1 driver I suggest you remove the kmod-bnx2
    package from the first machine and fall back to the driver in the normal
    kernel package.
    Installing without kmod-bnx2 worked, and I also had to get rid of
    kmod-cnic, which /tmp/yum.log listed as requiring kmod-bnx2.
    This is fixed in RHEL6.3 (beta) where the kernel-firmware package
    contains the latest firmware that you are missing above:
    To be clear, there is no bug/problem in the kernel-firmware package in 6.2.
    This thread is about the behaviour of a driver update (kmod-bnx2) with its own
    (incomplete) set of firmware. As you point out, 6.3 will have the new driver
    and its firmware.

    ...
    In the meantime (as a workaround), just grab the missing firmware and
    place it in the appropriate directory.
    No, in the meantime don't install kmod-bnx2 unless you need it, it's not meant
    as a general update for the kernel provided bnx2.

    /Peter
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: not available
    Type: application/pgp-signature
    Size: 198 bytes
    Desc: This is a digitally signed message part.
    Url : http://lists.centos.org/pipermail/centos/attachments/20120425/8e688b29/attachment.bin
  • Ned Slider at Apr 25, 2012 at 7:16 am

    On 25/04/12 10:45, Peter Kjellstr?m wrote:
    On Tuesday 24 April 2012 16.05.26 Ned Slider wrote:

    ...
    In the meantime (as a workaround), just grab the missing firmware and
    place it in the appropriate directory.
    No, in the meantime don't install kmod-bnx2 unless you need it, it's not meant
    as a general update for the kernel provided bnx2.
    Agreed.

    My workaround was assuming that one actually *needs* the updated driver.
  • Peter Kjellström at Apr 25, 2012 at 5:40 am

    On Tuesday 24 April 2012 15.56.09 Lars Hecking wrote:
    Peter Kjellstr??m writes:
    On Monday 23 April 2012 17.54.33 Lars Hecking wrote:
    I just kickstarted a new machine with the latest CentOS 6.2 files,

    including kernel 2.6.32-220.13.1.el6.x86_64. It came up without network
    interfaces.

    dmesg says:
    bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"
    This is because you have the kmod-bnx2 package which contains a newer
    driver (2.2.1) but not a complete set of firmwares (two out of five files
    missing).
    Looks like a vanilla kernel bug.

    http://lkml.org/lkml/2012/4/17/268
    What you're hitting is similar but not the same. You installed an rpm that
    redhat built for a few new NICs as part of their DUP (Driver Update Program):

    https://rhn.redhat.com/errata/RHEA-2012-0503.html

    Afaict, they say not to use it for other NICs. In your case a non listed NIC
    broke because that package lacked some firmware.

    That is, the problem is crystal clear, bug in the kmod-bnx2 package (but it
    could be claimed to be a documented limitation...).
    This machine is using the normal bnx2 driver (2.1.11) for which there is a
    complete set of firmwares (provided by the kernel-firmware package).
    Spot on - the working machine did not have kmod-bnx2 installed.
    If you don't need the 2.2.1 driver I suggest you remove the kmod-bnx2
    package from the first machine and fall back to the driver in the normal
    kernel package.
    Installing without kmod-bnx2 worked, and I also had to get rid of
    kmod-cnic, which /tmp/yum.log listed as requiring kmod-bnx2.
    "yum remove kmod-bnx2" is suggested way to remove packages in a dependency-
    aware way.

    /Peter
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: not available
    Type: application/pgp-signature
    Size: 198 bytes
    Desc: This is a digitally signed message part.
    Url : http://lists.centos.org/pipermail/centos/attachments/20120425/5fcdebeb/attachment.bin
  • Lars Hecking at Apr 25, 2012 at 5:53 am

    Looks like a vanilla kernel bug.

    http://lkml.org/lkml/2012/4/17/268
    What you're hitting is similar but not the same. You installed an rpm that
    redhat built for a few new NICs as part of their DUP (Driver Update Program): ACK.
    "yum remove kmod-bnx2" is suggested way to remove packages in a dependency-
    aware way.
    Slightly different situation here - I'm working off a local repo for kickstart
    installations, so I don't want to install it in the first place. For that
    to happen, I need to exclude kmod-cnic as well or the bnx2 rpm gets pulled
    in anyway.
  • Peter Kjellström at Apr 25, 2012 at 7:31 am
    On Wednesday 25 April 2012 10.53.46 Lars Hecking wrote:
    ...
    "yum remove kmod-bnx2" is suggested way to remove packages in a
    dependency-
    aware way.
    Slightly different situation here - I'm working off a local repo for
    kickstart installations, so I don't want to install it in the first place.
    For that to happen, I need to exclude kmod-cnic as well or the bnx2 rpm
    gets pulled in anyway.
    Interesting, are you saying that any standard install package selection
    includes these updated drivers?

    /Peter
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: not available
    Type: application/pgp-signature
    Size: 198 bytes
    Desc: This is a digitally signed message part.
    Url : http://lists.centos.org/pipermail/centos/attachments/20120425/e86971e5/attachment.bin
  • Lars Hecking at Apr 25, 2012 at 7:48 am

    Peter Kjellstr??m writes:
    On Wednesday 25 April 2012 10.53.46 Lars Hecking wrote:
    ...
    "yum remove kmod-bnx2" is suggested way to remove packages in a
    dependency-
    aware way.
    Slightly different situation here - I'm working off a local repo for
    kickstart installations, so I don't want to install it in the first place.
    For that to happen, I need to exclude kmod-cnic as well or the bnx2 rpm
    gets pulled in anyway.
    Interesting, are you saying that any standard install package selection
    includes these updated drivers?
    I'm using a custom group that install pretty much everything. Ok, not
    really everything, but about three quartes of all >6k packages. The local
    repo is a repomanage merge of os and updates tree.
  • Peter Kjellström at Apr 25, 2012 at 10:50 am

    On Wednesday 25 April 2012 12.48.43 Lars Hecking wrote:
    Peter Kjellstr??m writes:
    On Wednesday 25 April 2012 10.53.46 Lars Hecking wrote:
    ...
    "yum remove kmod-bnx2" is suggested way to remove packages in a
    dependency-
    aware way.
    Slightly different situation here - I'm working off a local repo for

    kickstart installations, so I don't want to install it in the first
    place.
    For that to happen, I need to exclude kmod-cnic as well or the bnx2 rpm
    gets pulled in anyway.
    Interesting, are you saying that any standard install package selection
    includes these updated drivers?
    I'm using a custom group that install pretty much everything. Ok, not
    really everything, but about three quartes of all >6k packages. The local
    repo is a repomanage merge of os and updates tree.
    Let me rephrase that, did you explicitly select these packages or did a group
    pull them in?

    /Peter
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: not available
    Type: application/pgp-signature
    Size: 198 bytes
    Desc: This is a digitally signed message part.
    Url : http://lists.centos.org/pipermail/centos/attachments/20120425/aa1999d9/attachment.bin
  • Lars Hecking at Apr 25, 2012 at 11:00 am

    Let me rephrase that, did you explicitly select these packages or did a group
    pull them in?
    It is a custom group that originally included kmod-bnx2. I removed it but
    according to the yum log during install, it was still pulled in by kmod-cnic.
    So I needed to remove that one as well.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcentos @
categoriescentos
postedApr 23, '12 at 12:54p
activeApr 25, '12 at 11:00a
posts14
users4
websitecentos.org
irc#centos

People

Translate

site design / logo © 2022 Grokbase