发布日期:2015-09-18 14:53 来源: 标签: Linux教程 以太网安装 以太网 自动侦测
本章节我们将学习以太网接缆、已获支持的网卡和以太网自动侦测3个内容。
        目前的网络程序对不同类型的以太网卡提供了广泛的支持。大多数驱动程序都是 D o n a l d B e c k e r (b e c k e r @ c e s d i s . g s f c . n a s a . g o v )编写的,他为基于国家半导体8 3 9 0芯片的网卡编写一系列驱动程序;即颇有名气的B e c k e r驱动程序系列。另外,还有两个产品是面向 D - L i n k 的,其中的D - L i n k包适配器允许通过一个并行端口,访问以太网设备。针对这一用法的驱动程序是Bjørn  Ekwall (b j O r n @ b l o x . s e )编写的。 D E P C A驱动程序则是 David C.Davies˘˘(d a v i e s @ w a n t o n . l k g . d e c . c o m )编写的。
1、以太网接缆 
       如果你是生平第一次安装以太网卡,就有必要先了解一下布线方面的知识。以太网对布线是相当挑剔的。线缆的两段必须各有一个 5 0欧姆的电阻器,而且不能有任何分支(比方说,三条线缆组成一个星型连接)。如果利用一条带有T型B N C连接头的细同轴线缆,就应该把这些连接头直接拧在网卡的连接器上,而不是插入一段线缆。 
       如果连接的是粗缆,就必须通过一个收发器(有时也称作以太网附单元)附上你的主机。可直接将收发器插入网卡上的A U I端口,但也可采用一条屏蔽双绞线。
2、已获支持的网卡 
       下面将为大家列举一些广为人知的、已获L i n u x支持的网卡。其完整列表在H O W TO里面,其数目大约是这里列出的三倍之多。但是,即使你在这里的列表内看到了自己使用的网卡型号,但还是建议大家查看H O W TO;H O W TO中列举的内容更为翔实、更为重要。需要注意的是,有些基于D M A 的以太网卡使用的D M A通道和Adapter 1542 SCSI控制器默认状态下使用的通道一样。除非你亲自将其中之一移入另一个 D M A通道,否则的话,以太网卡就会把包数据写入你的硬盘专区内。 
    ■ 3 C o m公司的E t h e r L i n k—获得支持的有3 c 5 0 3和3 c 5 0 3 / 1 6 。3 c 5 0 7和3 c 5 0 9也如此。虽然L i n u x也支持3 c 5 0 1,但其速率太慢,不建议购买。 
    ■ N o v e l l公司的E a g l e—获得支持的有N E 1 0 0 0和N E 2 0 0 0及其大量的克隆产品。N E 1 5 0 0和N E 2 1 0 0 已获得支持。 
    ■ Western Digital/SMC —获得支持的有W D 8 0 0 3和W D 8 0 1 3 (SMC Elite和SMC Elite P l u s )。另外,L i n u x还新增了对SMC Elite 16 Ultra的支持。 
    ■ Hewlett Packard—获得支持的有HP 27252和H P J 2 7 2 4 7 B和H P J 2 4 0 5 A。另外还有D - L i n k D E - 6 0 0包适配器D E - 1 0 0 、D E - 2 0 0和D E - 2 2 0 - T 。除此以外,还有一个用于 D E - 6 5 0 - T (一种 P C M C I A卡)的补丁工具。 
    ■ D E C—获得支持的有DE200(32k/64k) DE2O2 、D E 1 0 0和DEPCA rev E 。 
    ■Allied Te l i e s i s—已获L i n u x支持的有AT 1 5 0 0和AT 1 7 0 0 。 
    要在L i n u x下使用上面列举的网卡,必须采用以上产品的主要分销商提供的一个预编译内核。这些产品一般含有内置驱动程序。但是,从长远的角度来看,最好用你自己的内核,编译真正能满足自己需要的驱动程序。 
3、以太网自动侦测 
       系统启动时,以太网程序将试着找到网卡的位置,并判断它的类型。自动侦测代码存在两大局限。其一是,不能对所有的网卡进行准备识别。这不仅表现在一些便宜的仿造品上,还表现在W D 8 0 x 3网卡上。其二是内核不能同时侦测多块网卡。因为它会假定你打算控制网卡和接口的分配问题。如果你正在使用多块网卡,或自动侦测不能侦测你的网卡时,必须显式告诉内核该网卡 的基础地址和设备名。 
       N e t - 3 中,可通过两个不同的方案来完成上述任务。其一是改变或增加 d r i v e r s / n e t / S p a c e . c文件的信息,该文件位于包含所有驱动程序信息的内核源代码内。不过,这一方案的前提是你对连网代码相当熟悉。第二种方案好的多,即在系统启动时,为内核提供驱动程序信息。如果用l i l o来启动系统,通过l i l o . c o n f 内的a p p e n d (添加)选项,指定一些参数之后,便可将这些参数传给内核。要将一个以太网设备的信息通知给内核,传递下面的参数即可: 
        ether=irq.base addr. p a r a m 1 . p a r a m 2 . n a m e 
        前四个参数是数字化的,最后一个参数则是设备名。所有数字化的值都是可选的;如果都被省略或都设为零,内核就会试着通过侦测参数值的方式,找到这个值,或使用默认值。第一个参数设置的是分配给这个设备的I R Q 。默认情况下,内核将试着自动侦测这个设备的I R Q通道。3 c 5 0 3驱动程序有一个非常特殊的特点,它从列出的 5、9、3、4 中选出一个I R Q, 并把网卡配置成使用这一行参数。 b a s e _ a d d r参数给出了网卡使用的I / O基础地址;零值表示内核将对上面列出的地址进行侦测。 
        至于其余两个参数,不同的驱动程序采用的方式是不一样的。对共享内存的网卡来说,比如W D 8 0 X 3,它们指定了共享内存的起始点和终止点。其他网卡常用 p a r a m 1来设置即将显示的调试信息级别。其值如果在 1到7之间,则表示冗余级不断上升,而如果是 8,就会把所有冗余都关掉;0表示默认设置。3 c 5 0 3驱动程序利用p a r a m 2选定内部收发器(默认设置)或外部收发器(如果该值为1的话)。前者采用网卡的B N C连接器,后者采用它自己的A U I端口。如果有两张以太网卡,可以自动侦测一张,将第二张卡的参数随 l i l o一起传递出去。但是,必须保证驱动程序不会意外地先找到第二张卡,不然另一张卡根本没有注册的机会(也就是说根本不认你有两张网卡)。这是通过传递l i l o ,一个保留选项来完成的,它显式告诉内核避免侦测第二张卡占用的I / O空间。 
        例如,要在作为e t h 1的0 x 3 0 0安装第二张以太网卡,需要向内核传递下列参数: 
        reserve=0x300,32 ether=0,0x300,eth1 
        r e s e r v e (保留)选项可保证内核在侦测某一网卡时,驱动程序不会去访问该网卡占用的 I / O空间。另外,还可以用内核参数来改写e t h 0的自动侦测: 
        reserve=0x340,32 ether=0,0x340,eth0 
        要关掉自动侦测,可将b a s e _ a d d r参数指定为- 1: 
        e t h e r = 0 , - 1,e t h 0 

相关评论

专题信息
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。