I just compiled the kernel 3.10.19 from kernel.org. Support for bnx2 is enabled. On my server when I try to start the eth0 interface I got the following error :

bnx2: Can't load firmware file "bnx2/bnx2-mips-09-6.2.1b.fw"

In /lib/firmware/bnx2 I have the following files :


The file bnx2-mips-09-6.2.1b.fw is missing.

If I do :

cp bnx2-mips-09-6.2.1a.fw bnx2-mips-09-6.2.1b.fw

it is working but this is not a clean solution.

I have been reading the following post : https://lkml.org/lkml/2012/4/18/142 But I am not sure to understand.

What is the best way to solve the problem?


if it is RHEL 6

  1. add_drivers+="bnx2" add this line in /etc/dracut.conf
  2. Take the initramfs backup
  3. Run dracut –f to build the initramfs image
  4. reboot

This will fix the issue.

| improve this answer | |

Adding some detail to the previous answer:

The RHEL 6 solution listed above does work, however, you have to have the firmware file too. You can't just add to /etc/dracut.conf the line:


and backup your initramfs, followed by running:

dracut -f

and expect that a default system will work. I was able to find a copy of the firmware that I needed HERE. There are others there as well, so if this is not the exact version you are looking for, google around, it's likely out there.

I staged the file in /lib/firmware/bnx2 and then followed the above directions, and rebooted. This now works for me, on CentOS 6.8. using the 3.10.x kernel from elrepo.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.