您的位置 首页 设计

Linux下新手装网卡攻略

本文主要面对新新手,不对任何高难度问题进行讨论,包括双网卡,正常编译了driver也不能用的古怪网卡等。本文的主要目的是告诉新新手,Linux下网卡

本文首要面临新新手,不对任何高难度问题进行评论,包含双网卡,正常编译了driver也不能用的乖僻网卡等。本文的首要意图是告知新新手,Linux下网卡是怎样被驱动的。本文不评论装置Linux的问题,假定用户现已成功安Linux,就等驱动网卡。

第一步:不要再问Linux下能够装XXX卡么? 这样的问题,Linux是个敞开的体系,借助于网络上许多的高手,简直一切的硬件都能找到支撑。

首要需求指出,Linux下对网卡的支撑往往是只对芯片的,所以对某些不是很闻名的网卡,往往需求知道它的芯片类型以装备Linux.比方我的Accton 网卡,就不存在Linux的driver,可是由于它是NE2000兼容,所以把它当NE2000就能够在Linux下用了。所以当你有一块网卡不能用,在找Linux的driver之前必定搞清楚这个网卡用的什么芯片,跟谁兼容,比方3c509,ne2000,etherexpress等等。这样的类型一般都在网卡上最大的一快芯片上印着,抄下来便是了。

最遍及运用或许是最好配的网卡或许便是Ne2000兼容卡了,我用它来作比方.留意实际上许多廉价卡都是NE2000兼容的。

关于NE2000卡,先要作的一件作业,是将网卡设定为Jumpless方式。许多现在的网卡缺省都是PnP方式,这在95下确实能削减许多费事,可是Linux不支撑,所以Linux下有必要是Jumpless方式。一般一切程序将网卡设为Jumpless。当然假如是老卡,原本就不是PnP,不必管这个。留意,这儿首要是ISA的NE2000,关于PCI的NE2000,需求别的设置。

下来便是得弄清楚网卡的IO地址和IRQ。这是两个非常重要的网卡驱动参数。这个最简略便是还用那个网卡的设定程序,设定完Jumpless之后必定有当地能够软设定IO和IRQ.老一些的卡得跳线,道理相同。别的一个办法是假如网卡能在95或NT下作业,去95下的control panel里看这个卡的properities,查IO和IRQ。

OK,到现在,你知道了你的卡是NE2000兼容,知道了它是在Jumpless方式下,知道了IO地址和IRQ,就能够装置了。

Linux体系与95这些体系不同的一点是它是运转在内核上的,所谓内核,便是把体系最中心的部分孤立出来编程,将各种驱动程序,内存操控等部分编在一同。于95不同,Linux得内核是揭露的,常常更新的,这样不需求更新整个体系,用户只需求把最新的内核原程序download下来编译,就能够得到一个支撑更多硬件,更多文件体系,更安全的体系了。所以需求指出,Linux的Driver很少有象95下那样是。装置的Linux下的driver大多数都是以C程序方式发布,或许在内核里,或许需求用户自己修正内核代码。总归要让Driver运转,得从头装备编译内核。怎么操作Linux内核是学习Linux中非常重要的一节。Linux的新手最好在这儿多下点功夫搞清楚.有关中心的问题主张看Linux How To文档中的kernel How to。

Anyway,Linux现已装好了,那么用的是什么内核呢?一般缺省的Linux内核是从装置盘上来的。那个内核一般包含大多数硬件的驱动程序,比方Ne2000卡。所以未必定要从头编译内核,或许现有的内核就能够驱动。所以下一步便是把网卡刺进计算机,看看Linux能否发现它。这能够从Linux的发动画面中看出来,假如你发现如下的一行:

eth0:NE2000 card found at 0x300 using IRQ 05

那就阐明Linux发现了NE2000卡,在IO 300,IRQ 05的当地。

假如Linux没有发现你的网卡,可是你承认你网卡得类型和参数,比方我的网卡是NE2000兼容,IO 0x300,IRQ 05。那么能够修正Linux发动文件专门查找这个设备。这个文件在/etc/rc.d/rc.modules里关于NE2000,是这样的:

#/sbin/modprobe ne io=0x300 # NE2000 at 0x300

将最前面的#号去掉,再发动机器试试。

别的该文件里还能够发现对其它系列网卡比方3C系列的autoprobe。

OK,到现在发动屏幕上也没有呈现

eth0:NE2000 card found at 0x300 using IRQ 05

这样的好消息,那么你就得编译内核了。

编译内核之前必定要搞清楚的是网卡的芯片号。比方我有一块SMC的网卡,可是我是无法在Linux的内核装备菜单里找到SMC这样的字样的,Linux不是win95,有那么长一串厂商商标等。我在这个SMC的卡上找到了digital 21140-AE的字眼,所以我知道这个卡用的是DEC 21140-AE芯片,所以依照这个寻觅,就找到了驱动。

知道了芯片类型,或许兼容类型(比方ne2000)就能够开端编译内核了。详细的针对不同体系的内核编译引荐先看看有关内核编译的文章,这儿不多作介绍。

进入/usr/src/linux

运转make menuconfig进入菜单装备内核。找到Network Device Support.选则EtherNet,再选则相应的芯片号.假如是ISA系线的NE2000,就选则other ISA cards,选则NE2000/NE1000 ISA support。假如是PCI的网卡,就选则PCI ethernet adapters。留意,PCI卡未必都能这样驱动,许多都不可,得别的找driver。比方Intel PCI EtherExpress Pro 100等。

有关其它选项希望能多自己探索。多看看help和how-to。

装备完内核后,运转make dep;make;make zlilo就能够了。假如内核选项过多会呈现过大的状况而无法装置。那么需求把一些不必要的驱动去掉。

一般这样之后再发动就能够发现网卡了。驱动了网卡,下一步便是设定TCP/IP这些东西。这就不是这儿的内容了。

我的经历,Linux下NE2000兼容卡都比较好设。3c系列的卡也都有支撑.至于其它卡比方我的DEC 21140就费事许多。

别的有些卡即运用某种芯片也未必就能用这个芯片的驱动,这种状况便是有驱动程序也不能用,就需求上网查了。

有关Intel Etherexpress系列卡的装备.Linux内核中有Etherexpress 16的支撑,但没有其它卡的driver。在http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html里有关于EtherExpress 100B pro的评论。在那里能够download到一个c源码的驱动程序,编译进内核就能够了。

那么,假如以上都试过了,而你的网卡确实仍是不能认,那么你需求上网查driver了。在网上查东西是一门看起来简略实际上极表现经历的学识。主张寻觅Linux网卡的driver从http://cesdis.gsfc.nasa.gov/linux/drivers/开端。在那里能够发现的针对网卡得驱动有:

DEC DC21*4* Tulip chip based cards

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/300061.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部