设为首页收藏本站

数码鹭岛论坛

 找回密码
 注-册

QQ登录

只需一步,快速开始

搜索
查看: 4537|回复: 2
打印 上一主题 下一主题

Dell R410网卡自动断网问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-11 10:14:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言

昨天,前几天公司服务器被攻击了。导致web master直接挂调,其他也没能幸免。在恢复过程中,有两台服务器出现无法连接。明显是网卡宕了。于是用另外一个网卡连进去,重起网络,OK。而另外一台,由于没有启用双网卡,无法远程重起网卡。只能去IDC机房了,第二天下午去了IDC机房,重起网卡OK了。可问题又来了。昨天晚上7点左右,网卡再次宕了。于是,查找原因。最后想起是不是网卡驱动问题呢。Google一翻,没找到有用的价值。最后想起Dell的客服,于是咨询客服。得到的回答是,Dell R410 网卡在CentOS 5.5上有Bug,当网卡流量比较大时,CentOS 5.5自带驱动有问题,会出现前面的情况,需要更新驱动。于是今天下去,再次去机房更新了部分机器的网卡驱动。下面既是更新网卡驱动过程:

1.官方驱动下载地址:
http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php

2.解压出来,会有好几个包。选netxtreme2-6.2.23-1.src.rpm


yum install kernel-devel rpmbuild -y

rpm -ivh netxtreme2-6.2.23-1.src.rpm

cd /usr/src/redhat

rpmbuild –bb SPECS/netxtreme2.spec

cd RPMS/x86_64

rpm -ivh netxtreme2-6.2.23-1.x86_64.rpm

之后,

depmod -a

modprobe  bnx2

lsmod |grep bnx2

之后service network restart



这样就OK了。不过效果,我也在看。目前看还不错,还没有出现网卡宕掉的情况。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2#
 楼主| 发表于 2011-5-11 10:34:10 | 只看该作者
Dell R410 网卡在Centos5.5 上丢包
现象是每几十次访问网页就会一次打不开,数据库,临控等才时常取不到数据.
好像r410的网卡和centos5.5不怎么兼容

uname -a

Linux c1gserver 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

dmesg |grep bnx

Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.9.3 (March 17, 2009)
bnx2: eth0: using MSIX
bnx2: eth0 NIC Copper Link is Up, 100 Mbps full duplex

ifconfig
有大量的丢包;dropped:6620400

eth0      Link encap:Ethernet  HWaddr 00:26:B9:3B:XX:C3  
          inet addr:61.255.xx.xx  Bcast:61.255.xx.xx  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7330597243 errors:1 dropped:6620400 overruns:0 frame:1
          TX packets:8116489614 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3435468718053 (3.1 TiB)  TX bytes:3656517601592 (3.3 TiB)
          Interrupt:82 Memory:da000000-da012800

一.先尝试增加网卡缓存来解决问题
1.ethtool -g eth0

Ring parameters for eth0:
Pre-set maximums:
RX:             1020
RX Mini:        0
RX Jumbo:       4080
TX:             255
Current hardware settings:
RX:             255
RX Mini:        0
RX Jumbo:       0
TX:             255

2.ethtool -G eth0 rx 1000
ethtool -g eth0

Ring parameters for eth0:
Pre-set maximums:
RX:             1020
RX Mini:        0
RX Jumbo:       4080
TX:             255
Current hardware settings:
RX:             1000
RX Mini:        0
RX Jumbo:       0
TX:             255

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:26:B9:3B:XX:C3  
          inet addr:61.255.xx.xx  Bcast:61.255.xx.xx  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1348879 errors:0 dropped:2714 overruns:0 frame:0
          TX packets:1449564 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:646430926 (616.4 MiB)  TX bytes:576842481 (550.1 MiB)
          Interrupt:82 Memory:da000000-da012800

ethtool -S eth0

NIC statistics:
     rx_bytes: 645417070
     rx_error_bytes: 0
     tx_bytes: 575096746
     tx_error_bytes: 0
     rx_ucast_packets: 1345249
     rx_mcast_packets: 17
     rx_bcast_packets: 826
     tx_ucast_packets: 1446406
     tx_mcast_packets: 0
     tx_bcast_packets: 0
     tx_mac_errors: 0
     tx_carrier_errors: 0
     rx_crc_errors: 0
     rx_align_errors: 0
     tx_single_collisions: 0
     tx_multi_collisions: 0
     tx_deferred: 0
     tx_excess_collisions: 0
     tx_late_collisions: 0
     tx_total_collisions: 0
     rx_fragments: 0
     rx_jabbers: 0
     rx_undersize_packets: 0
     rx_oversize_packets: 0
     rx_64_byte_packets: 620303
     rx_65_to_127_byte_packets: 87492
     rx_128_to_255_byte_packets: 36556
     rx_256_to_511_byte_packets: 212099
     rx_512_to_1023_byte_packets: 45961
     rx_1024_to_1522_byte_packets: 343681
     rx_1523_to_9022_byte_packets: 0
     tx_64_byte_packets: 368814
     tx_65_to_127_byte_packets: 714315
     tx_128_to_255_byte_packets: 13048
     tx_256_to_511_byte_packets: 18258
     tx_512_to_1023_byte_packets: 39752
     tx_1024_to_1522_byte_packets: 292219
     tx_1523_to_9022_byte_packets: 0
     rx_xon_frames: 0
     rx_xoff_frames: 0
     tx_xon_frames: 0
     tx_xoff_frames: 0
     rx_mac_ctrl_frames: 0
     rx_filtered_packets: 0
     rx_discards: 0
     rx_fw_discards: 2704

rx_fw_discards: 2704
问题没有解决,依然丢包

二.更新网卡驱动
lsmod |grep bnx2

bnx2                  209997  0

ethtool -i eth0

driver: bnx2
version: 1.9.3
firmware-version: 5.0.6 NCSI 2.0.3
bus-info: 0000:01:00.0

modinfo bnx2

filename:       /lib/modules/2.6.18-164.el5/kernel/drivers/net/bnx2.ko
version:        1.9.3
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
author:         Michael Chan <mchan@broadcom.com>
srcversion:     D151EAED8C1037CA480DE9A
alias:          pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias:          pci:v000014E4d00001639sv*sd*bc*sc*i*
alias:          pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias:          pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:        
vermagic:       2.6.18-164.el5 SMP mod_unload gcc-4.1
parm:           disable_msiisable Message Signaled Interrupt (MSI) (int)
parm:           enable_entropy:Allow bnx2 to populate the /dev/random entropy pool (int)
module_sig:     883f3504a9f766557f09578a977b7e112ebf209f6aab61295466fb787675fec1378b254df8d186609f705f1f37e06d7e2958667d258f6afe6ac1621228

1.从官网下载驱动
http://zh-cn.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
6.2.23 03/18/11
24MB

2.安装包
unzip linux-6.2.23.zip
cd Server/Linux/Driver/
rpm -ivh netxtreme2-6.2.23-1.src.rpm

1:netxtreme2                                                       ########################################### [100%]

3.编译
cd /usr/src/redhat/
rpmbuild -bb SPECS/netxtreme2.spec

Wrote: /usr/src/redhat/RPMS/x86_64/netxtreme2-6.2.23-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.43778
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd netxtreme2-6.2.23
+ rm -rf /var/tmp/netxtreme2-buildroot /usr/src/redhat/BUILD/file.list.netxtreme2
+ exit 0

exit 0表示成功(1-255是失败)

4.安装生成的rpm包
cd RPMS/x86_64/
rpm -ivh netxtreme2-6.2.23-1.x86_64.rpm

Preparing...                                                          ########################################### [100%]
   1:netxtreme2                                                       ########################################### [100%]

新的驱动会生成在/lib/modules/2.6.18-164.el5/updates/

5.加载驱动
depmod -a
modprobe bnx2
service network restart
lsmod |grep bnx2

bnx2                  209997  0

ethtool -i eth0

driver: bnx2
version: 1.9.3
firmware-version: 5.0.6 NCSI 2.0.3
bus-info: 0000:01:00.0

看着好像没区别,modinfo可以看到详细信息
modinfo bnx2

filename:       /lib/modules/2.6.18-164.el5/updates/bnx2.ko
version:        2.0.23b
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
author:         Michael Chan <mchan@broadcom.com>
srcversion:     6E0DD070AB24C11F50B2712
alias:          pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias:          pci:v000014E4d00001639sv*sd*bc*sc*i*
alias:          pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias:          pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:        
vermagic:       2.6.18-164.el5 SMP mod_unload gcc-4.1
parm:           disable_msiisable Message Signaled Interrupt (MSI) (int)
parm:           stop_on_tx_timeout:For debugging purposes, prevent a chip  reset when a tx timeout occurs (int)

观察一段时间没有问题

参考:
http://www.pcwind.net/dell-r410.html
http://bbs.linuxtone.org/thread-3813-1-1.html
3#
 楼主| 发表于 2011-5-11 10:36:08 | 只看该作者

DELL R410网卡驱动安装

两种安装方式

官方链接http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php(官方驱动的名字偶尔会改)

一,源码RPM包安装方式

1,[root@lab ~]# ls
anaconda-ks.cfg Desktop      install.log.syslog           netxtreme2-4.8.10.tar.gz
ChangeLog        install.log netxtreme2-4.8.10-1.src.rpm
[root@lab ~]# rpm -ivh netxtreme2-4.8.10-1.src.rpm             安装源码包
   1:netxtreme2             ########################################### [100%]

2,[root@lab ~]# cd /usr/src/redhat/
[root@lab redhat]# ls
BUILD RPMS SOURCES SPECS SRPMS
[root@lab redhat]# rpmbuild -bb SPECS/netxtreme2.spec

在源码编译结束的时候会看到如下的提示
Wrote: /usr/src/redhat/RPMS/i386/netxtreme2-4.8.10-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.59603
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd netxtreme2-4.8.10
+ rm -rf /var/tmp/netxtreme2-buildroot /usr/src/redhat/BUILD/file.list.netxtreme2
+ exit 0                   (如果返回值为1-255,就说明编译没有成功)

3,[root@lab redhat]# rpm -ivh RPMS/i386/netxtreme2-4.8.10-1.i386.rpm           安装编译之后生成的rpm包
Preparing...                ########################################### [100%]
   1:netxtreme2             ########################################### [100%]

4,这里有一点就要注意了,装完之后你可能不知道生成的模块去了哪里,可以用以下命令来查询,
[root@lab redhat]# rpm -ql netxtreme2         (netxtreme2 软件名,不是完整的包名)
/lib/modules/2.6.18-53.el5/updates/bnx2.ko     这下就知道模块所在的位置了,在/lib/modules/2.6.18-53.el5/updates 里边
/lib/modules/2.6.18-53.el5/updates/bnx2x.ko
/lib/modules/2.6.18-53.el5/updates/cnic.ko
/usr/share/doc/netxtreme2-4.8.10
/usr/share/doc/netxtreme2-4.8.10/LICENSE
/usr/share/doc/netxtreme2-4.8.10/README.bnx2.TXT
/usr/share/doc/netxtreme2-4.8.10/README.bnx2x.TXT
/usr/share/doc/netxtreme2-4.8.10/RELEASE.bnx2.TXT
/usr/share/doc/netxtreme2-4.8.10/RELEASE.bnx2x.TXT
/usr/share/man/man4/bnx2.4.gz
/usr/share/man/man4/bnx2x.4.gz
/usr/src/bnx2/bnx2.h
/usr/src/bnx2/cnic_drv.h
/usr/src/bnx2/cnic_if.h

5,[root@lab redhat]# lsmod |grep bnx2           安装后默认没有加载该模块
[root@lab redhat]# modprobe bnx2                  手动加载,modprober命令会去搜索/lib/modules/2.6.18-53.el5下边所有的包
[root@lab redhat]# lsmod |grep bnx2                再次查看就有了
bnx2                  171400 0

附三个生成的模块的说明,这个在Broadcom的tar包解压后,里边有详细说明
- 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
10/100/1000/2500/10000 Mbps PCIE Ethernet Network Controller.

- cnic driver that supports additional features required by the bnx2i iSCSI
offload driver. The bnx2i iSCSI driver is packaged separately.
-------------------------------------------------------

二,tar包安装方法

1,[root@lab ~]# tar zxvf netxtreme2-4.8.10.tar.gz   解压tar.gz包
netxtreme2-4.8.10/
netxtreme2-4.8.10/bnx2
netxtreme2-4.8.10/bnx2-1.8.5b/
。。。。。。。。。。。。。。

2,[root@lab ~]# cd netxtreme2-4.8.10
[root@lab netxtreme2-4.8.10]# ls
bnx2 bnx2-1.8.5b bnx2x bnx2x-1.48.53 INSTALL.TXT Makefile
此时在这个地方就可以编译了,编译并安装之后会生成三个模块:bnx2.ko,bnx2x.ko,cnic.ko
[root@lab netxtreme2-4.8.10]# make;make install

3,如果只需要生成bnx2.ko(cnic.ko是附带的)这个模块,可以进入当前目录下边的子目录bnx2/src,然后执行make;make install
[root@lab src]# pwd
/root/netxtreme2-4.8.10/bnx2/src
[root@lab src]# make;make install   编译并安装
。。。。。。。。。。。。。。。
mkdir -p //lib/modules/2.6.18-53.el5/updates;
install -m 444 bnx2.ko cnic.ko //lib/modules/2.6.18-53.el5/updates;
install -m 444 bnx2.4.gz /usr/share/man/man4;
mkdir -p /usr/src/bnx2;
install -m 644 cnic_if.h cnic_drv.h bnx2.h /usr/src/bnx2;
您需要登录后才可以回帖 登录 | 注-册

本版积分规则

小黑屋|手机版|Archiver|数码鹭岛 ( 闽ICP备20006246号 )  

counter

GMT+8, 2025-12-3 23:19 , Processed in 0.069139 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表