1 Ethernet HOWTO Linux以太网-HOWTO 导言( 二 )



首先你需要弄清楚你的网卡类型,然后确定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中讨论了最常见的驱动程序错误地检测各种网卡配置信息的情况 。;

推荐阅读