设为首页 设为首页 | 收藏本站 收藏本站 | 简繁转换
   中国网管联盟
网盟首页 | 企业建站 | IT厂商 | IT认证 | 网站建设 | 病毒播报 | 网管介绍 | 黑客帝国 | 网吧视角 | 网站导航 |
网管协会 | 网管学院 | IT产品 | IT职场 |ERP技术| 电脑故障 | 求职招聘 | 网络创业 | 加入我们 | 网站投稿 |
 您当前位置:网管联盟 >首页 -> IT技术 -> IT认证 -> Linux认证 【文章字体颜色: 绿       双击自动屏滚阅读

Linux系统下新手装网卡指南

编辑:fufei | 2008-02-24 01:49:35 | 来源:youPC.cn |  匿名投稿  加入会员  收藏本文 [821]

 

本文主要面对新新手,不对任何高难度问题进行讨论,包括双网卡,正常编译了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
  将最前面的#号去掉,再启动机器试试.
    另外该文件里还可以发现对其它螪AO型ū热3C螪AO械腶utoprobe.
    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螪AO械目ㄒ捕加兄С.至于其它卡比如我的DEC 21140就麻烦很多.
    另外有些卡即使用某种芯片也未必就能用这个芯片的驱动,这种情况就是有驱动程序也不能用,就需要上网查了.
    有关Intel Etherexpress螪AO锌ǖ呐渲.Linux内核中有Etherexpress 16的支持,但没有其它卡的driver.在http://cesdis.gsfc.nasa.gov/
 责任编辑:中国网管联盟  

 

会员介绍                                免费加入会员

内容搜索

关键字:

 

 

 

 

 

 Linux中vi命令大全: vifilename:打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并..  [阅读全文]
 安卓越来越流行,现在为大家介绍一下安卓系统的文件结构,一个完整的ROM根目录会有以下几个文件夹及文件..  [阅读全文]
 预备知识 在我们添加硬盘前,首先要罶鈒inux系统下对硬盘和分区的命名方法。 在Linux下对IDE的设备是..  [阅读全文]

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2006-2015 YouPC.CN All Rights Reserved.
感谢所有关心和支持过中国网管联盟的朋友们
我们一直用心在做我们的网站
粤ICP备13025977号
深圳网络警察报警平台 违法和不良信息举报中心 经营性网站备案      

站长QQ:4735566

本站QQ群:32903123