调整网卡工作模式
4.调整网卡工作模式
现在的网卡大多是自适应工作模式,在配置网卡参数时,我们很少考虑它的工作模式,有时发现一些网卡模块已经加载,但是在某些模式工作不稳定。如一块XXX品牌的杂牌RTL-8139C芯片10/100自适应网卡,在100M全双工状态下极其不稳定(在QcheckTCPUDP的测试过程中,数据包遗失率9.12%)。在Linux环境下,我们可以使用系统自带的工具mii-tool命令来配置网卡工作模式。显示Linux服务器网卡支持的所有以太网卡类型,使用命令:
# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
product info: vendor 00:00:00, model 0 rev 0
basic mode:  autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
从以上信息中可以看出,这块网卡工作在100M全双工自适应模式下,“100baseTx-FD”表示100M Full Duplex。这里可以强制网卡工作在100M半双工模式下,输入命令:
mii-tool –F 100baseTx-HD eth0   
然后恢复网卡的自适应工作模式,输入命令:
mii-tool –r eth0 
另外,在路由器、交换机、代理服务器等通信量比较大的关键设备上,应该为它指定正确的工作模式,这样可以提高通信效率。
2.检查网卡是否加载
驱动硬件是操作系统最基本的功能,操作系统通过各种驱动程序来驾驭硬件设备,和Windows系统不同,Linux内核目前采用可加载的模块化设计(LKMsLoadable Kernel Modules),就是将最基本的核心代码编译在内核中,网卡驱动程序是作为内核模块动态加载的,可以使用命令“lsmod”查看加载情况:
## lsmod
Module                  Size  Used by
dm_mod                54741  0
button                  6481  0
battery                8901  0
ac                      4805  0
md5                      4033  1
joydev                10241  0
uhci_hcd              31065  0
ehci_hcd              30917  0
snd_via82xx          26437  0
snd_ac97_codec        63889  1 snd_via82xx
snd_pcm_oss          49017  0
soundcore              9889  1 snd
tulip                  45025  1
via_rhine              23113  2
mii                      4673  1 via_rhine
ext3                  116809  2
jbd                    71257  1 ext3 
对每行而言,第一列是模块名称;第二列是模块大小;第三列是调用数。调用数后面的信息对每个模块而言都有所不同。如果(unused)被列在某模块的那行中,说明该模块当前未被使用。如果(autoclean)被列在某模块的那行中,说明该模块可以被rmmod-a命令自动清除,当这个命令被执行后,所有自从上次被自动清除后,未被使用的且标记了“autoclean”的模块都会被卸载。从以上粗体字符可以看到Linux计算机中两块网卡模块tulipvia_rhine已经加载。对应的网卡商业型号分别是:
  tulip  Lite-On Communications Inc LNE100TX [Linksys EtherFast 10/100]
  via_rhine  Via VT6102[Rhine-II] 常见主板集成网卡。
如果没有检测到硬件,用硬件检测程序kuduz检测网卡,它和Windows中添加新硬件功能差不多。kudzu程序是通过查看/usr/share/hwdata/目录下的文件识别各种硬件设备的。如果内核支持该硬件,并且有该驱动程序就可自动装载。首先需要说明的是,Linux下对网卡的支持往往是针对芯片的,所以对某些不是很著名的网卡,需要知道它的芯片型号以配置Linux,比如Top link网卡,就不存在Linux的驱动,但是因为它与NE2000兼容,所以把它当做NE2000就可以在Linux下使用了。所以当你有一块网卡不能使用,在未到Linux的驱动程序之前,一定搞清楚这个网卡使用的是什么芯片,跟谁兼容,比如3c509NE2000等。
这样的型号一般都在网卡上最大的一块芯片上印着,抄下来就是了。对于ISA接口的NE2000卡,首先需要将网卡设定为Jumpless模式。目前很多网卡默认的都是PnP模式,这在Windows下的确能减少很多麻烦,但是Linux不支持,所以Linux下必须是Jumpless模式。一般所有网卡都带有驱动盘和在DOS下可执行的一个设定程序,用该程序将网卡设为Jumpless。对于PCI网卡,可以使用lspci命令来查看。在显示的列表中到“Ethernet Controller”,记下厂商和型号,然后使用modprobe尝试加载正确的模块,比如modprobe 3c509。如果出现错误,说明该模块不存在。这时候你应该到正确的模块并且重新编译。
何赛飞个人资料简介及身高如果你使用的是比较罕见的一些网卡,或者是Linux核心支持不够的网卡,以致在安装Linux时无法检测到网卡,那也不用担心,我们可以使用较为简单的核心模块编译来支持这块网卡。下面以3COM3CR990-TX-97网卡为例(一款具有安全特性的网卡)看看如何进行模块编译。首先在其网站www.3com/infodeli/tools/nic/linuxdownload.htm下载适合你使用内核版本的相关驱动程序,这里以2.4内核为例。
#wegt www.3com/infodeli/tools/nic/3c990-1.0.
另外在开始编译核心模块之前,因为驱动程序需要配合核心来编译,所以会使用到kernel source或者是kernel header的数据,此外,也需要编译器(compiler)的帮助,因此,先确定你的Linux系统当中已经存在下列软件:kernel-source, kernel, gcc, make
#tar zxvf 3c990-1.0.
#make
此时会产生嘿我真的好想你3c990.o 驱动模块,然后使用命令复制到相应位置,查看加载是否正常。
#modprobe 3c990
#cp 3c990.o  /lib/modules/2.4.20-8/kernel/drivers/net
# depmod –a
开通支付宝账户
然后使用lsmod命令检查加载情况,如果一切正常,可以让系统启动时自动加载该模块:
#echo alias eth0 3c990>> /f
6.在Linux下安装无线网卡
随着Linux网络技术的快速增长,硬件厂商大大提高了硬件产品对Linux的技术支持。使得Linux 支持的无线网卡的数量在过去的一两年里增长显著。一旦在计算机中安装好了无线局域网卡,首先要做的就是安装驱动来让网卡工作。无线网卡实现了IEEE 802.11系列协议中的一种或多种的物理层(PHY)和媒质访问控制子层(MAC)的功能,而驱动是用来控制无线网卡,向上提供与以太网一致的接口和其他一些无线局域网特定的管理接口的。对于不同厂商的不同网卡,还没有一种统一的方法可以驱动所有的网卡。首先必须确保内核配置中启动了无线局域网,如果没有无线局域网支持,你应该重新配置、编译内核来启动“Wireless LAN (non-hamradio) Drivers and Wireless Extensions”
设置无线网络相关步骤如下。
1)用“iwconfig”命令来显示无线网卡(eth0eth1)的信息。在以下步骤中,用ethX表示无线网卡的名称。
2)设置无线网卡的操作模式为Managed
iwconfig ethX mode Managed 
3)如果采用了WEP加密,需要设置WEP密码:
iwconfig ethX key password XXXXXX
对应40位和128位加密,password分别为6位和10位的十六进制数字。
秋葵的做法(4)设置SSID,其中ESSID为无线接入(Access Point)的SSID
iwconfig ethX essid ESSID
5)创建/etc/sysconfig/network/ifcfg-ethX配置文件,使得机器每次启动时,无线网卡都会自动获得IP地址。该文件内容如下:
王力宏伯牙绝弦BOOTPROTO='dhcp'
MTU=''
REMOTE_IPADDR=''
STARTMODE='onboot'
UNIQUE='' 
6)启动无线网卡:
ifconfig ethX up

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。