CentOS release 5.4 64bit
Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.9.3 (March 17, 2009)

最近出现一件奇怪的事情:服务器两块网卡一块内网一块外网,外网卡一直能正常工作而外网卡有时候会突然停止工作,重启网卡后能恢复正常。而日志中却没有发现网卡停止的任何记录。

很奇怪的现象,我在一篇文章中找到了如上网卡驱动相关的记录,说是驱动的BUG,需要升级
http://hi.baidu.com/%CC%C6%B7%C7%CC%C7_tzh/blog/item/a8a450503b1e142942a75b8d.html

记录下我的升级过程,希望能彻底解决该问题
下载驱动程序

 wget http://ftp.us.dell.com/network/Bcom_LAN_14.1.5_Linux_Source_A00.tar.gz

解压后,驱动中有安装说明,如果看着英文不爽,这里有一篇中文的参考如下
http://ftp.sanguine.net/pub/sahughes/drivers/dell/poweredge_860/network/broadcom/Manual/NetXtremeII/SimpChin/linux.htm
 

升级驱动所需其他安装包

 yum install rpm-build
 yum install kernel-devel

 

我用 “rpmbuild -bb netxtreme2.spec”没有安装成功,有关rpmbuild的学习参考
http://blog.chinaunix.net/tag.php?q=rpmbuild 

tar包方式安装如下

  tar -zxvf Bcom_LAN_14.1.5_Linux_Source_A00.tar.gz
  cd Bcom_LAN_14.1.5_Linux_Source_A00/NetXtremeII/

  tar -zxvf netxtreme2-5.0a.10.tar.gz
  cd netxtreme2-5.0a.10/bnx2/src/
  make
  make install

不重启服务器重新加载网卡驱动

   
   
   
   
  1. #!/bin/bash  
  2. rmmod bnx2  
  3. modprobe bnx2 

执行方法

  ./lan_dr_up.sh &

 升级后的bnx2版本信息

   
   
   
   
  1. #modinfo bnx2  
  2. filename:       /lib/modules/2.6.18-164.el5/updates/bnx2.ko  
  3. version:        1.9.20d  
  4. license:        GPL  
  5. description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver