zoukankan      html  css  js  c++  java
  • Centos 5.5 更新网卡驱动 bnx2 version: 2.0.2

    操作系统:CentOS release 5.5 (Final)


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

    网卡信息:
    [root@qs-wg-web2 ~]# cat /var/log/dmesg  |grep eth0
    eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem d6000000, IRQ 90, node addr 842b2bfac367

    当前网卡驱动:
    [root@qs-wg-web2 ~]# 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

    安装更新驱动:


    [root@qs-wg-web2 ~]# unzip linux-7.4.27.zip
    Archive:  linux-7.4.27.zip
       creating: Server/Linux/Driver/
      inflating: Server/Linux/Driver/INSTALL.TXT 
      inflating: Server/Linux/Driver/netxtreme2-7.4.27-1.src.rpm 
      inflating: Server/Linux/Driver/netxtreme2-7.4.27.tar.gz 
      inflating: Server/Linux/Driver/netxtreme2_sup-7.4.27-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@qs-wg-web2 ~]# cd Server/Linux/Driver/
     [root@qs-wg-web2 Driver]# rpm -ivh netxtreme2-7.4.27-1.src.rpm


     
      重建对应系统的rpm包:
     
    [root@qs-wg-web2 Driver]#  cd /usr/src/redhat/SPECS/
    [root@qs-wg-web2 SPECS]# rpmbuild -bb netxtreme2.spec

    安装新的rmp包: 
    [root@qs-wg-web2 SPECS]# cd /usr/src/redhat/RPMS/x86_64
    [root@qs-wg-web2 x86_64]# rpm  -ivh  netxtreme2-7.4.27-1.x86_64.rpm
     
     
      切换网卡驱动:
      [root@qs-wg-web2  ~]# cat change_driver.sh
     rmmod bnx2 
     rmmod bnx2x  
     modprobe bnx2         

     modprobe bnx2x   
         
    [root@qs-wg-web2  ~]#  chmod u+x change_driver.sh
     
     
    后台执行脚本:

     [root@qs-wg-web2  ~]# ./change_driver.sh &
     
     注意:有时候可能需要重启服务器使服务器系统重新完全加载新的驱动:

    查看新的网卡驱动信息:

    [root@qs-wg-web2 ~]# ethtool  -i eth0

    driver: bnx2
    version: 2.2.3f
    firmware-version: 6.2.12 bc 5.2.3 NCSI 2.0.11
    bus-info: 0000:01:00.0

     

    目前已没有出现自动down的情况。
     
      
      
     
    注意:安装前请仔细看INSTALL.TXT

     如下:
     [root@qs-wg-web2 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-<version>.src.rpm

    The file name for the tar archive is:
    netxtreme2-<version>.tar.gz.

    Identical source files to build the drivers are included in both packages.

    Following is a list of files included -

    a) netxtreme2-<version>.src.rpm - NetXtreme II L2/cnic/bnx2fc/libfc/libfcoe
      driver source RPM
    b) netxtreme2-<version>.tar.gz - tar zipped NetXtreme II
      L2/cnic/bnx2fc/libfc/libfcoe driver source
    c) INSTALL.TXT - This file
    d) README.<driver>.TXT - driver specific readme instructions,
      where driver is bnx2, bnx2x, bnx2i, bnx2fc.
    e) RELEASE.<driver>.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-<version>.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 <kernel version>"

    where <kernel version> 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/<arch>/netxtreme2-<version>.<arch>.rpm

    where <arch> is the machine architecture such as i386:

       rpm -ivh RPMS/i386/netxtreme2-<version>.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_version>/kernel/drivers/net/bnx2.o
        /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.o

    2.6.0 kernels:

        /lib/modules/<kernel_version>/kernel/drivers/net/bnx2.ko
        /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.ko

    2.6.16 and newer kernels:

        /lib/modules/<kernel_version>/kernel/drivers/net/bnx2.ko
        /lib/modules/<kernel_version>/kernel/drivers/net/bnx2x.ko
        /lib/modules/<kernel_version>/kernel/drivers/net/cnic.ko

    Newer RHEL and SLES distros:

        /lib/modules/<kernel_version>/updates/bnx2.ko
        /lib/modules/<kernel_version>/updates/cnic.ko
        /lib/modules/<kernel_version>/updates/bnx2x.ko
        /lib/modules/<kernel_version>/updates/bnx2i.ko
        /lib/modules/<kernel_version>/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 <DRV-NAME>'

    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-<version>.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=<kernel version>

    where <kernel version> 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 <driver>

    2. delete <driver>.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.

  • 相关阅读:
    nginx并发数设置_Nginx Ingress 高并发实践
    推荐一个国人开源的推荐系统
    异步并发利器:实际项目中使用CompletionService提升系统性能
    JDK中CompletableFuture类
    mysql日志redo log、undo log、binlog
    <a>标签下载文件 重命名失败 download 无效
    nginx geo黑名单
    夜莺微信报警-V3
    分布式事务的学习
    php实现AES/CBC/PKCS5Padding加密解密(又叫:对称加密)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3187088.html
Copyright © 2011-2022 走看看