当前位置:  技术问答>linux和unix

如何安装网卡

    来源: 互联网  发布时间:2015-01-21

    本文导语:  在linux上如何驱动网卡? | 本文主要面对新手,不对任何高难度问题进行讨论,包括双网卡,正常编译了driver也不能用的古怪网卡等。本文的主要目的是告诉新手,Linux下网卡是怎样被驱动的...

在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模式。一般所有网卡都有带的驱动盘和DOS下可执行的一个设定程序,用该程序将网卡设为Jumpless。当然如果是老卡,本来就不是PnP,不用管这个。注意,这里主要是ISA的NE2000,关于PCI的NE2000,需要另外设置。

下来就是得弄清楚网卡的IO地址和IRQ。这是两个非常重要的网卡驱动参数。这个最简单就是还用那个网卡的设定程序,设定完Jumpless之后肯定有地方可以软设定IO和IRQ。老一些的卡得跳线,道理一样。另外一个方法是如果网卡能在95或NT下工作,去95下的controlpanel里看这个卡的properities,查IO和IRQ。


OK,到现在,你知道了你的卡是NE2000兼容,知道了它是在Jumpless模式下,知道了IO地址和IRQ,就可以安装了。

Linux系统与95这些系统不同的一点是它是运行在"内核"上的,所谓内核,就是把系统最核心的部分孤立出来编程,将各种驱动程序,内存控制等部分编在一起。于95不同,L x得内核是公开的,经常更新的,这样不需要更新整个系统,用户只需要把最新的内核原程序download下来编译,就可以得到一个支持更多硬件,更多文件系统,更安全的系统了。所以需要指出,Linux的Driver很少有象95下那样是"安装"的。Linux下的driver大多数都是以C程序形式发布,或者在内核里,或者需要用户自己修改内核代码。总之要让Driver运行,得重新配置编译内核。如何操作Linux内核是学习Linux中非常重要的一节。Linux的新手
最好在这里多下点功夫搞清楚。有关核心的问题建议看LinuxHowTo文档中的kernelHowto。

Anyway,Linux已经装好了,那么用的是什么内核呢?一般缺省的Linux内核是从安装盘上来的。那个内核一般包括大多数硬件的驱动程序,比如Ne2000卡。所以不一定要重新编译内核,也许现有的内核就可以驱动。所以下一步就是把网卡插入计算机,看看Linux能否
发现它。这可以从Linux的启动画面中看出来,如果你发现如下的 一行:
eth0:NE2000cardfoundat0x300usingIRQ05那就说明Linux发现了NE2000卡,在IO300,IRQ05的地方。

如果Linux没有发现你的网卡,但是你确认你网卡的型号和参数,比如我的网卡是NE2000兼容,IO0x300,IRQ05。那么可以修改Linux启动文件专门搜索这个设备。这个文件在/etc/rc。d/rc。modules里对于NE2000,是这样的#/sbin/modprobeneio=0x300#NE2000at0x300将最前面的#号去掉,再启动机器试试。

另外该文件里还可以发现对其它系列网卡比如3C系列的autoprobe。

OK,到现在启动屏幕上也没有出现eth0:NE2000cardfoundat0x300usingIRQ05
这样的好消息,那么你就得编译内核了。

编译内核之前一定要搞清楚的是网卡的芯片号。比如我有一块SMC的网卡,但是我是无法在Linux的内核配置菜单里找到SMC这样的字样的,Linux不是win95,有那么长一串厂商牌号等。我在这个SMC的卡上找到了digital21140-AE的字眼,于是我知道这个卡用的是DEC21140-AE芯片,于是按照这个寻找,就找到了驱动。

知道了芯片类型,或者兼容类型(比如ne2000)就可以开始编译内核了。具体的针对不同系统的内核编译推荐先看看有关内核编译的文章,这里不多作介绍。

进入/usr/src/linux运行makemenuconfig进入菜单配置内核。找到NetworkDeviceSupport。选则EtherNet,再选则相应的芯片号。如果是ISA系线的NE2000,就选则
otherISAcards,选则NE2000/NE1000ISAsupport。如果是PCI的网卡,就选则PCIethernetadapters。注意,PCI卡未必都能这样驱动,很多都不行,得另外找driver。比如IntelPCIEtherExpressPro100等。

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

配置完内核后,运行makedep;make;makezlilo就可以了。如果内核选项过多会出现过大的情况而无法安装。那么需要把一些不必要的驱动去掉。


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


我的经验,Linux下NE2000兼容卡都比较好设。3c系列的卡也都有支持。至于其它卡比如我的DEC21140就麻烦很多。另外有些卡即使用某种芯片也未必就能用这个芯片的驱动,这种情况就是有驱动程序也不能用,就需要上网查了。

有关IntelEtherexpress系列卡的配置。Linux内核中有Etherexpress16的支持,但没有其它卡的driver。在 http://cesdis。gsfc。nasa。gov/linux/drivers/eepro100.html里 有关于EtherExpress100Bpro的讨论。在那里可以download到一个c源码的驱动程序,编译进内核就可以了。

那么,如果以上都试过了,而你的网卡的确还是不能认,那么你需要上网查driver了。在网上查东西是一门看起来简单实际上极体现经验的学问。建议寻找Linux网卡的driver从 http://cesdis.gsfc.nasa.gov/linux/drivers/开始。 在那里可以发现的针对网卡的驱动有:

DECDC21*4*Tulipchipbasedcards
3ComPCIEtherlinkPCIandEISAcards
IntelEtherExpressPro100B,Pro100+andPro10+PCI
3c515ISAFastEtherlinkcard
SMCEtherPowerII(EPIC/10083c170chip)driver。
RealTekRTL8129/8139driver。
Lite-Onlc82c168PNICdriver(nowmergedwiththeTulipdriver)。
MacronixMX98713andASIXexperimentaldriversarenowmergedwiththeTulipdriver)。
VIARhine(VT86C100Aand3043)driver(nowreleased)。
Winbondw89c840driver(betatest)。Note:thisdriverwaswrittenwithoutofficialdocumentation。
TIThunderLANdriver(externallink--Caldera/JamesBanks)。
HewlettPackard100VGdriverupdates(externallink--Yaroslav)。

IntelEtherExpressPro/10PCIdriver(remotelink)。
3c509/3c529/3c579ISA/MCA/EISAEtherLinkIIIdriverupdate。Thedrivernowdetectsmultiplecardswhenloadedasamodule。
AMDLANCE/PCnetdriverupdate。Thedriverisnowusableasaloadablemodule。
Cirrus/Crystal/IBMCS8900seriesdriver(remotelink)。
PCINE2000driver(localpage)
PCINE2000updates(remotelink)

IntelEtherexpressPro100,
DEC21X4*basedboard,
3ComEtherLinkIIIPCI/EISA(3c5903c592,3c595,3c597,3c9003c905)
IntelEtherExpressPro/10PCI9Withi82596Chip)
TIThunderLan
PCINE2000
PacketEngines"Yellowfin"G-NIC
SMCEtherPowerII(EPIC/10083c170chip)
RealTekRTL8129/8139

同时还有一个EcomEtherLinkIIIfamily的setup程序,没有用过,也许不错。


如果这里你还是没有找到相应的网卡驱动,那么就去search了。
我推荐的方法是上InternetNewsgroup查。因为你绝对不是第一个在Linux
下用这个网卡的人,你的问题绝对有人在网络上问过。而且有人回答过。
那么问题就是如何找到他。最简单的方法是打开netscape到www。dejanews。com
去。这里的关键是关键字的选则,比如我有个卡的芯片是DEC的21140,那么我考虑到
21140已经是个长数字,于是输入21140linux来搜索,这里Linux是必须的,否则
看到上千篇关于21140win95的驱动问题,是不是很烦?结果21140linux
很快就找到了有关文章。

如果这样也找不到驱动程序,或者有了驱动程序不知道怎么用,用了出问题,再
来版上问。记得把具体的网卡型号,芯片型号,你作过什么努力,什么问题等都
写清楚,以便于他人帮助。


    
 
 

您可能感兴趣的文章:

  • 最新CentOS 7中文正式版64位下载、安装及CentOS网卡IP配置(ifconfig)(图文)
  • 我在安装netware 操作系统时, 在选择网卡型号时, 找不到我的网卡的型号, 请问怎样办?
  • Red hat 9.0 无法识别USB移动硬盘, 无法识别网卡和无线网卡,请问如何安装驱动?
  • ********菜鸟问题,LINUX安装时没有检测到网卡********* iis7站长之家
  • sco unix安装问题?8139网卡能安装上吗??
  • debian网卡安装问题
  • 超级菜的问题,不知道网卡在那里安装。
  • unix下的网卡安装问题
  • ********菜鸟问题,LINUX安装时没有检测到网卡*********
  • 急急,如何在SCO 5.0.5下安装网卡?
  • 谁会在DOS下面安装网卡驱动程序?
  • 如何RedHat 6.2下安装网卡?
  • 各位老大,在redhat9下如何安装dlink 530tx网卡?
  • 安装debian,提示探测不到网卡
  • 单机无网卡,在 Virtual PC 下面安装 linux 问题
  • unixware 7.1.3 安装 VM中的网卡的问题
  • SunOS 5.10 网卡驱动安装问题???
  • 一个linux安装----关于网卡识别的问题
  • 急急急!!DOS下的网卡安装问题
  • redhat9下的realtek 8139 网卡安装,100分
  • [新手问题]关于网卡安装
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker支持的安装方式
  • linux安装nagios,安装nrpe时候,先安装了openssl再从安装nrpe出错。
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我已经用源代码方式安装了apache,如何让它支持php和mysql(php没有安装,mysql安装的是rpm包),要不要重新安装apache?如何删除已有的ap
  • CentOS下PHP安装完成后继续安装GD扩展库
  • 请教IBM服务器安装AIX的安装资料(教程或者资料,最好有安装步骤)
  • win7, win8安装docker需要了解的概念
  • 为什么安装redhat 7.1的时候没有让我配置lilo的安装而是系统默认的给我安装了--那位哥们安装过redhat7.1还望赐教
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 我安装的是Red Flag版本的linux,汉字输入法还没有安装,请问怎么安装?
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 关于X库安装问题:我怎么查看我已经安装了哪些X库,并且哪些知道安装的版本号?
  • win7,win8安装Docker具体过程
  • android自动安装apk代码实例(不使用apk安装器安装)
  • php安装完成后如何添加mysql扩展
  • ubuntu 安装失败后,xp也无法进入;连xp安装盘也无法安装
  • 红帽RHEL下安装docker依赖性检查
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 在已经安装了windows2000server的机器上安装红旗linux时,如何配置引导记录安装位置?急
  • MemCached介绍及最新稳定版memcached-1.4.20.tar.gz下载和安装
  • ubuntu10.04下安装openvz,openvz下安装ubuntu10.04,然后安装ipvsadm问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,