驱动硬件是操作系统最基本的功能,操作系统通过各种驱动程式来驾驭硬件设备,和Windows系统不同Linux内核现在采用可加载的模块化设计(LKMs Loadable 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电脑中两块网卡模块:tulip和via_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的驱动程式之前一定搞清楚这个网卡用的什么芯片,跟谁兼容,比如3c509,ne2000等。这样的型号一般都在网卡上最大的一快芯片上印着,抄下来就是了。对于ISA接口的NE2000卡,先要作的一件事情,是将网卡设定为Jumpless模式.很多现在的网卡缺省都是PnP模式,这在Windows下的确能减少很多麻烦,但是Linux不支持,所以Linux下必须是Jumpless模式.一般任何网卡都有带的驱动盘和DOS下可执行的一个设定程式,用该程式将网卡设为 Jumpless。对于PCI网卡,能够使用命令来查看:lspci。在显示的列表中找到“Ethernet Controller”,记下厂商和型号。然后使用modprobe尝试加载正确的模块,比如modprobe 3c509。假如出现错误,说明该模块不存在。这时候您应该找到正确的模块并且重新编译。问题一般即可解决。
假如很不幸的,您使用的是比较罕见的一些网卡,或是 Linux 核心支持不够的网卡,以致于在安装 Linux 时,并无法检测到网卡,那也不用担心,我们能够使用较为简单的核心模块编译来支持这张网卡。下面以笔者的3Com的3CR990-TX-97 网卡为例(一款具备安全特性网卡)看看如何进行模块编译。首先在其网站http: //www.3com.com/infodeli/tools/nic/linuxdownload.htm 下载合适您使用内核版本的相关驱动程式,这里以2.4内核为例。
#wegt http://www.3com.com/infodeli/tools/nic/3c990-1.0.0a.tar.gz
另外在开始编译核心模块之前,因为驱动程式需要配合核心来编译,所以会使用到 kernel source 或是 kernel header 的数据,此外,也需要编译器 ( compiler ) 的帮助,因此,先确定您的 Linux 系统当中已下列软件的存在:kernel-source 、kernel 、gcc 、make。
#tar zxvf 3c990-1.0.0a.tar.gz
#make
此时会产生3c990.o 驱动模块。然后使用命令拷贝到相应地方然后查看加载是否正常。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



