Dell网卡升级驱动步骤

一、网卡故障现象描述
Dell R410 R710 系列的Broadcom 网卡使用centos 自带的网卡驱动经常出现网卡故障
(dell 官方承认),不能远程连接。涉及网卡型号BCM5706/BCM5708/5709/5716。
报警日志
more messages |grep eth
Mar 6 13:22:09 nginx18 kernel: bnx2: eth0: using MSIX
Mar 6 13:22:09 nginx18 kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready
Mar 6 13:22:11 nginx18 kernel: bnx2: eth0 NIC Copper Link is Up, 1000 Mbps full
duplex, receive & transmit flow control ON
Mar 6 13:22:11 nginx18 kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes
ready
Mar 6 13:31:48 nginx18 kernel: bnx2: eth1: using MSIX
Mar 6 13:31:48 nginx18 kernel: ADDRCONF(NETDEV_UP): eth1: link is not ready
Mar 6 13:31:51 nginx18 kernel: bnx2: eth1 NIC Copper Link is Up, 1000 Mbps full
duplex, receive & transmit flow control ON
Mar 6 13:31:51 nginx18 kernel: ADDRCONF(NETDEV_CHANGE): eth1: link becomes
ready
 

二、dell官方解决方法:
1、升级到最新驱动程序(由2.0.2升级到2.1.12b)
2、升级到最新网卡固件(由5.2.3升级到6.2.15)
 

三、具体升级网卡驱动和网卡固件步骤
整个升级过程可以远程进行,每台升级时间在5 分钟左右(为确保100%正常,建议安
装后重启机器)
1、查看当前系统内核版本号
# uname -a
Linux api188 2.6.18-194.el5
2、查看当前网卡驱动版本号
# modinfo bnx2
version: 2.0.2
# cat /sys/bus/pci/drivers/bnx2/module/version
2.0.2
3、查看当前网卡固件版本号
# ethtool -i eth0
driver: bnx2
version: 2.0.2
firmware-version: 5.2.3
bus-info: 0000:01:00.0
4、安装准备工作
下载Brodcom 官方最新linux 版本驱动程序
http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php
安装rpmbuild 和gcc 工具
# yum install rpm-build
# yum install gcc
5、升级网卡驱动的方法,2 选1
(1)原2.6.18-194.el5 内核(推荐)
#scp 192.168.1.182:/usr/src/kernerls /usr/src/kernerls
(2)由于没有找到centos5.5 的kernel 开发包,将kernel 版本升级(由2.6.18-194.el5 升级
到2.6.18-274.18.1.el5)
升级kernel
# yum install kernel
安装kernel 的headers 和开发包
# yum install kernel-devel kernel-headers
6、生成网卡驱动的rpm包
# cd /root/network_drivers/Brodcom_offical_drivers/Driver/
# rpm -ivh netxtreme2-7.0.36-1.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bb netxtreme2.spec
# cd /usr/src/redhat/RPMS/x86_64/
# rpm -ivh netxtreme2-7.0.36-1.x86_64.rpm
7、重新加载网卡驱动(这是网上的方法,实际不需要执行
此脚本就可以)
# more auto_reload_bnx_driver.sh
#!/bin/sh
rmmod bnx2
depmod
modprobe bnx2
/etc/init.d/network restart
后台运行
# nohup auto_reload_bnx_driver.sh &
8、查看升级后的网卡驱动版本号和网卡固件版本号
# modinfo bnx2
filename: /lib/modules/2.6.18-194.el5/updates/bnx2.ko
version: 2.1.12b
# cat /sys/bus/pci/drivers/bnx2/module/version
2.1.12b
网卡固件号重启系统后才显示更新后的
# ethtool -i eth0
driver: bnx2
version: 2.1.12b
firmware-version: 6.2.15 bc 5.2.3
bus-info: 0000:01:00.0
9、其他相同配置机器的升级方法
直接安装第六部生成的驱动包
rpm -ivh /usr/src/redhat/RPMS/x86_64/netxtreme2-7.0.36-1.x86_64.rpm