by Paul Gortmaker v2.8, Oct 29, 2000 -------------------------------------------------------------------------------- 本文为以太网-HOWTO,汇集了有关哪些以太网装置可以用于linux,以及如何进行设置的信息。请注意本文侧重于以太网卡的硬件与底层驱动方面的内容,并未涵盖诸如ifconfig和route等软件方面的问题。对于那些问题,请参阅Network-HOWTO。 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 1. 导言 以太网-HOWTO包括了该买什么网卡与不该买什么网卡;如何设置网卡,怎样运行多个网卡,以及其它常见错误和问题。它包含了对目前所有能够得到的最常见网卡的支持的细节资料。 它不包含有关软件方面的内容,因为NET-3 Howto中包含了这些内容。还要注意这里不包括(或者至少不应当包括)那些非Linux特有的有关以太网的一般问题的解答。对于那些问题,可以参考comp.dcom.lans.ethernet的FAQ中的大量资料,与所有其它新闻组FAQ一样通过FTP到rtfm.mit.edu获取。 本修订版覆盖了Linux 2.2.17及其之前的内核发行版本。 以太网-HOWTO的作者为: Paul Gortmaker, p_gortmaker@yahoo.com 原始的ASCII版本的以太网-HOWTO的主要资料来源为: Donald J. Becker, becker@scyld.com 感谢他编写了许多Linux目前使用的以太网卡驱动程序。他也是最初的NFS服务器的作者。谢谢Donald! Copyright (c) 1993-2000 本文的版权所有人为Paul Gortmaker。请阅读本文档结尾处的声明与版权信息( copyright)以了解有关分发本文及通常的“我们不对你试图破坏......的行为负责”之类的法律信息。 1.1 本文档的新版本 本文档的新版本可以从如下主页获得: Ethernet-HOWTO 希望采用FTP方式或者希望获取非HTML格式文档的可使用以下站点: Sunsite HOWTO Archive 这是“官方”站点——也可以在其它各种Linux WWW/ftp镜像站点找到本文档。在有了新资料或新驱动程序时本文档将进行更新。如果你阅读的文档已经存在6个月以上了,那么你需要检查一下是否已经有更新过的版本。 本文档有多种格式(postscript,dvi,ASCII,HTML,等等)。推荐用HTML格式浏览(通过WWW浏览器)或Postscript/dvi格式浏览。这两种格式都包含有普通文本ASCII格式无法提供的交叉引用功能。 1.2 以太网-HOWTO的用法 由于本指南越来越大,你可能不希望花一个下午从头读到尾。而令人高兴的是你不必阅读全部内容。HTML和Postscript/dvi版本都有内容列表,可以帮助你更快地找到所需的内容。 可能你是由于无法使网卡工作,而且不知道该怎么做或者如何检查,才来阅读本文档的。下一节( 帮帮我——网卡没反应!)就是针对Linux初学者并给出正确的指导。 经常有一些问题被不同的人问了一遍又一遍。可能你碰到的某个问题就是常见问题之一,而且在本文档的FAQ部分( 常见问题)已经有了答案。每个人在发文寻求帮助之前都最好先看一下这一节。 如果你还没有网卡,那么你可能想从决定买网卡开始。( 该为Linux买什么网卡?) 如果你已经有了一块以太网卡,但不能确定是否可以在Linux上使用它,那么你可能想读一下包含每一个制造厂家及其网卡的特定信息的章节。( 有关销售商/制造厂家/型号的信息) 如果你对Linux设备驱动程序的一些技术细节感兴趣,那么你可以浏览有此类信息的章节。( 技术信息) 1.3 帮帮我——网卡没反应! 好,别紧张。下面就告诉你如何解决问题,即使你此前对Linux或以太网硬件一无所知。 首先你需要弄清楚你的网卡类型,然后确定Linux是否有此类型网卡的驱动程序。主机在控制不同的网卡时使用的方法一般也不一样,而Linux驱动程序(如果有的话)就以允许Linux使用此卡的格式包含了这样的控制信息。如果你没有手册一类的东西让你知道网卡的类型,那么你可以尝试处理“神秘”网卡的章节(参考章节: 识别未知网卡)。 现在你知道了你的网卡类型,阅读特定网卡章节中有关你的网卡的细节(参考章节: 有关销售商/制造厂家/型号的信息),那里以字母顺序列出了网卡制造厂家、各自的类型号以及是否有Linux驱动程序。如果在列表中被表明“不支持”,你就可以放弃了。如果从中找不到你的网卡,那么看一下你的网卡手册是否说它与某个已知网卡类型“兼容”。例如至少有几百种网卡与原来的Novell NE2000设计兼容。 假设你已经发现了你的网卡有Linux驱动程序,现在就找到并利用它。因为Linux有你的网卡的驱动程序并不意味著它存在每一个内核中。(内核是启动时最先载入的操作系统核心,包含各种硬件的驱动程序,以及其它等等。)可能只有很少几个预先生成的内核,和一大批较小的作为分立模块的驱动程序,或者是许多的内核,覆盖了大量内建驱动程序的组合,这都完全取决于是谁生成了你所使用的Linux发行版本。 现在的大多数Linux发行版本都提供大量较小的作为分立模块的不同驱动程序。需要的模块通常可以在启动过程的后期载入,或者在存取特定设备时以命令的形式载入一个驱动程序。你需要在内核启动后把该模块加载到内核上。查阅你所用的发行版本中有关安装和使用模块的信息,并参考本文档的有关模块章节。( 把以太网驱动程序作为模块使用) 如果你没有找到包含你的网卡驱动程序的已生成内核,也没有找到该驱动程序的模块形式,那么可能是你的网卡不够常见,而且需要你自己生成一个包含该驱动程序的内核。只要你已经安装了Linux,生成一个定制的内核一点儿都不难。你只要对内核需要包含些什么回答是或者不是,然后让它生成就行了。有一个Kernel-HowTo可以帮助你。 此时你还需要以某种方式启动内建了你的驱动程序的内核,或者以模块的形式载入驱动程序。大约人们碰到的问题有一半儿出在没有以这种或那种方式载入驱动程序,所以你会发现网卡现在工作了。 如果它还不工作,那么你需要证实一下内核确实检测到了网卡。要做到这一点,你需要在系统启动以及所有模块载入之后键入dmesg | more。这可以让你查看启动过程中内核所显示的启动信息。如果网卡被检测到,你可以从中找到以eth0开头的网卡驱动程序显示信息,指出网卡所使用的驱动程序名称和硬件参数(中断设置、I/O地址等等)。(注意:在启动时,Linux会列出所有系统中安装的PCI卡,无论是否有驱动程序——不要把这个误认为其后的驱动程序检测!) 如果你没看到这样的驱动程序识别信息,那么驱动程序就没有检测到你的网卡,这就是问题所在。查看FAQ( 常见问题)寻找网卡未检测到时该做些什么。如果你的网卡是NE2000兼容的,在FAQ中有一些有关NE2000网卡检测的技巧。 如果网卡被检测到了,但检测信息报告了一些错误,比如资源冲突,那么驱动程序可能无法正常初始化,网卡还是不可用。这一类的最常见错误信息也在FAQ中列出来了,并给出了相应的解决方案。 如果检测信息看起来没问题,那么再检查一下驱动程序报告的网卡资源是否与网卡的物理设置一致(网卡的物理设置或者是通过网卡上的跳线,或者是网卡制造厂家提供的软件工具完成。)它们必须完全一致。例如,网卡的跳线或配置为IRQ 15,而驱动程序在启动信息中报告为IRQ 10,那么就会出问题。在FAQ中讨论了最常见的驱动程序错误地检测各种网卡配置信息的情况。 现在你已经使你的网卡以正确的参数被检测到了,但愿一切正常。如果还有问题,那么或者是软件配置有错,或者是硬件配置有错。软件配置错误就是在ifconfig和route命令中没有设置正确的网络地址,其处理细节可以在Network HowTo和“Network Administrator's Guide”中找到,它们可能都在你用来安装的CD-ROM上。 硬件配置错误是某些资源冲突或忘记配置(即在启动时没检测到驱动程序),使网卡无法正常工作。通常可以用几种不同的方法来检查。(1) 在ifconfig试图打开设备来使用时报告出错信息,如“SIOCSFFLAGS: Try again”。(2) 驱动程序报告eth0出错信息(用dmesg | more查看)或者每次试图发送或接收数据时奇怪的不一致。(3) 键入cat /PRoc/net/dev来显示eth0的errs、drop、fifo、frame或carrier列中的非零数字。(4) 键入cat /proc/interrupts显示网卡的零中断计数。大多数典型的硬件配置错误也在FAQ中进行了讨论。 好吧,如果你现在还有麻烦,阅读本文档的FAQ,阅读有关销售商章节中有关你的网卡的细节,如果问题还没解决,那么你只好求助于某个相应的新闻组了。在求助文章中请给出所有相关的细节资料,比如网卡商标、内核版本、驱动程序的启动信息、cat /proc/net/dev的输出、清晰的问题描述,当然还有你在试图解决问题时尝试采用的方法。 你可能会奇怪有那么多的人发出诸如“Can someone help me? My ethernet doesn't work.”而没有其它内容的无用信件。新闻组的读者一般会忽略掉这些愚蠢的信件,而详细的有内容的问题描述则会让“Linux专家”立即指出你的问题所在。当然在用电子邮件发送问题报告时这也同样成立——总是提供尽可能多的信息。 1.4 网卡应该支持的电缆类型 使用RJ-45(大的电话插头)连接器的双绞线从技术上来说叫做10BaseT。你可能听到过它被称为UTP(无屏蔽双绞线)。 使用BNC(金属的推进和旋转锁定)连接器的以太网细缆(RG-58同轴电缆)从技术上来说叫做10Base2。 只会在早期的装置上发现的老式以太网粗缆(10mm同轴电缆)被称为10Base5。在某些以太网卡上使用的15针D形插座(AUI连接器)是用来连接以太网粗缆和外部收发器的。 大多数以太网卡都有价格稍高$10-$20的“Combo”版本。它们同时提供双绞线和细缆以太网收发器,可以让你以后改变主意。 大多数装置使用10BaseT /100BaseT,因为10Base2无法升级为100Base之类的网络。10Base2对于因为某种原因不想购买HUB的爱好者建立室内网络而言是足够的。 参考 电缆、同轴电缆......以了解有关以太网线缆不同类型的情况。 -------------------------------------------------------------------------------- |
新闻热点
疑难解答