centos5.5|CentOS5更新网卡驱动 bnx2 version: 2.0.2

更新时间:2019-06-08    来源:CentOS    手机版     字体:

【www.bbyears.com--CentOS】

更新 bnx2 version: 2.0.2–>2.1.11

操作系统:CentOS release 5.10 (Final)

 代码如下 [root@blog.hexu.org ~]$ cat /etc/redhat-release
CentOS release 5.10 (Final)

故障现象:网卡无故自动down掉,使用service network restart 重启后没多久又会自动down , 连接数大概在200个左右,没有arp攻击;


网卡信息:

 代码如下 [root@blog.hexu.org ~]$ cat /var/log/dmesg |grep eth0
eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem da000000, IRQ 82, node addr 782bcb4b61f8
 
[root@blog.hexu.org ~]$ lspci |grep -i eth
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20)

当前网卡驱动:

 代码如下 [root@blog.hexu.org ~]$ ethtool -i eth0
driver: bnx2
version: 2.0.2
firmware-version: 5.2.3 NCSI 2.0.10
bus-info: 0000:01:00.0

下载最新网卡驱动:

http://www.broadcom.com/support/ethernet_nic/netxtremeii.php

Linux

iSCSI HBA only supported on RHEL 5.4, SUSE SLES 11 SP1 or newer versions of these distributions
我下载的是当前最新的版本linux-7.8.56.zip

安装更新驱动:

 代码如下 [root@blog.hexu.org ~]$ unzip linux-7.8.56.zip
Archive: linux-7.8.56.zip
creating: Server/Linux/Driver/
inflating: Server/Linux/Driver/INSTALL.TXT
inflating: Server/Linux/Driver/netxtreme2-7.8.56-1.src.rpm
inflating: Server/Linux/Driver/netxtreme2-7.8.56.tar.gz
inflating: Server/Linux/Driver/netxtreme2_sup-7.8.56-1.ISO.tar.gz
inflating: Server/Linux/Driver/README.bnx2.TXT
inflating: Server/Linux/Driver/README.bnx2fc.TXT
inflating: Server/Linux/Driver/README.bnx2i.TXT
inflating: Server/Linux/Driver/README.bnx2x.TXT
inflating: Server/Linux/Driver/RELEASE.bnx2.TXT
inflating: Server/Linux/Driver/RELEASE.bnx2fc.TXT
inflating: Server/Linux/Driver/RELEASE.bnx2i.TXT
inflating: Server/Linux/Driver/RELEASE.bnx2x.TXT
inflating: Server/Linux/Driver/RELEASE.fclibs.TXT
 
[root@blog.hexu.org ~]$ cd Server/Linux/Driver/
[root@blog.hexu.org Driver]$ rpm -ivh netxtreme2-7.8.56-1.src.rpm

重建对应系统的rpm包:

 代码如下 [root@blog.hexu.org Driver]$ cd /usr/src/RedHat/SPECS/
[root@blog.hexu.org SPECS]$ rpmbuild -bb netxtreme2.spec

安装新的rmp包:

 代码如下 [root@blog.hexu.org SPECS]$ cd /usr/src/redhat/RPMS/x86_64
[root@blog.hexu.org x86_64]$ rpm -ivh netxtreme2-7.8.56-1.x86_64.rpm

切换网卡驱动:

 代码如下 [root@blog.hexu.org ~]$ cat change_driver.sh
rmmod bnx2
rmmod bnx2x
modprobe bnx2
 
modprobe bnx2x
 
[root@blog.hexu.org ~]$ chmod u+x change_driver.sh

后台执行脚本:

 代码如下 [root@blog.hexu.org ~]$ ./change_driver.sh &

注意:有时候可能需要重启服务器使服务器系统重新完全加载新的驱动:

查看新的网卡驱动信息:

 代码如下 [root@dbapp101 x86_64]$ ethtool -i eth0
driver: bnx2
version: 2.1.11
firmware-version: 6.2.12 bc 5.2.3
bus-info: 0000:01:00.0

目前已没有出现自动down的情况。

  注意:安装前请仔细看INSTALL.TXT
如下:

 

 代码如下 [root@blog.hexu.org Driver]$ cat INSTALL.TXT
                           Installation Notes
                     Broadcom NetXtremeII Linux Drivers
                                09/26/2011
 
                          Broadcom Corporation
                         5300 California Avenue,
                            Irvine, CA 92617
 
               Copyright (c) 2004 - 2011 Broadcom Corporation
                           All rights reserved
 
 
Table of Contents
=================
 
  Introduction
  Limitations
  Packaging
  Installing Source RPM Package
  Building Driver From TAR File
  Unloading and Removing Driver
 
 
Introduction
============
 
This file describes the installation procedures for the following
Broadcom Linux drivers:
 
- bnx2 driver for the Broadcom NetXtreme II BCM5706/BCM5708/5709/5716
  10/100/1000/2500/10000 Mbps PCIX/PCIE Ethernet Network Controller.
 
- bnx2x driver for the Broadcom NetXtremeII BCM57710/BCM57711/BCM57711E/BCM57712
  10/100/1000/2500/10000 Mbps PCIE Ethernet Network Controller.
 
- cnic driver that supports additional features required by the bnx2i iSCSI
  offload driver, and bnx2fc FCoE offload driver.
 
 
Limitations
===========
 
The current versions of the drivers have been tested on 2.4.x kernels starting
from 2.4.24 and all 2.6.x kernels. The driver may not compile on kernels
older than 2.4.24. Testing is concentrated on i386 and x86_64 architectures.
Only limited testing has been done on some other architectures.
 
Minor changes to some source files and Makefile may be needed on some
kernels.
 
Additionally, the Makefile will not compile the cnic driver on kernels
older than 2.6.16. iSCSI offload is only supported on 2.6.16 and newer
kernels. FCoE offload is only supported on 2.6.32 and newer kernels.
 
 
Packaging
=========
 
The driver is released in two packaging formats: source RPM and compressed tar
formats. The file name for the source RPM is:
 
netxtreme2-.src.rpm
 
The file name for the tar archive is:
netxtreme2-.tar.gz.
 
Identical source files to build the drivers are included in both packages.
 
Following is a list of files included -
 
a) netxtreme2-.src.rpm - NetXtreme II L2/cnic/bnx2fc/libfc/libfcoe
        driver source RPM
b) netxtreme2-.tar.gz - tar zipped NetXtreme II
        L2/cnic/bnx2fc/libfc/libfcoe driver source
c) INSTALL.TXT - This file
d) README..TXT - driver specific readme instructions,
        where driver is bnx2, bnx2x, bnx2i, bnx2fc.
e) RELEASE..TXT - release information text providing list of bug fixes
        and enhancement for each driver.
 
Installing Source RPM Package
=============================
 
The following are general guidelines for installing the driver.
 
1. Install the source RPM package:
 
   rpm -ivh netxtreme2-.src.rpm
 
2. CD to the RPM path and build the binary driver for your kernel:
 
   cd /usr/src/{redhat,OpenLinux,turbo,packages,rpm ..}
    (For RHEL 6.0 and above, cd ~/rpmbuild )
 
   rpm -bb SPECS/netxtreme2.spec
 
or
 
   rpmbuild -bb SPECS/netxtreme2.spec (for RPM version 4.x.x)
 
Note that the RPM path is different for different Linux distributions.
 
The driver will be compiled for the running kernel by default. To build
the driver for a kernel different than the running one, specify the
kernel by defining it in KVER:
 
   rpmbuild -bb SPECS/netxtreme2.spec --define "KVER "
 
where in the form of 2.x.y-z is the version of another
kernel that is installed on the system.
 
3. Install the newly built package (driver and man page):
 
   rpm -ivh RPMS//netxtreme2-..rpm
 
where is the machine architecture such as i386:
 
   rpm -ivh RPMS/i386/netxtreme2-.i386.rpm
 
Note that the --force option may be needed on some Linux distributions
if conflicts are reported.
 
The drivers will be installed in the following path:
 
2.4.x kernels:
 
    /lib/modules//kernel/drivers/net/bnx2.o
    /lib/modules//kernel/drivers/net/bnx2x.o
 
2.6.0 kernels:
 
    /lib/modules//kernel/drivers/net/bnx2.ko
    /lib/modules//kernel/drivers/net/bnx2x.ko
 
2.6.16 and newer kernels:
 
    /lib/modules//kernel/drivers/net/bnx2.ko
    /lib/modules//kernel/drivers/net/bnx2x.ko
    /lib/modules//kernel/drivers/net/cnic.ko
 
Newer RHEL and SLES distros:
 
    /lib/modules//updates/bnx2.ko
    /lib/modules//updates/cnic.ko
    /lib/modules//updates/bnx2x.ko
    /lib/modules//updates/bnx2i.ko
    /lib/modules//updates/bnx2fc.ko
 
4. Unload existing driver if necessary:
 
   rmmod bnx2
   rmmod bnx2x
 
If the cnic driver is loaded, it should also be unloaded along with dependent
drivers:
 
   rmmod bnx2fc
   rmmod bnx2i
   rmmod cnic
 
5. Load the bnx2 driver for the BCM5706/BCM5708/5709/5716 devices:
 
   insmod bnx2.o
or
   insmod bnx2.ko (on 2.6.x kernels)
or
   modprobe bnx2
 
To load the bnx2x driver for the BCM57710/BCM57711/BCM57711E/BCM57712 devices:
 
   insmod bnx2x.o
or
   insmod bnx2x.ko (on 2.6.x kernels)
or
   modprobe bnx2x
 
To load the cnic driver:
 
   insmod cnic.ko
or
   modprobe cnic
 
To load the bnx2i driver:
 
   insmod bnx2i.ko
or
   modprobe bnx2i
   service iscsid restart (Please refer REDAME.bnx2i.txt for more details
                          about iSCSI operation)
 
To load the bnx2fc driver for BCM57712 device:
 
   insmod bnx2fc.ko
or
   modprobe bnx2fc
   service fcoe start (Please refer README.bnx2fc.txt for more details about
                       FCoE operation)
  
Note that the inbox kernel may have an older version of bnx2, bnx2x and cnic
driver.  It is important for FCoE offload user to unload these inbox versions
before attempting to load bnx2fc driver. There are 2 options to reach the
desired goal,
   a) Reboot the server
                OR
   b) If already loaded, unload inbox bnx2, bnx2x, cnic drivers and load newly
      installed version from netxtreme2-foce package using "modprobe "
 
NOTE: Driver upgrade (rpm -Uvh) is not supported.
NOTE: On SLES 11, change "allow_unsupported_modules" parameter value of
      /etc/modprobe.d/unsupport-modules" from 0 to 1, until bnx2fc driver
      is inbox. Failing to do so will not load bnx2fc.
 
6. To configure network protocol and address, refer to various Linux
documentations.
 
 
Building Driver From TAR File
=============================
 
The following are general guidelines for installing the driver.
 
1. Create a directory and extract the files:
 
   tar xvzf netxtreme2-.tar.gz
 
2. Build the drivers as a loadable module for the running kernel:
 
   make
 
The driver will be compiled for the running kernel by default. To build
the driver for a kernel different than the running one, specify the
kernel by defining it in KVER:
 
  make KVER=
 
where in the form of 2.x.y-z is the version of another
kernel that is installed on the system.
 
3. Test the driver by loading it (Same procedures as described in the
   Source RPM section above).
 
4. Install the driver and man page:
 
   make install
 
See RPM instructions above for the location of the installed driver.
 
5. To configure network protocol and address, refer to various Linux
documentations.
 
Unloading and Removing Driver
=============================
 
If the driver was installed using rpm, do the following to remove it:
 
rpm -e nextreme2
 
Note - this will remove libfc2, libfcoe2, bnx2, bnx2x and cnic modules as well
 
If the driver was installed using make install from the tar file, the drivers
have to be manually deleted from the system. Refer to the section
"Installing Source RPM Package" for the location of the installed driver.
 
1. rmmod
 
2. delete .ko from location given in section "Installing Source RPM Package"
 
3. depmod -a
   
**The kernel will now be back to original state prior to instalation from tar file.
  You may now reload previous module versions if necessary.


CentOS 5.5升级网卡驱动

1、先确认当前驱动版本:
modinfo bnx2  #或直接ethtool -i eth0 可以查看到固件版本

2、驱动下载
http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php
当前版本为:linux-7.0.36.zip

3、安装包选择

 代码如下 unzip linux-7.0.36.zip #解压驱动程序其中已包括源代码及rpm包
cd Server/Linux/Driver
rpm -ivh netxtreme2-7.0.36-1.src.rpm #解压出包源码
   1:netxtreme2             ########################################### [100%]
cd /usr/src/redhat/SPECS/
rpmbuild -bb netxtreme2.spec #重建生产对应系统的rpm包
cd ../RPMS/i386/
rpm -ivh netxtreme2-7.0.36-1.i386.rpm #安装网卡驱动

4、网卡驱动切换:

 代码如下 vim change_driver.sh
rmmod bnx2
modprobe bnx2
chmod 755 change_driver.sh
./change_driver.sh  #后台执行脚本

注:正常情况网络会出现中断一会重新加载完成会自动恢复,如果出现异常未能自动恢复可能需要重启服务器使系统完成重新加载新网卡驱动

5、核实更新后当前驱动版本:

 代码如下 modinfo bnx2 #或直接ethtool -i eth0 可以查看到固件版本

可能遇到的问题:环境需求:

 代码如下

yum -y install gcc mack kernel-headers kernel-devel

本文来源:http://www.bbyears.com/caozuoxitong/53827.html

热门标签

更多>>

本类排行