发表于:2009-9-17 浏览:270 作者: 来源:互联网
关键字:LINUX,BROADCOM,网卡,间断工作
描述:如何解决 Broadcom 的网卡在Red Hat Enterprise Linux 3 和更高版本中出现的间断的停止工作的问题?当出现这个问题时,第一件事情就是检查 Broadcom 网卡的模
如何解决 Broadcom 的网卡在Red Hat Enterprise Linux 3 和更高版本中出现的间断的停止工作的问题?
当出现这个问题时,第一件事情就是检查 Broadcom 网卡的模块是否成功加载?在 Red Hat Enterprise Linux 2.1,网卡的模块是bcm5700,但是现在已经被替换成tg3模块了。我们可以通过输入lsmod命令来查看模块的类型,它的输出类似与:
# lsmod
Module Size Used by Not tainted
soundcore 7012 0 (autoclean)
nls_iso8859-1 3516 0 (autoclean)
udf 99552 0 (autoclean)
ide-cd 34016 0 (autoclean)
cdrom 32544 0 (autoclean) [ide-cd]
lp 9124 0 (autoclean)
parport 38816 0 (autoclean) [lp]
autofs 13620 0 (autoclean) (unused)
tg3 58312 2
ipt_REJECT 4632 1 (autoclean)
ipt_state 1080 3 (autoclean)
ip_conntrack 29704 1 (autoclean) [ipt_state]
iptable_filter 2412 1 (autoclean)
ip_tables 16544 3 [ipt_REJECT ipt_state iptable_filter]
floppy 57488 0 (autoclean)
sg 37228 0 (autoclean)
microcode 6848 0 (autoclean)
keybdev 2976 0 (unused)
mousedev 5624 1
hid 22276 0 (unused)
input 6144 0 [keybdev mousedev hid]
usb-ohci 23176 0 (unused)
usbcore 80928 1 [hid usb-ohci]
ext3 89960 3
jbd 55060 3 [ext3]
aacraid 34148 4
sd_mod 13360 8
scsi_mod 112680 3 [sg aacraid sd_mod]
模块的名字是第一列,如果bcm5700出现在列表中,你需要运行下面的命令删除bcm5700模块和用tg3模块代替它:
# service network stop
# rmmod bcm5700
# modprobe tg3
# service network start
如果你没有tg3模块,你可以通过在红帽网络上下载最新的核心模块来得到它。同时你需要确认/etc/modules.conf文件正确加载了这些模块。你的/etc/modules.conf文件看起来类似下面:
alias eth0 tg3
alias scsi_hostadapter aacraid
alias usb-controller usb-ohci
如果你正确加载了模块但是你的网卡仍然没有规律地停止工作,你需要手动设置它的速度和工作模式. 这可以通过ethtool命令完成,假设eth0是你网卡的设备接口:
ethtool -s eth0 speed <10 | 100 | 1000> duplex < half | full> autoneg off
如果你的计算机和你的交换机或者路由器的连接存在Auto-negotiation的问题时,这种情况通常会发生。为了使这个设置永久有效,你需要编辑/etc/sysconfig/network-scripts/ifcfg-eth0 文件然后加入:
ETHTOOL_OPTS=”speed <10 | 100 | 1000> duplex < half | full>”
这可以使你的配置的改变永久保存,而不需要在每次机器重新启动时再设置速度和工作模式。如果上面的设置仍然不能生效可能是硬件的问题,你需要改变网卡连接的端口,改变连接线,改变网卡的插槽,关闭你的交换机或者路由器的 auto-negotiation 功能。如果这个工作仍然不能生效,可能是操作系统其他的设置问题或者网卡本身的硬件问题。
通常这也是一个好注意:在进行进一步的找到问题的原因的时候,检查物理层(网卡,交换机/集线器的端口等)是否工作正常。