新装Linux系统没有网卡驱动的解决办法
05-16
刚安装的linux系统没有网卡驱动,下面给出我的解决方法:
(机器系统是RHEL5.3)
首先说明几个命令:
#lsmod
——显示已载入系统的模块。
执行lsmod指令,会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。
#dmidecode
——以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
#lspci
——list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能列出来),通过该命令可以查到网卡的厂商和型号。
#modprobe
——自动处理可载入模块。modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。
#depmod
——分析可载入模块的相依性。depmod可检测模块的相依性,供modprobe在安装模块时使用。
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”,记下厂商和型号。然后在网上搜索该型号对应的linux平台下的驱动,下面以笔者的机器为例进行操作:
复制代码
代码如下:
[root@localhost ~]# lspci | grep 'Ethernet controller'
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller (rev 12)
网卡公司是Marvell,型号是88E8040,根据该型号就可以在网上搜索了。笔者建议最好到官方网站下载,而且不要使用IE。就是这个IE真把我害苦了,老是提示下载站点危险,不可靠。怎么设置IE选项都不行,最后换了360浏览器,立马能下载啦,当时真把自己感动坏了。
下载的驱动名字是:
复制代码
代码如下:
install_v10.85.9.3.tar.bz2
然后随便考到一个目录下,执行下面命令:
复制代码
代码如下:
[root@localhost ~]#tar jxvf install_v10.85.9.3.tar.bz2
,在当前路径下得到一个DriverInstall目录,进入该目录:
复制代码
代码如下:
[root@localhost ~]cd DriverInstall
然后会看到一些文件。
注:现在有些驱动,虚拟机工具等软件虽然是tar包,但是为了安装方便,都被编写成了脚本文件,所以当你拿到这个解压后的软件时,只需执行它的的脚本即可,后面的就根据提示进行操作,基本就是傻瓜式操作。
拿这个软件来说,执行命令:
复制代码
代码如下:
[root@localhost ~]./install.sh
下面的执行就是提示操作,怎么提示,你就怎么操作。英文不能太差,因为这类信息几乎都是英语的,不过你可以查辞典的。
最后,重启机器就行了。
另外,网上还有的做法是先编译生成模块,然后进行加载。若加载成功的话,就让系统启动时自动加载该模块。这种做法很常规,也是最有说服力的。笔者下载的驱动脚本里直接集成了这些步骤,看起来简单,实际上都写在了脚本里。