CentOS networking BNX2

Having some trouble with my NICs. The server starts fine and I can wget/ping etc. However, when I /etc/init.d/networking restart I then receive the following error:

Bringing up interface eth0: bnx2: fw sync timeout, reset code = 1030009
SIOCSIFFLAGS: Device or resource busy

Consequently, the task fails. I have searched around on google users suggesting to disable PNP in the BIOS but I see no option. Here is some system information:

$ ethtool -i eth0
driver: bnx2
version: 2.0.8-rh
firmware-version: bc 2.9.1

$ uname -a
Linux host 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

$/sbin/lspci | grep Broadcom
04:00.0 PCI brodge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5700 Gigabit Ethernet (rev 12)
08:00.0 PCI brodge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5700 Gigabit Ethernet (rev 12)

$ lsmod | grep bnx2
bnx2i                  81704  0 
cnic                  109512  1 bnx2i
libiscsi2              77765  6 be2iscsi,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi_tcp
scsi_transport_iscsi2    73945  8 be2iscsi,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi2
bnx2                  224780  0 
scsi_mod              199001  15 mpt2sas,scsi_transport_sas,mptctl,be2iscsi,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi2,scsi_transport_iscsi2,scsi_dh,sg,libata,megaraid_sas,sd_mod

$ rmmod bnx2; modprobe bnx2
PCI: Enabling device 0000:05:00.0 (0158 -> 015a)
PCI: Enabling device 0000:09:00.0 (0158 -> 015a)
bnx2: fw sync timeout, reset code = 10300003

Any help would be appreciated as I am at a loss.


It's possible you're hitting one (or both) of these bugs:

  • https://bugzilla.redhat.com/show_bug.cgi?id=680411
  • https://bugzilla.redhat.com/show_bug.cgi?id=693542

Try the latest kernel from jwilson:

  • http://people.redhat.com/jwilson/el5/264.el5/

I have been having some issues with these bnx2 based cards. A fix for me was blacklisting the bnx2i module (this one does iSCSI offloading). If you don't need iSCSI offloading, try unloading bnx2i and blacklisting it in modprobe.conf.