DELL R系列服务器网卡驱动升级过程

来源:互联网 发布:大学java专业课程 编辑:程序博客网 时间:2024/06/05 12:39

戴尔R系列的服务器linux自带的网卡驱动有bug会造成网络中断,需要升级网卡驱动程序。

1、查看网卡的类型,驱动程序的版本,根据网卡类型下载相应的驱动。

lspci |grep Ethernet

lsmod |grep bnx2 

modinfo bnx2 

wget http://zh-cn.broadcom.com/support/license.php?file=NXII/linux-7.4.21.zip

戴尔服务器的驱动:http://ftp.us.dell.com/network/

网卡的官方驱动:

http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php

 

2、安装编译

安装前需要先安装rpm-build kernel-devel这两个包。如果操作系统是oracle发行版本的linxu,用的是kernel-uek的内核,所以安装的时候要安装kernel-devel换成kernel-uek-devel

 

yum -y install rpm-build kernel-devel

unzip linux-7.4.21.zip

cd Server/Linux/Driver/

rpm -ivh netxtreme2-7.4.21-1.src.rpm

cd /usr/src/redhat/

rpmbuild -bb SPECS/netxtreme2.spec

rpm -ivh RPMS/x86_64/netxtreme2-7.4.21-1.x86_64.rpm

 

如果想要还原只需要rpm -e netxtreme2 即可。

安装完成后需要重启系统才能生效,但可以写个脚本在后台执行,不用重启,只是会造成网络暂时的中断,脚本如下:

#!/bin/sh

rmmod bnx2

depmod

modprobe bnx2

:wq   (保存退出)

chmod a+x updat.sh  (增加可执行权限)

./updat.sh &   (后台运行脚本)

再次查看发现驱动程序的版本升级了。

lsmod |grep bnx2

modinfo bnx2 

 

注意:脚本运行完毕后最好重启一下网络,重启网络后不会造成远程连接断开。如果不重启有一些网卡不会生效,在配置ifcfg-eth0里是能看到ip地址,但运行ifconfig -a却不能看到配置的ip地址。

service network restart

 

3、常见错误

Question1:

安装netxtreme2-6.2.23-1.src.rpm时会报“error: cannot create %sourcedir /usr/src/redhat/SOURCES”信息。

Cause:

没有安装qlp rpm-build-4.4.2.3-18.el5.i386.rpm包。

Resolution:

安装rpm-build,同时关联binutils,elfutils两个包。可解决此问题。

 

Question2:

编译网卡驱动报错,退出编译过程,无法编译成功

 [root@localhost redhat]# rpmbuild -bb SPECS/netxtreme2.spec

/var/tmp/rpm-tmp.9077: line 32: make: command not found

error: Bad exit status from /var/tmp/rpm-tmp.9077 (%build)

RPM build errors:

    Bad exit status from /var/tmp/rpm-tmp.9077 (%build)

Cause:

是因为没有编译环境,或编译环境不全导致。

Resolution:

需要安装RPM包“kernel-devel”和RPM包组"Development Tools"

建议使用YUM环境安装以上RPM包,以解决RPM包关联性问题。安装命令如下:

 [root@localhost ~]# yum groupinstall "Development Tools"

 [root@localhost ~]# yum install kernel-devel

 

Question3:

安装编译好的网卡驱动RPM包netxtreme2-6.2.23-1.i386.rpm,检查网卡模块没有更新成功。

Cause:

安装编译好的驱动是有提示信息,表示安装的RPM包文件,与系统以后的文件有冲突

[root@localhost ~]# rpm -ivh netxtreme2-6.2.23-1.x86_64.rpm

Preparing...                ########################################### [100%]

        file /usr/share/man/man4/bnx2.4.gz from install of netxtreme2-6.2.23-1.x86_64 conflicts with file from package netxtreme2-5.0.17-1.dkms.noarch

        file /usr/share/man/man4/bnx2x.4.gz from install of netxtreme2-6.2.23-1.x86_64 conflicts with file from package netxtreme2-5.0.17-1.dkms.noarch

会导致/lib/modules/2.6.18-194.el5/updates/目录下,没有新生成的网卡模块bnx2.ko,从而导致网卡升级失败。

Resolution:

# rpm -ivh netxtreme2-6.2.23-1.x86_64.rpm --force       使用“--force”参数,是以强制的方式安装,覆盖掉已有文件。

原创粉丝点击