网卡设置指南

2008-02-23 07:24:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

索引关键词:[Linux,网卡,D-LINK DE-220/NE2000,D-LINK DFE530TX,双网卡]
最新修改日期:Oct. 9th, 2000
发布日期:19991119
版权协议:GPL


作者说明:
    本文现由我本人维护(mailto:wangdong@163.net),但我的知识、精力、时间都
不足,因此希望与有兴趣的朋友讨论并欢迎合作修改、整理。
    其实本文大多数信息可以在 EthernetHOWTO 中找到,初写这篇文章时Ethernet
HOWTO 中文版还没有正式发布,现在您可以在中国 Linux 论坛的“藏经阁”中找到
 EthernetHOWTO 中文版 8-)。

    本文的写作目的是给新手在设置网卡时提供一些帮助。我曾在设置我的 DE220 
网卡时遇到了一些问题,查询资料时发现很多书籍对此没有涉及;各大 BBS 及新闻
组问的很多,答的虽然大多正确,但办法五花八门,令人一头雾水。其实资料最全的
是在各种 HOWTO 中,可惜中文的却很少,所以写这篇文章,希望能节省大家的时间。

    本文只包含初步的信息,如希望详细了解这方面的内容,请参考各种 HOWTO:
BootpromptHOWTO  包含启动时如何向内核传递参数信息
ConfigHOWTO      包含 LILO 及 Loadin 如何使用的信息
EthernetHOWTO    包含以太网卡是否被系统支持(买网卡时可以参考),及如何设置
                 的信息,Linuxforum已推出中文版
KernelHOWTO      如何修补、编译内核
NET2-NET3-HOWTO  包含 TCP/IP 设置的信息,最新已是NET3-4-HOWTO,中文版正在

                 翻译
以上各种 HOWTO 英文版、中文版均可从中国Linux论坛
 (http://www.linuxforum.net) 的“藏经阁”中获得。
中文版也可从中文 LDP 处获得
http://www.linux.org.tw/CLDP/

    因为现在大多数实际应用的网卡都是以太网卡,如不是特别指明,本文中网卡即
指以太网卡。

    在 Linux 中,第一块网卡设备名为 eth0,以后依次为 eth1,eth2…… 但网卡
并不作为裸设备出现于 /dev 下,而是内核在引导时在内存中建立的。这就是说,应
该在系统引导时自动设置网卡。现在大多数发行版都是采用 module 的方式在系统引
导时设定网卡的,当然如果你清楚的知道你的网卡类型,也可以把相应的网卡驱动编
译进内核。

    Linux 的引导通常有以下几种方式,
A. 通过硬盘以 LILO 引导。优点是启动快而简捷;缺点是需要写硬盘主引导扇区,
在多系统共存时可能与 DOS/WIN 下某些防病毒软件冲突,而且很多人希望 LILO 默
认引导到 DOS/WIN 下,这就需要掌握 LILO 的配置方法,这对新手是有一点障碍的。
B. 通过软盘引导。虽然慢,但这是对原系统影响最小的办法。只要在安装时不安装
LILO,而做一张引导软盘就行了。这样想启动 Linux 时,只要插入软盘就可以了。
C. 通过 Loadin.exe 引导。Loadin.exe 是 DOS 下的程序,可以装入 Linux 的内
核,启动到 Linux 下。这样可以从 WIN9X 的纯 DOS 环境下直接启动 Linux 。当
然,需要学会如何配置,--很简单的哦。

    
    不管采用哪种方式引导,加载网卡的方式有两种:
1. 把网卡驱动编译进内核,引导时就加载。
2. 采用 modules 自动加载。

    采用方式1,则不可能支持所有的网卡,哪样内核会变成个庞然大物。因此很多
发行版为了灵活支持多种网卡,采用 modules 的方式。然而对于每一台特定的电脑,
通常只需要支持有限的一种或几种网卡,因此可以采用方式1,不过需重新编译内核。
编译内核的方法详见 KernelHOWTO,编译时需要注意的是以下几项:
Networking support (CONFIG_NET) [Y/n/?] Y
TCP/IP networking (CONFIG_INET) [Y/n/?] Y
Network device support (CONFIG_NETDEVICES) [Y/n/?] Y
Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET) [Y/n/?] Y
PCI Ethernet adapters (CONFIG_NET_PCI) [N/y/?] Y    /* 如果是PCI网卡的话*/      
    方式2为大多数发行版所采用,而且可以在安装时设置网卡,选用相应的网卡即
可。值得指出的是,安装时很多网卡没有列出,但并不代表 Linux 本身不支持,详
见 EthernetHOWTO。这时您可以查阅网卡及手册,会发现其使用何种芯片,可以用安
装时网卡列表中同种芯片的网卡试试。通常,网卡手册中会说明该网卡兼容或类似某
种通用网卡。很多10M网卡兼容 NE2000,比如我的 D-LINK DE220,这时可以选 
NE2000 试试。
    然而,很多 PNP 的网卡并不能被检测到,例子还是我的 DE220。据说在 Linux 
环境下可以通过 isapnp 设置,我没试过,详情请 man isapnp 吧。为免麻烦,我使
用了另一种方法:在 DOS 下使用 DE220 的驱动程序(可以在其网站下载到),屏蔽掉
PNP 功能,并设定“IO=0240h-025fh”,“IRQ=11”。然后再进行安装。
    糟糕的是,有部分网卡并非完全兼容 NE2000,例子又是我的 DE220,这类网卡
在 EthernetHOWTO 中被称为 bad NE2000 clone,他们采用了非标准的标识方法以
致 Linux 的 NE2000 驱动不能自动检测到它。我的 RedHat 6.1 就是这样,导致安
装后找不到网卡,必需手动进行配置了。
    解决这个问题需要向内核传递 IRQ 号及 IO 端口,这两项的具体数据可以从
WIN9X 的设备管理中查到,最笨却最稳妥的是如前哪样用网卡 DOS 下的驱动程序设
定好,记下来。Linux 下输入的数据格式类似 C 语言,IO采用十六进制,即 0xNNN,
其中 NNN 是 IO 中 0XXXh-0XXXh 的前一个数的“XXX”部分。IRQ 可直接用十进制。
针对我的 DE220,就是“0x240”和“11”了。配置方法如下:

    如果采用方式1,必须直接将 IRQ 号及 IO 端口传递给内核——在系统启动出现
Boot: 的时候,输入“linux ether=IRQ,IO,eth0”。具体针对我的 DE220 就是这样:

Boot: linux ether=11,0x240,eth0

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux下的各种备份方法汇总

下一篇:Linux 内核解读入门