4

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 :

bnx2-mips-06-6.2.1.fw   
bnx2-rv2p-09-6.0.17.fw
bnx2-mips-09-6.2.1a.fw
bnx2-rv2p-06-6.0.15.fw      
bnx2-rv2p-09ax-6.0.17.fw

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?

Hugo
  • 2,419
  • 7
  • 27
  • 32

3 Answers3

2

On Debian 8.1:

Install the bnx2 driver, remember to add the non-free repo.

apt-get install firmware-bnx2

Reboot the machine.

That solve my problem.

The bnx2 package: https://debian.pkgs.org/10/debian-nonfree-i386/firmware-bnx2_20190114-2_all.deb.html

1

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.

Creek
  • 5,002
  • 1
  • 22
  • 33
user72667
  • 11
  • 1
0

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:

add_drivers+="bnx2"

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.

Stephen Rauch
  • 4,209
  • 14
  • 22
  • 32