Next Previous Contents

5. 有关销售商/制造厂家/型号的信息

下面按照销售商名称和产品标识的字母顺序列出了许多网卡。在每个产品 ID旁都标明了“支持”、“半支持”或“不支持”。

支持意味著该网卡的驱动程序存在,而且许多人在愉快地使用著此驱动程 序,它看起来相当可靠。

半支持意味著该网卡的驱动程序存在,但至少下面的描述中有一个是真实的: (1) 驱动程序或硬件有Bug,会导致性能差、连接失败甚至死机。 (2) 驱动程序是新的或网卡不够普及,因此驱动程序得到的使用/测试机会 很少,驱动程序的作者收到很少的反馈信息。很明显(2)比(1)要好一些, 在网卡/驱动程序的独立描述中会指明它属于哪种情况。对这两种情况,在 运行make config回答“Prompt for development and/or incomplete code/drivers?”时都应该回答“Y”。

不支持意味著该网卡目前还没有可使用的驱动程序。这可能是由于对很少 见的硬件缺乏兴趣,也可能是销售商还没有发布编写驱动程序所需的硬件 资料。

注意,“支持”和“半支持”之间的区别是相当主观的,是基于新闻组和 邮件列表信息上得到的用户反馈进行区分的。(无论如何,一个人来测试 每个版本内核上所有网卡的所有驱动程序是不可能的!!!)所以你可能 会发现一个被标为半支持的网卡工作得很好(这样很不错),或者一个被 标为支持的网卡给你带来无穷的麻烦(这样就不够好)。

在这些状态后面,列出了Linux内核中给出的驱动程序名称。这也是 /etc/conf.modules模块配置文件里 alias eth0 driver_name一行所使用的驱动程序模块的名称。

5.1 3Com

如果你确定不了你的网卡是什么,但认为它是3Com网卡,你可以通过集成 块编号来识别它。3Com有一本资料“通过集成块编号识别适配器”(ref 24500002),它应该能让你弄明白。参见 3Com的技术信息 以了解如何从3Com索取该资料。

注意,3Com还有一个FTP站点:ftp.3Com.com,你也许想去看看。

对使用WWW浏览器阅读本文档的读者而言,也可以试试3Com的WWW站点。

3c501

状态:半支持,驱动程序名称:3c501

这种过时的石器时代的8比特网卡用起来会很头疼的。象瘟疫一样躲开它吧。 不要买这种网卡,哪怕是开玩笑也不要买。它的性能很差劲,而且很容易 坏掉。

对那些还不肯相信的人来说,3c501一次只能干一件事——在从其单包缓存 移出一个数据包时,它不能接收另一个包,在载入一个发送包时也不能接 收一个包。对于两台处理一个包并回答会花掉10毫秒的基于8088的计算机 之间的网络而言,这就不错了,但现代网络几乎每次事务都会发送背靠背 数据包。

AutoIRQ可以工作,没使用DMA,自动检测只能查看0x2800x300, 诊断级别通过第三个启动参数设置。

再说一遍,强烈反对使用3c501!更差的是在IP广播内核中,在侦听 所有广播包时你会进入暂停状态。阅读源码头部的注释以得到更多的 细节。

EtherLink II, 3c503, 3c503/16

状态:支持,驱动程序名称:3c503 (+8390)

3c503没有“EEPROM setup”,所以在Linux下运行该网卡无需使用诊断/设 置程序。3c503的共享内存地址是用跳线设置的,与启动PROM地址共享。熟 悉其它ISA网卡的人可能会被弄糊涂,因为其它ISA网卡除非有启动PROM, 都是让跳线设为“禁止”的。

因为WD80x3的总线宽度一样,这些网卡的速度也应该一样,但实际上更慢 一些。这些共享内存的的以太网卡还有一种不使用8390工具的可编程I/O模 式(它们的工程师发现了太多的Bug!)。Linux的3c503驱动程序也可以工 作在3c503的可编程I/O模式,但不如共享内存模式可靠,而且更慢。同样, 在更新驱动程序时可编程I/O模式没有很好地测试。不要使用可编程I/O模 式,除非要与MS-DOS兼容。

3c503的IRQ中断线用软件设置,在EEPROM中没有其痕迹。与MS-DOS驱动程 序不同,Linux的驱动程序有autoIRQ的能力:它使用{5,2/9,3,4}中第一条 可用IRQ中断线,在每次运行ifconfig时进行选择。(老式的驱动程序版本 在启动时选择IRQ。)如果没有IRQ中断线可用,“ifconfig”里的ioctl() 调用将返回EAGAIN。

某些使用503会遇到的常见问题在 3Com网卡的问题中进行了讨论。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

注意,一些旧的无盘386工作站有一个板上的3c503(3Com制造,但用其它 名称销售,如“Bull”),但销售商ID不是3Com的ID,所以检测不出来。 更多的资料可以在Etherboot软件包里找到,要启动这些无盘工作站你一定 得有这些东西。

Etherlink Plus 3c505

状态:半支持,驱动程序名称:3c505

这个驱动程序是Craig Southeren geoffw@extro.ucc.su.oz.au编写 的。这些网卡使用i82586芯片。没有太多的有关这些网卡的资料。标准内 核包含该驱动程序,但它被归为alpha版本的驱动程序。参见 Alpha驱动程序以了解在Linux下使用alpha/测试 版本以太网驱动程序的重要信息。

如果你要使用这样的网卡,还应该读一下 /usr/src/linux/drivers/net/README.3c505文件。它包含了你 可以使用/禁止的各种选项。

Etherlink-16 3c507

状态:半支持,驱动程序名称:3c507

该网卡使用了一块Intel芯片,其驱动程序的开发与Intel的Ether Express 驱动程序开发关系很密切。在标准的内核发行版本中包含了其驱动程序, 但是是作为一个alpha版本的驱动程序。参见 Alpha驱动程序以了解在Linux下使用alpha/测试 版本以太网驱动程序的重要信息。

Etherlink III, 3c509 / 3c509B

状态:支持,驱动程序名称:3c509

这种网卡相当便宜,而且对ISA的无总线控制的设计而言性能相当好。其缺 点在于原始的3c509要求很低的中断延迟。3c509B有一个较大的缓存,应该 没有这个问题。(见下文。)这些网卡使用PIO传输,与ne2000网卡相似, 相对而言,wd8013一类使用共享内存的网卡效率更高一些。

原始的3c509有一个小的包缓存(总共4kB,2kB Rx,2kB Tx),如果中断 屏蔽的时间过长,驱动程序就会丢弃数据包。要减轻这个问题,可以尝试 在IDE磁盘传输过程中不屏蔽中断(参见man hdparm),或者提高ISA 总线速度使IDE传输结束得早一些。

新型号的3c509B板上缓存为8kB,并且可以把Rx/Tx划分成4/4、5/3或6/2。 这一设置要用DOS配置工具来改变,并保存在EEPROM上。这会减轻上面提到 原始3c509的问题。

3c509B的用户可以使用提供的DOS工具来禁止即插即用支持, 把输出媒介设置为要求的东西。目前的Linux驱动程序还支持自动 检测媒介设置,所以必须选择10Base-T、10Base-2或AUI。注意,要 完全禁止PnP,需要使用3C5X9CFG /PNP:DISABLE并重新冷启动以 确保设置生效。

有些人询问DOS配置工具中出现的“Server or Workstation”和“Highest Modem Speed”设置。Donald写道:“这些只不过是给驱动程序的提示,而 Linux驱动程序不使用这些参数:它总是优化为高吞吐量,而非低延迟 (‘Server’)。低延迟对于老式的无窗口IPX吞吐量非常关键。为了减少 延迟,3c509的MS-DOS驱动程序对某些操作禁止中断,阻塞串口中断。因此 需要‘modem speed’设置。Linux驱动程序只对整个包进行操作,例如在 数据包完全传到网卡后才开始发送该数据包,从而避免了长时间禁止中断 的需要。”

注意,ISA网卡检测使用的方法与大多数网卡不同。基本上是通过发送数据 到ID_PORT(从端口0x1000x1ff,间隔为0x10)要求网 卡响应。这一检测方法意味著在多ISA的3c509配置中,某个特定网卡 是首先被检测,而硬件以太网地址最低的网卡是作为eth0。 这其实没什么问题,但有些人想为特定的接口分配一个6字节的硬件地址。 如果有多块3c509网卡,最好不指定I/O端口(即使用I/O=zero)使用 ether=0,0,ethN命令,让自动检测来排列哪一块网卡作为第一块网卡。 使用非零的I/O值会使该命令无法检测所有的网卡,所以不要这样做。

如果这使你感到困扰,看一下Donald的最新驱动程序,你可以在未使用的 内存地址域中使用一个0x3c509值,使检测的顺序符合你的要求。

3c515

状态:支持,驱动程序名称:3c515

这是3Com的ISA 100Mbps产品,编码名为“CorkScrew”。v2.2内核里包含 了从Donald那儿得到的这些网卡的相对较新的驱动程序。要获得更新的资 料,可以访问Vortex的主页:

Vortex

3c523

状态:半支持,驱动程序名称:3c523

这个MCA总线的网卡使用i82586,Chris Beauregard修改了ni52驱动程序用 于这些网卡。在v2.2内核源码树里可以找到它的驱动程序。

更多的细节可以在MCA-Linux主页上找到 MCA-Linux page at http://glycerine.cetmm.uni.edu/mca/

3c527

状态:不支持。

对,这是另一个MCA网卡,对它没兴趣。如果你坚持用MCA,最好用3c529。

3c529

状态:支持,驱动程序名称:3c509

这个网卡实际上使用与3c509相同的芯片组。实际上早在内核里加进对MCA 的支持之前,Donald就已经在3c509的驱动程序里放了些钩子函数,在探测 完EISA网卡后,开始探测ISA网卡之前,检查MCA网卡。所需的MCA探测代码 被包含在与v2.2内核一起提供的驱动程序里。更多的细节可以在MCA-Linux 主页上找到:

http://glycerine.cetmm.uni.edu/mca/

3c562

状态:支持,驱动程序名称:3c589(独立发行)

这个PCMCIA网卡是3c589B网卡与modem的组合。对于终端用户,modem与一 个标准的modem一样。唯一的麻烦是要使两个独立的Linux驱动程序共用一 个中断。该卡上有一些新的寄存器和一些支持共享中断的硬件。需要使用 支持共享中断的v2.0以上的内核版本。

再次感谢Cameron提供给David Hinds的样品和资料。请在David发行的 PCMCIA软件包里寻找支持。

参见 PCMCIA支持以了解更多的有关PCMCIA芯片 组、socket启用软件等信息。

3c575

状态:未知。

这个PCMCIA网卡的驱动程序正在开发中,但愿以后会包含在David的PCMCIA 软件包里。最好检查一下PCMCIA软件包以了解目前的状态。

3c579

状态:支持,驱动程序名称:3c509

EISA版本的509。目前的EISA版本还使用同样的16比特宽的芯片,而不是32 比特的接口,所以性能上的改善并不令人惊奇。确定网卡被配置为EISA寻 址模式。阅读上面的3c509一节以了解驱动程序的信息。

3c589 / 3c589B

状态:半支持,驱动程序名称:3c589

现在这种PCMCIA网卡已经被很多人使用了相当长时间。注意对它的支持 (目前)还不包括在缺省的内核源码树内。名称中“B”的含义与3c509的 情况相同。

在Donald的ftp站点和David Hinds的PCMCIA软件包里都有可用的驱动程序。 你还需要一套支持PCMCIA控制器的芯片组。参见 PCMCIA支持以了解更多的有关PCMCIA芯片组、 socket启用软件等信息。

3c590 / 3c595

状态:支持,驱动程序名称:3c59x

这些“Vortex”网卡是用在PCI总线机器上的,'590是10Mbps的产品,'595 是3Com的100Mbs产品。注意'595也可以象'590一样运行(即使用10Mbps模 式)。驱动程序包含在v2.0内核源码中,但还在不断升级。如果在使用 v2.0内核里的驱动程序时遇到问题,可以从下面的URL获取一个更新的驱动 程序:

Vortex

注意,现在有两种不同的3c590网卡,较早的型号有32kB的板上内存,后来 的型号只有8kB的板上内存。可能你买一个新的3c59x还没有多久,它就正 在被3c90x所取代。如果你是买别人的二手货,想法弄到一个32kB的型号。 3c595网卡有64kB板上内存,因为无法只用8kB的RAM就能达到100Mbps!

感谢Cameron Spitzer和3Com的Terry Murphy给Donald提供网卡和资料,使 Donald能写出驱动程序来。

Donald为Vortex的驱动程序支持建立了一个邮件列表。要加入该列表,只 需如下操作:

echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov

3c592 / 3c597

状态:支持,驱动程序名称:3c59x

这些是EISA版本的3c59x系列网卡。3c592/3c597(又名为Demon)可以使用 上面讨论的vortex驱动程序。

3c900 / 3c905 / 3c905B

状态:支持,驱动程序名称:3c59x

这些网卡(又名为“Boomerang”,或EtherLink III XL)是用来取代 3c590/3c595网卡的。

对Cyclone的“B”版本的支持最近才加进来。要在v2.0之前的内核使用该 网卡,必须从如下的Donald站点获取更新后的3c59x.c驱动程序:

Vortex-Page

如果有问题,去上述的WWW主页查一下。Donald为Vortex驱动程序的支持文 档等建立了一个邮件列表。要加入该列表,只需如下操作:

echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov

3c985

状态:支持,驱动程序名称:acenic

Jes Sorensen提供的驱动程序在v2.2内核里能找到。除了3Com的型号,它 还支持几种其它的吉比特网卡。

5.2 Accton

Accton MPX

状态:支持,驱动程序名称:ne (+8390)

不要被它的名字骗了。它还是NE2000兼容网卡,可以使用ne2000驱动程序。

Accton EN1203, EN1207, EtherDuo-PCI

状态:支持,驱动程序名称:de4x5, tulip

这是DEC的21040 PCI芯片的另一种实现。EN1207网卡上有21140,还有一个 10Base-2连接器,这在选择媒介时会把人弄糊涂。虽然该网卡使用10Base-T 和100Base-T也可以工作,但在购买时要确定如果出问题可以退回。

参见 DEC 21040 以了解这些网卡的更多信息和目前的驱动程序状况。

Accton EN2209 Parallel Port Adaptor (EtherPocket)

状态:半支持,驱动程序名称:?

现在有这些并口适配器的驱动程序,但还不包括在2.0或2.1版本内核源码 中。可以从如下主页获取驱动程序:

http://www.unix-ag.uni-siegen.de/~nils/accton_linux.html

Accton EN2212 PCMCIA Card

状态:半支持,驱动程序名称:?

David Hinds在编写该网卡的驱动程序,最好检查一下他的PCMCIA软件包以 了解目前的状态。

5.3 Allied Telesyn/Telesis

AT1500

状态:支持,驱动程序名称:lance

这些是使用79C960版本的AMD LANCE的系列低成本以太网卡。它们是可以控 制总线的网卡,因此是一种可用的较快的ISA总线以太网卡。

DMA选择和芯片号码信息可以在 AMD LANCE找到。

更多有关基于AMD LANCE的以太网卡的技术信息可以在 Notes on AMD...找到。

AT1700

状态:支持,驱动程序名称:at1700

注意,要在make config时访问该驱动程序依然需要先在回答“Prompt for development and/or incomplete code/drivers?”时回答“Y”。这 只是因为这种网卡很少见,导致驱动程序稳定性的反馈太少。如果与内核 一起提供的驱动程序出现问题,也许你会对以下的替代驱动程序感兴趣: http://www.cc.hit-u.ac.jp/nagoya/at1700/

Allied Telesis的AT1700系列网卡是基于Fujitsu的MB86965芯片的。该芯 片使用可编程I/O接口和一对固定大小的传输缓存。这样在发送背靠背的一 小组数据包时,切换缓存带来的停顿较小。

该网卡的一个独特之处在于除了能够驱动10baseT的100欧姆UTP(非屏蔽双 绞线)之外,还能够驱动一般安装在令牌环上的150欧姆STP(屏蔽双绞线)。 该网卡还有一个光纤版本(AT1700FT)。

用在AT1700上的Fujitsu芯片有一个设计上的缺陷:它需要机器断电来完全 重起。使用reset按钮无法重起总线接口。这也不是太坏,只不过在重起后 才能可靠地被检测到。解决方法是在内核检测AT1700有问题时关机器重起。

AT2450

状态:支持,驱动程序名称:pcnet32

这是PCI版本的AT1500,而且没有Boca的79c970 PCI网卡那样的问题。 DMA选择和芯片号码信息可以在 AMD LANCE找到。

更多有关基于AMD LANCE的以太网卡的技术信息可以在 Notes on AMD...找到。

AT2500

状态:半支持,驱动程序名称:rtl8139

该网卡使用RealTek的8139芯片——参见 RealTek 8139一节。

AT2540FX

状态:半支持,驱动程序名称:eepro100

该网卡使用i82557芯片,因此可以用eepro100的驱动程序。如果你试用过, 请发给我一份报告以更新本信息。

5.4 AMD / Advanced Micro Devices

AMD的Carl Ching友好地提供了非常详尽的所有有关AMD以太网产品的资料, 对澄清本节内容很有帮助。

AMD LANCE (7990, 79C960/961/961A, PCnet-ISA)

状态:支持,驱动程序名称:lance

这实际上不是AMD的以太网卡。你会阅读本小节的原因是,你在网卡上只能 找到AMD标记和上述数字。7990是原始的“LANCE”芯片,但大多数资料 (包括本文档)都按照“LANCE”芯片对待所有这些相似的芯片。(...... 我可以加一句:这样是不对的。)

上面这些数字指明了作为许多以太网卡的核心的AMD芯片。例如,Allied Telesis的AT1500(参见 AT1500)和 NE1500/2100(参见 NE1500)就使用了这些芯片。

7990/79c90早已被新版本所取代。79C960(a.k.a. PCnet-ISA)主要包含 79c90核心以及所有其它必须的硬件支持,可作为单片以太网卡的解决方案。 79c961(PCnet-ISA+)是'960的无跳线即插即用版本。ISA系列的最后一个芯 片是79c961A(PCnet-ISA II),增加了全双工的功能。除了那些使用共享内 存配置的原始7990的非常古老的网卡,所有使用这些芯片的网卡都可以使 用lance.c驱动程序。可以通过DMA通道没有跳线来辨认出这些老网卡。

一个常见的问题是遇到“busmaster arbitration failure”消息。在固定 的时间之内(50us)LANCE驱动程序无法访问总线时就会出现这一消息。这 通常预示主板上的总线控制DMA被破坏,或者某些其它设备霸占了总线,或 者DMA通道出现冲突。如果你的BIOS设置中有“GAT option”(保证访问时 间),那么试著改变一下其设置看看有没有效。

同样要注意,对一个合法网卡,驱动程序只查看以下地址: 0x300, 0x320, 0x340, 0x360,用启动参数ether=提供的地址 被静悄悄地略过(对此将进行修改),所以现在要确定你的网卡配置为上 述的一个I/O地址。

即使安装了超过16MB的内存,该驱动程序依然工作得很好,因为必要时它 会使用低端内存“bounce-buffers”(即在发送数据到网卡进行传输之前, 16MB以上内存的数据会先拷贝到16MB以下的一个缓存里。)

DMA通道可以用除此之外不被使用的dev->mem_start值的低位进行设置(又 名为PARAM_1)。(参见 PARAM_1)如果没有设 置,那么按次序启用每个空闲的DMA通道并检查是否初始化成功来进行探测。

HP-J2405A板是个例外:在该板上很容易读出EEPROM设置的IRQ和DMA的值。

参见 Notes on AMD... 以了解更多有关这些芯片的信息。

AMD 79C965 (PCnet-32)

状态:支持,驱动程序名称:pcnet32

这是PCnet-32——用于VL总线和局部总线系统的原始LANCE芯片的32比特总 线控制版本。尽管这些芯片可以用标准的lance.c驱动程序操作,还 是有一个不受任何ISA总线有关的16MB限制的32比特版本的驱动程序 (pcnet32.c)。

AMD 79C970/970A (PCnet-PCI)

状态:支持,驱动程序名称:pcnet32

这是PCnet-PCI——与PCnet-32相似,不过是为基于PCI总线系统设计的。 请参阅上面的PCnet-32信息。这意味著需要构建一个启用PCI BIOS支持的 内核。'970A在原始的'970设计上增加了全双工支持及其它一些特性。

注意,Boca制造的79C970无法用在较快的奔腾机器上。这是个硬件错误, 它也会影响DOS用户。参考Boca一节以了解更多的细节。

AMD 79C971 (PCnet-FAST)

状态:支持,驱动程序名称:pcnet32

这是用于PCI系统的AMD的100Mbit芯片,也支持全双工操作。1996年6月出产。

AMD 79C972 (PCnet-FAST+)

状态:未知,驱动程序名称:pcnet32

该网卡应该与'971一样,但尚未被证实。

AMD 79C974 (PCnet-SCSI)

状态:支持,驱动程序名称:pcnet32

这是PCnet-SCSI——从以太网的观点来看基本上按'970处理。参看上文。 不要问是否支持芯片的SCSI部分——本文是以太网-HowTo,不是 SCSI-HowTo。

5.5 Ansel Communications

AC3200 EISA

状态:半支持,驱动程序名称:ac3200

注意,要在make config时访问该驱动程序依然需要先在回答“Prompt for development and/or incomplete code/drivers?”时回答“Y”。这 只是因为这种网卡很少见,导致驱动程序稳定性的反馈太少。

其驱动程序作为alpha测试驱动程序被包含在目前的内核里。该网卡是基于 ne2000和wd80x3网卡上使用的普通的NS8390芯片。请参见 Alpha驱动程序以了解在Linux下使用alpha/测试 版本以太网驱动程序的重要信息。

如果你在使用该网卡,请让我知道它的工作情况,虽然在v1.1.25内核里就 包含了其驱动程序,但反馈信息很少。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

5.6 Apricot

Apricot Xen-II On Board Ethernet

状态:半支持,驱动程序名称:apricot

这是使用i82596总线控制芯片的板上以太网卡。它的I/O地址只能是 0x300。从驱动程序的源码上得知,其IRQ也被硬件固定为10。

早期版本的驱动程序倾向于认为0x300处的一定是apricot NIC。后来 才对硬件地址进行检查以避免错误的检测。

5.7 Arcnet

状态:支持,驱动程序名称:arcnet (arc-rimi, com90xx, com20020)

由于该网卡的价格非常低廉而且以太网性能很好,可能人们会有很多机会 捐献出他们的Arcnet硬件,使得很多家用系统都使用Arcnet。

Arcnet的一个优点在于所有的网卡接口都一样,所以只需要一个驱动程序。 它还内建了错误处理机制,据信不会丢失数据包。(对UDP来说这可太棒了!)

从1.1.80起,Avery Pennarun的arcnet驱动程序就被包含在缺省的内核源 码里了。arcnet驱动程序使用“arc0”作为自己的名字,而不是通常的以 太网设备名“eth0”。Bug报告和成功的故事可以寄到:

apenwarr@foxnet.net

在标准内核里有一些设置跳线和一般提示的信息文件。

据信100Mbs的ARCnet网卡也可以同样使用该驱动程序!

5.8 AT&T

注意,AT&T的StarLAN是一种孤岛技术,跟SynOptics的LattisNet一样, 不能在标准的10Base-T环境里使用,没有能进行“相互交流”的Hub。

AT&T T7231 (LanPACER+)

状态:不支持。

这些StarLAN网卡使用的接口类似于i82586芯片。Matthijs Melchior (matthijs.n.melchior@att.com)曾经试著用过3c507的驱动程序, 好象差不多可以工作了。但从那之后就再没听过多少消息了。

5.9 Boca Research

不错,他们不光是制造多口串行卡。:-)

Boca BEN (ISA, VLB, PCI)

状态:支持,驱动程序名称:lance, pcnet32

这些网卡都是基于AMD的PCnet芯片。需要警告一下潜在的买家,许多用户 在使用这些VLB/PCI网卡时遇到了没完没了的麻烦。快的奔腾系统用户受到 了特别的打击。注意这并不是驱动程序的问题,因为DOS/Win/NT用户也一 样遇到麻烦。Boca的技术支持电话号码是(407) 241-8088,也可以通过 75300.2672@compuserve.com找到他们。老式的ISA网卡看来没遇到这 种问题。

Donald做了一个Boca的PCI网卡与相似的Allied Telsyn的PCnet/PCI网卡的 比较测试,结果显示问题出在Boca的PCnet/PCI芯片。测试结果可以在Don 的WWW服务器上找到。

Linux at CESDIS

Boca对受影响的使用者提供“包修”服务,需要增加一个缺少的电容,虽 然可以解决一些问题,但对大多数人来说并非百分之百奏效。

如果您仍然想买这种网卡,至少试著得到一个7天无条件退货的条款, 这样一旦出问题你就可以退货。

有关AMD芯片更一般的信息可以在 AMD LANCE找到。

基于AMD LANCE的以太网卡的更多技术信息可以在 Notes on AMD...找到。

5.10 Cabletron

Donald写道: “是的,又一个不肯提供编程资料的公司。他们要等待几个月来最终确定 所有他们的资料都是私有的,蓄意浪费我的时间。如果可以的话,象躲避 瘟疫一样避免使用他们的网卡。还要注意,有人曾打电话给Cabletron,结 果听到什么‘有个D. Becker在编写Linux下的驱动程序’之类的话——好 象我是为他们工作的。完全不是这么回事。”

看起来自从几年前Donald写了上述注释后,Cabletron改变他们对于编程资 料的政策(象Xircom一样)——如果你想证实这一点或索取编程信息的话, 发个e-mail给support@ctron.com。但是,现在几乎没有人对老式的 E20xx和E21xx网卡提出修改/更新驱动程序的要求了。

E10**, E10**-x, E20**, E20**-x

状态:半支持,驱动程序名称:ne (+8390)

这些差不多算是NEx000兼容网卡,据报告可以使用标准的NEx000驱动程序, 这要感谢探测时的ctron特性检查。如果有问题,几乎不可能修复,因为没 有编程资料。

E2100

状态:半支持,驱动程序名称:e2100 (+8390)

又来了,在编程资料私有的情况下什么都做不了。E2100的设计很差劲。每 次传送数据包映射它的共享内存时,它都要映射到整个128K的区域! 这就意味著你无法在此区域安全地使用另一个中断驱动的共享内存设 备,包括另一个E2100。绝大多数时间它都正常工作,但时不时地会咬你一 口。(对,这个问题可以通过传送数据包时关中断来避免,但那样几乎肯 定会丢失时钟ticks。)同样,如果错误地对板进行了编程,或者在错误的 时刻暂停机器,即使reset按钮都无法生效。你必须关机并保持 30秒之后再开机。

媒介选择是自动进行的,但可以用dev->mem_end参数的低位来覆盖。参 见 PARAM_2。模块用户可以在 /etc/conf.modules文件里指定xcvr=N值作为option

同样,不要把E2100当成NE2100的兼容网卡。E2100是采用NatSemi的DP8390 的共享内存设计,大致与伤脑筋的WD8013相似,而NE2100(和NE1500)是 用总线控制的AMD的LANCE设计的。

在标准内核里包含了E2100的驱动程序。但是,无法看到其编程资料,不要 指望有Bug修复。除非你已经买了该网卡,不要用它。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

E22**

状态:半支持,驱动程序名称:lance

According to information in a Cabletron Tech Bulletin, these cards use the standard AMD PC-Net chipset (see AMD PC-Net) and should work with the generic lance driver. 按照Cabletron技术公告牌上的资料,这些网卡使用标准AMD的PC-Net芯片 组(参见 AMD PC-Net)而且可以使用普通的 lance驱动程序。

5.11 Cogent

下面是进行联系的地址和方法:

        Cogent Data Technologies, Inc.
        175 West Street, P.O. Box 926
        Friday Harbour, WA 98250, USA.

        Cogent Sales
        15375 S.E. 30th Place, Suite 310
        Bellevue, WA 98007, USA.

        Technical Support:
        Phone (360) 378-2929 between 8am and 5pm PST
        Fax (360) 378-2882
        Compuserve GO COGENT
        Bulletin Board Service (360) 378-5405
        Internet: support@cogentdata.com

EM100-ISA/EISA

状态:半支持,驱动程序名称:smc9194

这些网卡使用SMC的91c100芯片,可以使用SMC的91c92驱动程序,但还没得 到证实。

Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964

状态:支持,驱动程序名称:de4x5, tulip

这些是但愿可以使用标准21040驱动程序很好地工作的另一种DEC的21040网 卡。

EM400和EM964是使用DEC的21050桥接器和4片21040芯片的4端口网卡。

参见 DEC 21040 以了解这些网卡的更多信息和当前驱动程序的状况。

5.12 Compaq

Compaq并不真正从事制造以太网卡,但他们的很多系统都在主板上嵌入了 以太网控制器。

Compaq Deskpro / Compaq XL (嵌入AMD芯片)

状态:支持,驱动程序名称:pcnet32

诸如XL系列的机器在主板上有一片AMD的79c97x PCI芯片,可以使用标准的 LANCE驱动程序。但在使用前,必须使用一些技巧把PCI BIOS放到可以被 Linux发现的地方。Frank Maas友好地提供了其中的细节:

“Compaq机器的这个问题在于其PCI目录被载入高端内存,Linux内核无法 达到那一点。结果:网卡检测不到,也无法使用(另外鼠标也不工作)。 其解决方法(在http://www-c724.uibk.ac.at/XL/里有详尽的描述)是载 入MS-DOS,使用Compaq编写的一个小驱动程序,然后用LOADLIN载入Linux 内核。好吧,你也许想说“呸、呸”,但到目前为止,这是所我知道的唯 一办法。那个小驱动程序的作用只不过是把PCI目录放到其正常的存储位置 (这样Linux就可以找到它了)”

更多有关AMD芯片的一般资料可以在 AMD LANCE找到。

Compaq Nettelligent/NetFlex (嵌入ThunderLAN芯片)

状态:支持,驱动程序名称:tlan

这些系统使用Texas Instruments的ThunderLAN芯片。有关ThunderLAN驱动 程序的资料可在 ThunderLAN找到。

5.13 Danpex

Danpex EN9400

状态:支持,驱动程序名称:de4x5, tulip

又一个基于DEC的21040芯片的网卡,据报告性能挺好,价格比较便宜。

参见 DEC 21040 以了解这些网卡的更多信息和当前驱动程序的状况。

5.14 D-Link

DE-100, DE-200, DE-220-T, DE-250

状态:支持,驱动程序名称:ne (+8390)

一些早期的D-Link网卡没有PROM的标识0x57,但ne2000驱动程序能识 别它们。对于软件配置的网卡,可以从www.dlink.com得到配置程序。 DE2**网卡曾经广为报道在早期版本的Linux下会产生传输地址不匹配的虚 假错误。注意,有一些Digital (DEC)的网卡也叫做DE100和DE200,只是名 称相同而已。

DE-520

状态:支持,驱动程序名称:pcnet32

这是使用PCI版本AMD的LANCE芯片的PCI网卡。DMA选择和芯片号码信息可以 在 AMD LANCE找到。

更多有关基于AMD LANCE的以太网卡的技术信息可以在 Notes on AMD...找到。

DE-528

状态:支持,驱动程序名称:ne, ne2k-pci (+8390)

很明显D-Link已经开始制造PCI NE2000兼容网卡了。

DE-530

状态:支持,驱动程序名称:de4x5, tulip

这是一款使用DEC的21040 PCI芯片的通用网卡,据报告可以使用普通的 21040 tulip驱动程序。

参见 DEC 21040 以了解这些网卡的更多信息和当前驱动程序的状况。

DE-600

状态:支持,驱动程序名称:de600

笔记本电脑以及想让电脑快捷地联上以太网的用户可能用该网卡比较好。 在缺省的内核源码树里有它的驱动程序,是Bjorn Ekwall bj0rn@blox.se编写的。通过并口可以从该网卡获得180kb/s的传送速 度。请阅读内核源码树里的README.DLINK文件。

注意,现在传递给ifconfig的设备名为eth0,而不是以前 用的dl0

如果你的并口是在标准的0x378,那么需要重新进行编译。 Bjorn写道:“由于DE-620的驱动程序试图抓紧循环中的最后一个毫秒,我 就把中断和端口地址写成了常量而不是变量。这样可以达到所需的速度, 也就意味著无法用lilo改变这些设置;必须重新编译......”同样还要注 意,某些笔记本电脑主板上的并口位于0x3bc,某些一体化板卡的并 口也是这样。

DE-620

状态:支持,驱动程序名称:de620

与DE-600一样,只是有两种输出格式。Bjorn为1.1以上版本内核里的这种 型号网卡编写了驱动程序。参见上面有关DE-600的信息。

DE-650

状态:半支持,驱动程序名称:de650 (?)

这种PCMCIA网卡已经被有些人在他们的笔记本电脑上使用一段时间了。它 是个基本的8390设计,与NE2000很相象。LinkSys的PCMCIA网卡和IC-Card 的Ethernet都被认为是DE-650兼容网卡。注意,目前其驱动程序还 是标准内核的一部分,所以需要做一些打补丁的工作。

参见本文档的 PCMCIA支持,如果可以的话,访 问一下:

Don's PCMCIA Stuff

5.15 DFI

DFINET-300 and DFINET-400

状态:支持,驱动程序名称:ne (+8390)

感谢Eberhard Moenkeberg emoenke@gwdg.de指出这些网卡是在PROM 的前三个字节使用“DFI”,而不是象所有NE1000和NE2000网卡那样在第14 和15字节使用0x57,因此现在才能够检测到这些网卡。(300是8比特 的伪NE1000兼容卡,400是伪NE2000兼容卡。)

5.16 Digital / DEC

DEPCA, DE100/1, DE200/1/2, DE210, DE422

状态:支持,驱动程序名称:depca

源文件“depca.c”里的说明包含了在一台机器里如何使用多块此类网卡。 注意,DE422是EISA网卡。这些网卡都是基于AMD的LANCE芯片。参见 AMD LANCE以了解更多信息。同时最多只能使用 两块ISA网卡,因为它们的I/O基址只能设置在0x3000x200。 如果想这么做的话,请阅读标准内核源码树中的驱动程序源文件 depca.c里的注释。

其驱动程序也可以用在基于Alpha CPU的机器上,用户还可以使用其中的各 种ioctl()函数。

Digital EtherWorks 3 (DE203, DE204, DE205)

状态:支持,驱动程序名称:ewrk3

这些网卡使用DEC的私有芯片,而不是象早期的DE200网卡那样使用LANCE芯 片。它们支持共享内存和可编程I/O两种工作方式,但在使用PIO模式时其 性能会下降50%。共享内存的大小可以设置为2kB、32kB或64kB,但驱动程 序只进行了2kB和32kB下的测试。在驱动程序文件ewrk3.c的开头有更 多的信息(包括如何把它作为可载入模块使用),在README.ewrk3里 也有此类信息。在发行的标准内核里包含了这两个文件。与depca.c一样, 该驱动程序也支持Alpha CPU。

标准的驱动程序里有一些有趣的ioctl()调用,可以用来获取或清除数据包 统计信息、读/写EEPROM、改变硬件地址等。黑客可以阅读源代码以了解更 多此类信息。

除了其它工具软件,David还为这些网卡编写了一个配置工具(依照DOS程 序NICSETUP.EXE)。这些都可以在大多数Linux的FTP站点的目录 /pub/Linux/system/Network/management下找到——查找文件 ewrk3tools-X.XX.tar.gz

DE425 EISA, DE434, DE435, DE500

状态:支持,驱动程序名称:de4x5, tulip

这些网卡是基于下面会提到的21040芯片。DE500使用21140芯片提供 10/100Mbs以太网的连接。阅读下面的21040一节以了解其它信息。在非DEC 网卡使用此驱动程序时还有一些编译时的选项。细节可见README.de4x5

所有Digital网卡都自动探测媒介(除了DE500暂时因为专利的原因还不支 持这一点)。

驱动程序也支持Alpha CPU,可以被作为模块载入。用户可以通过ioctl() 调用访问驱动程序的内部——参考“ewrk3”工具和de4x5.c源码以了解如 何使用。

DEC 21040, 21041, 2114x, Tulip

状态:支持,驱动程序名称:de4x5, tulip

DEC 21040是Digital的总线控制单片以太网卡产品,类似与AMD的PCnet芯 片。21040是为PCI总线结构特别设计的。SMC的新EtherPower PCI网卡也使 用这一芯片。

对基于此芯片的网卡可以在两个驱动程序之间进行选择。上面讨论了 DE425驱动程序,还有一个通用的21040“tulip”驱动程序。

警告:即使你的网卡是基于该芯片的,驱动程序也可能出问题。 Davies写道:

“无法保证‘tulip.c’或‘de4x5.c’可以驱动任一基于DC2114x的网卡, 除非说明支持该网卡。为什么??因为一个寄存器,通用寄存器(CSR12), (1)DC21140A中的CSR12是可编程的,而各个销售商的实现各不相同; (2)DC21142/3中的CSR12现在是个SIA控制寄存器(按照DC21041的方式)。 唯一的希望是SROM可以编码来帮助构建驱动程序。但这并非可以确保的解 决方案,因为有些销售商(如SMC的9332网卡)并未遵从Digital Semiconductor推荐的SROM编程格式。”

从非技术的角度上说,这就意味著你无法确定一个未知的采用DC2114x芯片 的网卡可以使用Linux驱动程序,所以在购买网卡之前,最好确定一 下可以退货。

在很多近期的SMC EtherPower网卡中已经使用更新过的21041芯片来代替 21040。21140可以支持100Base-?,并使用21040芯片的Linux驱动程序。如 果要对非DEC的网卡使用David的de4x5驱动程序,读一下 README.de4x5里的细节。

Donald是使用SMC的EtherPower-10/100网卡开发出“tulip”驱动程序。注 意,标准内核树中的驱动程序不是最新的版本。如果有问题的话,请从 Donald的ftp/WWW站点获取最新的驱动程序版本。

Tulip Driver

上面的URL包含了一个各种使用21040芯片的网卡/销售商的(非完全)列表。

还要注意,目前tulip驱动程序依然被视为一个alpha驱动程序(参见 Alpha驱动程序),也应如此处理。要使用它的 话,需要编辑arch/i386/config.in,并取消 CONFIG_DEC_ELCP支持那一行的注释。

Donald还为tulip驱动程序的支持声明等建立了一个邮件列表。要加入,只 需键入:

echo subscribe | /bin/mail linux-tulip-request@cesdis.gsfc.nasa.gov

5.17 Farallon

Farallon销售EtherWave适配器和收发器。其设备可以把多个10baseT设备 构成菊花链。

Farallon Etherwave

状态:支持,驱动程序名称:3c509

据说这是一个包含EtherWave收发器的3c509兼容网卡。可以成功地使用目 前的3c509驱动程序。对于一般的应用,该网卡过于昂贵了,但在某些特殊 情况下可以使用它。小Hub的价格在$125以上,Etherwave还要在板 卡的价格之上增加$75-$100——如果你拉的线太少就物有 所值,如果是缺少两个网络就不值得这么做了。

5.18 Fujitsu

与许多网络芯片制造商不同,Fujitsu还制造和销售一些基于自己芯片的网 卡。

Fujitsu FMV-181/182/183/184

状态:支持,驱动程序名称:fmv18x

从驱动程序来看,这些网卡就是Fujitsu的MB86965网卡的简单改进,这使 它们与Allied Telesis的AT1700网卡很相似。

5.19 Hewlett Packard

272**网卡使用可编程I/O,与NE*000板卡类似,但是数据传输端口可以在 不访问的时候“关闭”,以避免自动探测驱动程序时的麻烦。

感谢Glenn Talbott帮助澄清了本节有关HP硬件版本号的疑惑。

27245A

状态:支持,驱动程序名称:hp (+8390)

这是基于8比特8390的10BaseT网卡,由于所有8比特的缘故不推荐使用。几 年前该网卡被重新设计为高度集成的,引起了一些只影响测试程序的初始 化时的变化,对LAN驱动程序没有影响。(新的网卡在切换进入/出环回模 式后不处于“准备好”状态。)

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

HP EtherTwist, PC Lan+ (27247, 27252A)

状态:支持,驱动程序名称:hp+ (+8390)

HP的PC Lan+与标准的HP PC Lan网卡不同。从v1.1.x开发时其驱动程序就 被加入到标准内核的驱动程序列表中。它可以象ne2000一样工作在PIO模式, 也可以象wd8013一样工作在共享内存模式。

47B是基于16比特8390的10BaseT w/AUI,而52A是基于16比特8390的ThinLAN w/AUI。这些网卡用于收发数据包缓冲的板上RAM为32K,而不是一般的16KB, 而且都提供自动识别LAN连接器的功能。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

HP-J2405A

状态:支持,驱动程序名称:lance

这些网卡比27247/27252A便宜而且稍微快一点儿,但少了一些特性,如AUI、 ThinLAN连接与启动PROM插座。这是一个相当通用的LANCE设计,但设计时 的一个不起眼的决定使它与通用的“NE2100”驱动程序不兼容。感谢HP的 Glenn Talbott提供的资料,使驱动程序能够特别地支持它(包括从板上读 取DMA通道)。

更多有关基于LANCE的网卡信息可以在 Notes on AMD...中找到。

HP-Vectra On Board Ethernet

状态:支持,驱动程序名称:lance

HP-Vectra在主板上有一个AMD的PCnet芯片。 DMA选择和芯片号码信息可以在 AMD LANCE找到。

更多有关基于AMD LANCE的以太网卡的技术信息可以在 Notes on AMD...找到。

HP 10/100 VG Any Lan Cards (27248B, J2573, J2577, J2585, J970, J973)

状态:支持,驱动程序名称:hp100

该驱动程序还支持某些Compex VG产品。由于驱动程序支持ISA、EISA和PCI 网卡,所以在对内核源码运行make config时可以在ISA网卡下找到它。

HP NetServer 10/100TX PCI (D5013A)

状态:支持,驱动程序名称:eepro100

显然这只是重新标记过的Intel EtherExpress Pro 10/100B网卡。参见 Intel一节以了解更多信息。

5.20 IBM / International Business Machines

IBM Thinkpad 300

状态:支持,驱动程序名称:znet

它与基于Intel的Zenith Z-note兼容。参见 Z-note以了解更多信息。

据信下面这个站点有一个新版本Thinkpad的全面的有用资料数据库。我还 没有亲自去查看过。

Thinkpad-info

对不便于使用WWW浏览器的读者,可以试试 peipa.essex.ac.uk:/pub/tp750/

IBM Credit Card Adaptor for Ethernet

状态:半支持,驱动程序名称:?(独立发行)

该PCMCIA网卡也可以在Linux下使用。同样需要指出的是,笔记本电脑需要 有支持PCMCIA的芯片组,而且要把支持PCMCIA的补丁加进标准内核。

参见本文档中的 PCMCIA支持,如果可能的话, 请访问:

Don's PCMCIA Stuff

IBM Token Ring

状态:半支持,驱动程序名称:ibmtr

要支持令牌环不仅仅是写一个设备驱动程序,还要为令牌环编写源路由例 程。源路由是编写时花费时间最多的地方。

近来Peter De Schrijver在令牌环上花了些时间,处理IBM的ISA和MCA令牌 环网卡。

目前的令牌环代码首先被包含进1.3.x系列内核中。

Peter说该驱动程序在MCA 16/4 Megabit令牌环板上进行过测试,但在其它 基于Tropic的板上也可以工作。

5.21 ICL Ethernet Cards

ICL EtherTeam 16i/32

状态:支持,驱动程序名称:eth16i

Mika Kuoppala(miku@pupu.elt.icl.fi)编写了驱动程序,早在1.3.4x内 核中就包含了它。该网卡使用了at1700网卡中使用的Fujitsu的MB86965芯 片。

5.22 Intel Ethernet Cards

注意,各种Intel网卡的命名是乱七八糟的。如果有问题,检查网卡上主要 芯片的i8xxxx号码,对PCI网卡使用/proc目录下的PCI信息, 然后再与这里列出的数字进行比较。

Ether Express

状态:支持,驱动程序名称:eexpress

该网卡使用intel的i82586芯片。驱动程序的早期版本(在v1.2内核里)是 alpha-测试驱动程序,大多数人在使用时会遇到麻烦。v2.0内核里的驱动 程序要好得多,虽然其源码还被列为实验性的,而且在较快的机器上问题 更多。

在驱动程序源码开头的注释里列出了一些与这些网卡有关的问题(并进行 了修正!)。至少有一个用户报告说有死锁,使得把驱动程序里所有的 outb替换为outb_p的工作放慢下来。

Ether Express PRO/10

状态:支持,驱动程序名称:eepro

Bao Chau Ha编写了这些网卡的驱动程序,早在1.3.x内核中就包含了它。 该驱动程序也可以使用在一些基于i82595芯片的Compaq内建以太网系统上。

Ether Express PRO/10 PCI (EISA)

状态:半支持,驱动程序名称:?(独立发行)

John Stalba(stalba@ultranet.com)编写了PCI版本的驱动程序。这些网 卡使用PLX9036 PCI接口芯片和Intel的i82596 LAN控制器芯片。如果你的 网卡上有i82557芯片,那么你的网卡就是该类型网卡,而是下面要 讨论的版本,需要EEPro100驱动程序。

可以从如下站点获得PRO/10 PCI网卡的alpha驱动程序及使用指导:

EEPro10 Driver

如果是EISA网卡,可能要改一下驱动程序在不同情况下(PCI与EISA)使用 的检测机制。

Ether Express PRO 10/100B

状态:支持,驱动程序名称:eepro100

注意,该驱动程序支持老式的100A网卡。驱动程序里列出的芯片号 码是i82557/i82558。更新驱动程序或寻找支持,请访问:

EEPro-100B Page

订阅该驱动程序的邮件列表,请如下操作:

echo subscribe | /bin/mail linux-eepro100-request@cesdis.gsfc.nasa.gov

目前Donald不得不签署了一个不得公开的协议,这表明他实际上可以公开 驱动程序的源码!这件蠢事都是因为Intel吗?

5.23 Kingston

Kingston制造各种网卡,包括NE2000+、基于AMD PCnet的网卡和基于DEC tulip的网卡。大多数网卡都可以使用相应的驱动程序。参见 Kingston Web Page

基于KNE40 DEC 21041 tulip的网卡据说用普通的tulip驱动程序工作得很 好。

5.24 LinkSys

LinkSys制造少量不同的NE2000兼容网卡、一些直接的ISA网卡、一些即插 即用的ISA网卡以及一些基于支持ne2000-PCI芯片组的ne2000-PCI兼容网卡。 它们的型号太多,这里就不一一列出了。

LinkSys对Linux是友好的,拥有一个专门的Linux支持WWW主页,甚至在某 些产品的包装盒上印有Linux字样。请访问:

http://www.linksys.com/support/solution/nos/linux.htm

LinkSys Etherfast 10/100 Cards.

状态:支持,驱动程序名称:tulip

注意,这些网卡有几种“修订版”(即使用不同的芯片组),都使用一样 的网卡名。第一种使用DEC芯片组。第二种使用Lite-On PNIC 82c168 PCI 网络接口控制器,对它的支持被合并在标准的tulip驱动程序里(从0.83版 开始)。更多的有关PNIC信息可在下面找到:

http://cesdis.gsfc.nasa.gov/linux/drivers/pnic.html

有关这些网卡各种版本的进一步资料可以在上面提到过的LinkSys的WWW站 点得到。

LinkSys Pocket Ethernet Adapter Plus (PEAEPP)

状态:支持,驱动程序名称:de620

据说这是DE-620兼容网卡,据说可以使用其驱动程序。参见 DE-620以了解更多信息。

LinkSys PCMCIA Adaptor

状态:支持,驱动程序名称:de650 (?)

我认为这是重新标记过的DE-650。参见 DE-650以了解更多信息。

5.25 Microdyne

Microdyne Exos 205T

状态:半支持,驱动程序名称:?

另一款基于i82586的网卡。Dirk Niggemann dirk-n@dircon.co.uk编 写了一个自己认为属于“pre-alpha”的驱动程序,希望有人进行测试。要 了解细节请写信给他。

5.26 Mylex

如果想询问有关Mylex的问题,请通过如下号码与他们联系。

        MYLEX CORPORATION, Fremont
        Sales:  800-77-MYLEX, (510) 796-6100
        FAX:    (510) 745-8016.

他们也有一个WEB站点: Mylex WWW Site

Mylex LNE390A, LNE390B

状态:支持,驱动程序名称:lne390 (+8390)

这些是使用与wd80x3相似的共享内存方式的相当老的EISA网卡。在目前的 2.1.x系列内核里有它们的驱动程序。确定共享内存地址被设置在1MB以下, 或者在机器所安装物理RAM的最高地址之上。

Mylex LNP101

状态:支持,驱动程序名称:de4x5, tulip

这是基于DEC的21040芯片的PCI网卡。可以选择10BaseT、10Base2和10Base5 输出。LNP101网卡被证实可以使用通用的21040驱动程序。

参见有关21040芯片一节( DEC 21040)以 了解更多信息。

Mylex LNP104

状态:半支持,驱动程序名称:de4x5, tulip

LNP104使用DEC的21050芯片来处理四个独立的10BaseT端口。它应该 可以使用最近的能处理共享中断的21040驱动程序,但(我觉察到)这一尝 试还没有人报告使用过。

5.27 Novell Ethernet, NExxxx及其相关兼容卡。

前缀“NE”来自Novell Ethernet。Novell按照最便宜的NatSemi数据手册 设计并把制造权卖(扔?)给了Eagle,就是为了向市场提供价格合理的以 太网卡。(目前被广泛使用的NE2000网卡。)

NE1000, NE2000

状态:支持,驱动程序名称:ne (+8390)

ne2000是围绕NatSemi的8390芯片进行基本设计的通用名称。它们使用可编 程I/O,而不是共享内存,使得安装简单,但性能有一点降低,而且带来几 个问题。有关NE2000网卡的一些普遍性问题列在 Problems with...里。

有些NE2000兼容卡使用National Semiconductor的“AT/LANTic”83905芯 片,提供与wd8013相似的共享内存模式和EEPROM软件配置。共享内存模式 比可编程I/O模式占用的CPU要少(也就是更有效)。

一般来说,把NE2000兼容卡的I/O地址放在0x300不是个好主意,因为 几乎每一个设备驱动程序启动时都探测这个地址。某些差劲的NE2000 兼容卡在被探测到错误区域时处理不当会导致机器死锁。同样,0x320 也不好,因为SCSI驱动程序会探测0x330

Donald为所有ne2000网卡编写了一个NE2000诊断程序(ne2k.c)。参见 诊断程序以了解更多信息。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

NE2000-PCI (RealTek/Winbond/Compex)

状态:支持,驱动程序名称:ne, ne2k-pci (+8390)

是的,无论相信与否,人们制造的PCI网卡是基于十多年前设计的ne2000接 口。目前几乎所有这些网卡都是基于RealTek的8029芯片或Winbond的89c940 芯片。Compex、KTI、VIA和Netvin的网卡也明显是使用这些芯片的,但它 们使用不同的PCI ID。

最新的v2.0内核支持对所有这些网卡的自动检测与使用。(如果你使用 v2.0.34之前的内核版本,把它升级以确保网卡被检测到。)目前有两个可 选的驱动程序,一个是原始的ISA/PCI驱动程序ne.c,另一个是相对 较新的只支持PCI的驱动程序ne2k-pci.c

要使用原始的ISA/PCI驱动程序,在运行make config时必须对“Other ISA cards”选项回答“Y”,与ISA网卡使用同一个NE2000驱动程序。(这 会让你意识到这些网卡并不像PCNet-PCI或DEC 21040网卡一样智能......)

较新的只支持PCI的驱动程序与ISA/PCI驱动程序的区别在于去掉了对所有 老式8比特网卡的支持,而且在移动网卡上的数据时使用更大的数据块,不 再有老式ISA-NE2000网卡可靠操作所必需的中间暂停。这样驱动程序变得 小了一些,效率也高了一些,但在普通应用中这一区别并没明显到令人激 动的地步。(如果希望得到最高效的CPU占用率,那么PCI-NE2000不过是个 差劲的选择。)驱动程序更新及更多信息可以在下面找到:

http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html

如果你的NE2000 PCI网卡没有被最新版本的驱动程序检测到,请与 /usr/src/linux/MAINTAINERS里列出的NE2000驱动程序维护者联 系,并附上cat /proc/pcidmesg的输出,以便把对 该网卡的支持加到驱动程序里。

还要注意,有些网卡的制造商在明知道他们的网卡完全不同时(如PCNet-PCI 或RealTek的8139),依然在产品包装上写著“NE2000 Compatible”。如 果有疑问的话,按照本文档查看一下主要芯片的编号。

NE-10/100

状态:不支持。

这些是基于National Semiconductor的DP83800和DP83840芯片的ISA 100Mbps 网卡。目前没有驱动程序支持它,也没听说有谁在编写这样的驱动程序。 除了一个简单的PDF文件,目前还没有足以编写驱动程序的有关该芯片的资 料。

NE1500, NE2100

状态:支持,驱动程序名称:lance

这些网卡使用AMD的原始7990 LANCE芯片,可以使用Linux的lance驱动程序。 较新的NE2100兼容卡使用AMD的更新后的PCnet/ISA芯片。

某些老版本的lance驱动程序在使用autoIRQ从原始Novell/Eagle 7990网卡 获取中断线时会遇到麻烦。据信现在已经被修正了。如果问题没解决,用 LILO指定IRQ,还有问题的话,请告诉我们。

DMA选择和芯片号码信息可以在 AMD LANCE找到。

更多有关基于AMD LANCE的以太网卡的技术信息可以在 Notes on AMD...找到。

NE/2 MCA

状态:半支持,驱动程序名称:ne2

若干公司生产了几种NE2000微通道网卡。v2.2内核里提供的这一驱动程序 可以检测如下MCA网卡:Novell Ethernet Adapter NE/2、Compex ENET-16 MC/P和Arco Ethernet Adapter AE/2。

NE3200

状态:不支持。

这种老式的EISA网卡把一片8MHz的80186与一片i82586混合使用。没人为它 编写驱动程序,因为没有该网卡的资料,而且也没有对其驱动程序的真正 需求。

NE3210

状态:支持,驱动程序名称:ne3210 (+8390)

这一EISA网卡与NE3200完全不同,它使用Nat Semi的8390芯片。其驱动程 序可以在v2.2内核源码树中找到。确定共享内存地址被设置在1MB以下,或 者在机器所安装物理RAM的最高地址之上。

NE5500

状态:支持,驱动程序名称:pcnet32

这些不过是AMD PCnet-PCI网卡('970A)芯片。更多有关基于LANCE/PCnet 的网卡信息可以在 AMD LANCE找到。

5.28 Proteon

Proteon P1370-EA

状态:支持,驱动程序名称:ne (+8390)

很明显这是一款NE2000兼容卡,在Linux下工作得挺好。

Proteon P1670-EA

状态:支持,驱动程序名称:de4x5, tulip

这是另一款基于DEC的Tulip芯片的PCI网卡。据说在Linux下工作得挺好。

参见有关21040芯片一节( DEC 21040)以 了解更多信息。

5.29 Pure Data

PDUC8028, PDI8023

状态:支持,驱动程序名称:wd (+8390)

PureData的PDUC8028和PDI8023系列网卡据说可以正常工作,感谢Mike Jagdis jaggy@purplet.demon.co.uk提供特别的探测代码。对这些网卡的支 持已经被集成在WD驱动程序里了。

5.30 Racal-Interlan

可以通过WWW站点www.interlan.com联系Racal Interlan。我认为在 过去他们曾被称为MiCom-Interlan。

ES3210

状态:半支持,驱动程序名称:es3210

这是一款基于EISA 8390的共享内存网卡。有一个实验性的驱动程序与v2.2 内核一起发行,据说工作得挺好,但对早期版本网卡的EISA IRQ和共享内 存地址的检测有点问题。(这个问题并不仅限于Linux......)这样就需要 给驱动程序提供中断和地址。例如,网卡为IRQ 5,共享内存在0xd0000, 使用模块化驱动程序,则在/etc/conf.modules里添上 options es3210 irq=5 mem=0xd0000。或者使用编译进内核的驱动程 序,在启动时提供ether=5,0,0xd0000,eth0。I/O基址是自动检测的, 所以在此使用一个零值。

NI5010

状态:半支持,驱动程序名称:ni5010

以前需要另外寻找这些老式8比特MiCom-Interlan网卡的驱动程序,现在它 被作为一个实验性的驱动程序与v2.2内核一起发行了。

NI5210

状态:半支持,驱动程序名称:ni52

该网卡也是使用Intel的芯片。Michael Hipp编写了一个驱动程序,作为 “alpha”驱动程序被包含在标准内核里。Michael希望得到该网卡用户的 反馈。参见 Alpha驱动程序以了解在Linux下使用 alpha/测试版本以太网驱动程序的重要信息。

NI6510(不是EB)

状态:半支持,驱动程序名称:ni65

也有一个基于LANCE的NI6510网卡的驱动程序,而且也是Michael Hipp编写 的。它同样也是“alpha”驱动程序。出于某些原因,该网卡与通用的LANCE 驱动程序不兼容。参见 Alpha驱动程序以了解在Linux下使用alpha/测试 版本以太网驱动程序的重要信息。

EtherBlaster(又名为NI6510EB)

状态:支持,驱动程序名称:lance

从1.3.23内核开始,通用的lance驱动程序里增加了对NI6510EB专有标识 0x52, 0x44进行的检查。但有人报告说所有NI6510EB网卡对于这一标 识并不一样,这会导致lance驱动程序检测不出你的网卡。如果出现了这一 问题,可以把探测(大约在lance.c的第322行)改为printk(),把你的网 卡上的值打印出来,然后用它们来代替缺省的0x52, 0x44

在使用lance驱动程序时,网卡可能运行在“高性能”模式下,而不是NI6510 兼容模式。

5.31 RealTek

RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor

状态:支持,驱动程序名称:atp

这是一款AT-Lan-Tec与(可能的)其它一些供应商出售的通用低成本的OEM 袖珍适配器。在标准内核里包含其驱动程序。注意,驱动程序源文件 “atp.c”里包含了一些实质性的信息。

注意,对于早期版本的驱动程序,传递给ifconfig的设备名eth0,而是atp0

RealTek 8009

状态:支持,驱动程序名称:ne (+8390)

这是一款ISA NE2000兼容网卡,据说使用Linux的NE2000驱动程序工作得挺 好。程序rset8009.exe可以从RealTek的WWW站点 http://www.realtek.com.tw获取——或者用FTP从该站点下载。

RealTek 8019

状态:支持,驱动程序名称:ne (+8390)

这是上述网卡的即插即用版本。使用DOS软件禁止PnP功能,启用无跳线配 置,把网卡的I/O地址和中断设为可用值,然后就行了。(如果要把驱动程 序用作模块的话,不要忘记在/etc/conf.modules里添加一个 io=0xNNN选项。)程序rset8019.exe可以从RealTek的WWW站点 http://www.realtek.com.tw获取——或者用FTP从该站点下载。

RealTek 8029

状态:支持,驱动程序名称:ne, ne2k-pci (+8390)

这是一款NE2000兼容的PCI单芯片产品。现在各个销售商都在销售使用该芯 片的网卡。参见 NE2000-PCI以了解使用该网卡的有关信息。 注意,这依然是附在PCI总线上的十多年前的老式设计。其性能并不比相应 的ISA型号好多少。

RealTek 8129/8139

状态:半支持,驱动程序名称:rtl8139

另一款RealTek的PCI单芯片以太网产品。基于该芯片的网卡的驱动程序被 包括在Linux的v2.0.34发行版本中。目前在回答是否要使用v2.2内核里的 实验性驱动程序时,依然要回答“Y”以获得使用其驱动程序的权利。要了 解更多信息,请阅读:

http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html

5.32 Sager

Sager NP943

状态:半支持,驱动程序名称:3c501

这只不过是一款S.A. PROM前缀不同的3c501兼容网卡。我认为它跟原始的 3c501一样伤脑筋。其驱动程序检查NP943 I.D.之后把它当成3c501来处理。 参见 3Com 3c501以了解为什么实际上不需要使 用这些网卡。

5.33 Schneider & Koch

SK G16

状态:支持,驱动程序名称:sk_g16

其驱动程序被包含在v1.1内核中,是PJD Weichmann和SWS Bern编写的。似 乎SK G16与NI6510相似,都是基于LANCE芯片的第一版(7990)。再重复一 次,似乎该网卡无法使用通用的LANCE驱动程序。

5.34 SEEQ

SEEQ 8005

状态:支持,驱动程序名称:seeq8005

其驱动程序早就被包含在1.3.x内核中了,是Hamish Coleman编写的。驱动 程序里只包含了很少的网卡信息,所以这里也没有多少相关信息。如果有 问题的话,最好发e-mail给hamish@zot.apana.org.au。

5.35 SMC (Standard Microsystems Corp.)

在许多年前wd8003和wd8013还是主流产品时,Western Digital的以太网部 门就被SMC收购了。在那之后,SMC继续制造基于8390的ISA网卡(Elite16、 Ultra、EtherEZ),并增加了几种PCI产品。

与SMC的联系方法:

SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New York, 11788, USA. 电话技术支持:800-992-4762 (USA) or 800-433-5345 (Canada) or 516-435-6250 (Other Countries). 索取资料:800-SMC-4-YOU (USA) or 800-833-4-SMC (Canada) or 516-435-6255 (Other Countries). E-mail技术支持: techsupt@ccmail.west.smc.com. FTP Site: ftp.smc.com. WWW Site: SMC.

WD8003, SMC Elite

状态:支持,驱动程序名称:wd (+8390)

这些是网卡的8比特版本。8比特的8003比较便宜,但只在流量小的用途上 是划算的。注意,某些没有EEPROM的网卡(使用跳线的兼容卡,或非常 非常古老的wd8003网卡)无法报告它们使用的中断线。此时,如果使 用auto-irq失败,驱动程序就会静悄悄地分配IRQ 5。你可以从SMC的FTP站 点获取设置/驱动程序磁盘。注意,某些较新的SMC的“SuperDisk”程序检 测不到那些确实古老的没有EEPROM的网卡。文件SMCDSK46.EXE看来是 个相当全面的方法。前面提到的档案中的一个ASCII文本文件里给出了所有 这些网卡的跳线设置。最新(最好?)的版本可以从ftp.smc.com得到。

这些基本上与它们的16比特对应网卡(WD8013 / SMC Elite16)是一样, 所以可以从下一节了解更多的信息。

WD8013, SMC Elite16

状态:支持,驱动程序名称:wd (+8390)

若干年后,SMC在设计中添加了更多的寄存器和一个EEPROM。(第一块wd8003 网卡已经面世十年了!)兼容卡一般使用的名称为“wd8003”,采用没有 EEPROM(用跳线)的设计。近期型号的SMC网卡使用SMC的83c690芯片,代 替了早期网卡上的原始Nat Semi的DP8390。共享内存设计使网卡的速度比 PIO网卡快了一点,尤其是对较大的数据包。更重要的是,从驱动程序的角 度来看,避免了8390可编程I/O模式的几个Bug,而且在热启动探测时不会 因为可编程I/O数据寄存器导致死机。

没有EEPROM的网卡在无法读取选定的中断时会尝试auto-irq,如果失败的 话,它会静悄悄地分配IRQ 10。(8比特版本分配IRQ 5。)

板上内存大小不标准的网卡可以在启动时指定内存大小(如果使用模块的 话,把它作为/etc/conf.modules中的一个选项)。8比特网卡的 标准内存大小为8kB,16比特网卡为16kB。例如,老式的WD8003EBT网卡可 以用跳线设置为32kB内存。要完全使用这些RAM,需要如下操作(对 I/O=0x280和IRQ 9):


        LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0

参见 8013问题以了解某些常见问题。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

SMC Elite Ultra

状态:支持,驱动程序名称:smc-ultra (+8390)

该以太网卡是基于SMC的83c790芯片,比83c690多几个新特性。虽然有一种 与老式SMC以太网卡相似的模式,它无法与老的WD80*3驱动程序完全兼容。 但在这种模式下,它可以与其它8390驱动程序共享大部分代码,操作比 WD8013兼容网卡稍微快一点。

由于Ultra部分看起来象8013,所以Ultra探测应当在wd8013探测错误 地识别一个Ultra网卡之前找到它。

Donald提到可以为Ultra的“Altego”模式编写一个独立的驱动程序,该模 式允许把发送链接起来进行,但接收缓存的利用效率会下降,但是可能不 会有这样的驱动程序。

总线控制SCSI主机适配器的用户需要注意:在与Interactive UNIX一起发 行的手册里提到,SMC Ultra里的一个Bug会导致aha-154X主机适配器运行 的SCSI磁盘数据损坏。这可能影响aha-154X兼容卡,如BusLogic板和 AMI-FastDisk SCSI主机适配器。

SMC承认在Interactive和老式Windows NT驱动程序上会出现这个问题。它 是早期版本的网卡存在的硬件冲突,可以通过驱动程序的设计解决。目前 的Ultra驱动程序通过只在与网卡传递数据时才启用共享内存避免了这个问 题。确定你的内核版本至少是1.1.84以上,或者启动时报告的驱动程序版 本至少为smc-ultra.c:v1.12,否则就会出问题。

如果你想把该驱动程序作为一个可载入的模块,应该阅读 把以太网驱动程序作为模块使用 以了解有关模块的信息。

SMC Elite Ultra32 EISA

状态:支持,驱动程序名称:smc-ultra32 (+8390)

这个EISA网卡与其相应的ISA网卡有很多共同点。在v2.0和v2.2内核里都包 含了一个可以使用(而且稳定)的驱动程序。感谢Leonard Zubkoff购买了 这些网卡,使Linux里得以增加对它们的支持。

SMC EtherEZ (8416)

状态:支持,驱动程序名称:smc-ultra (+8390)

该网卡使用SMC的83c795芯片并支持即插即用特性。它也有SMC Ultra 兼容模式,可以使用Linux的Ultra驱动程序。要得到最佳效果,请使用SMC 提供的程序(通过他们的FTP/WWW站点)禁用PnP,并把它配置为共享内存 模式。参见上面有关Ultra驱动程序的说明。

对于v1.2内核,该网卡必须被配置为共享内存模式。但v2.0内核可以在共 享内存或可编程I/O模式下使用该网卡。共享内存模式稍微快一点,而且对 CPU资源的占用少一些。

SMC EtherPower PCI (8432)

状态:支持,驱动程序名称:de4x5, tulip

先声明一点:EtherPower II是一款完全不同的网卡。往下看!这些网卡是 基本的DEC 21040产品,即一个大芯片和若干收发器。Donald在开发通用 21040驱动程序(又名为tulip.c时使用了一块这样的网卡。再一次感 谢Duke Kamstra提供了这块开发时所用的网卡。

某些近期版本的这种网卡使用较新的DEC 21041芯片,在使用早期版本的 tulip驱动程序时可能会有问题。如果遇到麻烦,请确定使用的是最新发布 的驱动程序,它可能还没有被包含在目前的内核源码树里。

参见 DEC 21040 以了解这些网卡的更多信息和当前驱动程序的状况。

很明显,EtherPower-II网卡的最新版本使用9432芯片。目前还不清楚它是 否可以使用现在的驱动程序。同样,如果无法确信的话,在购买网卡 之前,先确定如果不能使用Linux驱动程序就可以退货。

SMC EtherPower II PCI (9432)

状态:半支持,驱动程序名称:epic100

这些网卡是基于SMC 83c170芯片,与基于Tulip的网卡完全不同。在v2.0和 v2.2内核里包含支持它的新驱动程序。更多的细节请访问:

http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html

SMC 3008

状态:不支持。

这些8比特网卡是基于Fujitsu MB86950的,它是Linux at1700驱动程序所 用MB86965的古老版本。Russ说可以通过阅读at1700.c代码和他自己的Tiara 网卡DOS驱动程序包(tiara.asm)来编写它的驱动程序。这些网卡不是很 常见。

SMC 3016

状态:不支持。

这些是16比特的I/O映射8390网卡,与通用NE2000网卡很相似。如果你能从 SMC得到说明资料,那么移植NE2000驱动程序将相当简单。这些网卡不是很 常见。

SMC-9000 / SMC 91c92/4

状态:支持,驱动程序名称:smc9194

SMC9000是基于91c92芯片的VLB网卡。91c92也出现在若干其它品牌网卡上, 但相当少见。Erik Stahlman (erik@vt.edu)编写了v2.0内核里的驱动程序, 但在较早的v1.2内核里没有该驱动程序。把驱动程序放入v1.2内核源码树 没有多大困难。

SMC 91c100

状态:半支持,驱动程序名称:smc9194

据说SMC 91c92驱动程序支持该款基于100Base-T芯片的网卡,但目前还未 得到证实。

5.36 Texas Instruments

ThunderLAN

状态:支持,驱动程序名称:tlan

该驱动程序覆盖了许多Compaq的内建以太网设备,包括NetFlex和Netelligent 系列。它还支持Olicom的2183、2185、2325和2326产品。

5.37 Thomas Conrad

Thomas Conrad TC-5048

这是基于DEC的21040芯片的另一款PCI网卡。

参见有关21040芯片一节( DEC 21040)以 了解更多信息。

5.38 VIA

你可能没见过VIA网卡,但VIA制造的几种网络芯片被用在其它厂家的以太 网卡上。他们有一个WWW站点:

http://www.via.com.tw/

VIA 86C926 Amazon

状态:支持,驱动程序名称:ne, ne2k-pci (+8390)

该控制器芯片是VIA提供的PCI-NE2000。你可以选择ISA/PCI驱动程序 ne.c或者只支持PCI的驱动程序 ne2k-pci.c。参见 PCI-NE2000一节以了解更多信息。

VIA 86C100A Rhine II (and 3043 Rhine I)

Status 支持,驱动程序名称:via-rhine

这一相当新的驱动程序可以在目前的2.0和2.1内核里找到。它是在86C926 NE2000芯片上的改进,支持总线控制权传递,但严格的缓存32比特字节对 齐的要求限制了从中得到的好处。要了解更多细节和驱动程序更新,参见:

http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html

5.39 Western Digital

请参见 SMC以了解有关SMC网卡的信息。(SMC在多 年前就收购了Western Digital的网卡部门。)

5.40 Winbond

Winbond实际上并不制造和向大众销售完全的网卡——他们生产单片以太网 芯片,其它公司购买并在PCI板上印上自己的名字,然后通过零售店销售。

Winbond 89c840

状态:半支持,驱动程序名称:winbond-840

该驱动程序还没有与内核一起发行,因为它还处于测试阶段。可以从下面 获取:

http://cesdis.gsfc.nasa.gov/linux/drivers/test/winbond-840.c

Winbond 89c940

状态:支持,驱动程序名称:ne, ne2k-pci (+8390)

该芯片是很多制造商出售的低价PCI ne2000网卡上最常见的两个芯片之一。 注意,这依然是附在PCI总线上的十多年前的老式设计。其性能并不比相应 的ISA型号好多少。

5.41 Xircom

在很长一段时间里,除非你签署文件放弃你的生命,Xircom不愿意发布编 写驱动程序所需的编程信息。显然有足够多的Linux用户不断纠缠他们,要 得到驱动程序支持(Xircom声称支持所有通用网络操作系统......),所 以他们改变了政策,无需再签署不公开协议,允许公开有关资料。有些人 说他们将要公开SCO驱动程序的源码,另一些被告知他们不再提供象早期PE 型号那样“被废弃”的产品资料。如果你感兴趣并想自己了解一下,可以 联系Xircom:1-800-874-7875, 1-800-438-4526 或 +1-818-878-7600。

Xircom PE1, PE2, PE3-10B*

状态:不支持。

不要抱太大希望,但如果你有一个这样的并口适配器,可以在DOS仿真器下 使用Xircom提供的DOS驱动程序使用它。你需要允许DOSEMU访问并口,可能 还要和SIG(DOSEMU的傻瓜中断生成器)一起使用。

Xircom PCMCIA Cards

状态:半支持,驱动程序名称:????

在David Hinds的PCMCIA软件包里有一些Xircom的PCMCIA网卡驱动程序。查 看一下以了解最新信息。

5.42 Zenith

Z-Note

状态:支持,驱动程序名称:znet

内建的Z-Note网络适配器是基于使用两个DMA通道的Intel i82593。 在目前的内核版本里有一个(alpha?)驱动程序。与所有笔记本电脑和袖 珍适配器一样,在运行make config时它被放在“Pocket and portable adaptors”部分。同时还要注意,IBM ThinkPad 300与Z-Note兼容。

5.43 Znyx

Znyx ZX342 (DEC 21040 based)

状态:支持,驱动程序名称:de4x5, tulip

在使用基于该芯片的网卡时可以在两个驱动程序中进行选择。David 编写了DE425驱动程序,Donald编写了通用的21040驱动程序。

注意,在1.1.91,David增加了一个编译选项,允许非DEC网卡(如Znyx网 卡)使用其驱动程序。请阅读README.de4x5以了解其中细节。

参见 DEC 21040 以了解这些网卡的更多信息和当前驱动程序的状况。

5.44 识别未知网卡

好吧,你叔叔的侄子的邻居的朋友有一个兄弟,在他给儿子的宠物大老鼠 做窝的AT箱子里找到了一块老式ISA以太网卡。最后这块网卡落在你的手里, 想在Linux下使用,但没人知道这块网卡是什么,也没有任何资料。

首先,寻找可以作为线索的任何明显的型号编码。如果型号里包含2000, 那么很有可能是块NE2000兼容网卡。上面有8003和8013的网卡可能是 Western/Digital的WD80x3网卡,或者是SMC Elite网卡,或者它们的兼容 网卡。

识别网络接口控制器

寻找网卡上最大的芯片。那就是网络控制器(NIC),大多数都可以从部分 编号上识别出来。如果你知道网卡上是哪一种NIC,下文就能帮你弄清是哪 一种网卡。

可能最常见的NIC还是National Semiconductor的DP8390,又名NS32490, 又名DP83901,又名DP83902,又名DP83905,又名DP83907。这些不过是National 生产的一部分芯片!其它一些公司,如Winbond和UMC,生产DP8390和DP83905 兼容部分,如Winbond的89c904(与DP83905兼容)和UMC的9090。如果网卡 由8390构成,那么它可能就是一个ne1000或ne2000兼容网卡。其次常用的 基于8390的网卡是wd80x3网卡及其兼容卡。使用DP83905的网卡可以被认为 是ne2000wd8013。新版本的通用wd80x3和SMC Elite网卡在原来DP8390 的位置上用的是83c690。SMC Ultra网卡采用83c790,使用与wd80x3网卡稍 有区别的驱动程序。SMC EtherEZ网卡采用83c795,使用的驱动程序与SMC Ultra网卡一样。所有基于某种8390或8390兼容芯片的BNC网卡都有一片紧 靠BNC连接器的16针DIP芯片8392(或83c692,又或???392)。

另一个在老式网卡上找到的常见NIC是Intel的i82586。使用该NIC的网卡包 括3c505、3c507、3c523、Intel的EtherExpress-ISA、Microdyne的Exos-205T 和Racal-Interlan的NI5210。

原始AMD LANCE NIC的编号为AM7990,较新的版本包括79c960、79c961、 79c965、79c970和79c974。上面的大多数网卡都可以使用Linux的LANCE驱 动程序,有个例外是使用自己的驱动程序的老式Racal-Interlan的NI6510 网卡。

使用DEC的21040、21041、21140或类似的编号NIC的较新的PCI网卡可以使 用Linux的tulip或de4x5驱动程序。

其它有一个印著RTL8029、89C940或86C926的大芯片的PCI网卡是ne2000兼 容网卡,v2.0以上版本Linux里的ne驱动程序在启动时可以自动检测这些网 卡。

识别以太网地址

每一个以太网卡都有一个唯一的6字节网卡地址。同一个制造商生产的每一 块网卡的该地址的前三个字节都是一样的。例如,所有的SMC网卡都以 00:00:c0开始。制造商分配的后三个字节对于自己生产的每一块网卡 都是唯一的。

如果你的网卡上有个标签给出了网卡地址的全部六个字节,就可以通过前 三个字节查到它的销售商。但一般PROM插座上贴的标签上只打印了后三个 字节,没什么用。

You can determine which vendors have which assigned addresses from RFC-1340. Apparently there is a more up to date listing available in various places as well. Try a WWW or FTP search for EtherNet-codes or Ethernet-codes and you will find something. 你可以从RFC-1340上找到分配给销售商的地址。显然有很多地方可以找到 最新的地址列表。通过WWW或FTP查找EtherNet-codesEthernet-codes就可以找到它们。

使用未知网卡的技巧

如果还无法确定是哪一种网卡,但至少缩小了可能的范围,那么你可以构 建一个包括全部可能驱动程序的内核,然后看看其中的哪一个可以在启动 时自动检测到网卡。

如果内核没有检测到网卡,那么就是网卡没有被配置到一个驱动程序寻找 网卡时探测的地址上。此时,需要从当地的Linux的FTP站点下载 scanport.tar.gz,看看它能否定位出你的网卡跳线所设的地址。它 扫描从0x1000x3ff的ISA I/O地址以寻找 /proc/ioports里没有注册的设备。如果它在某个特定地址发现 了一个未知设备,那么就可以用一个启动参数ether=把它明确设定为 以太网卡探测的地址。

如果你设法检测到了网卡,那么一般可以依次改变未知跳线来了解跳线的 作用,并查看被检测到的网卡所用I/O基址和中断。中断设置一般可以通过 查看跳线在网卡背面所焊接的位置来得到。从网卡有金属插座的一端数背 面的“金手指”,相应于金手指4、21、22、23、24、25、34、35、36、37、 38分别是中断9、7、6、5、4、3、10、11、12、15、14。8比特网卡只用到 金手指31。

看起来没什么用的跳线一般是用来选择可选启动ROM的内存地址。靠近BNC 或RJ-45或AUI的其它跳线一般是用来选择输出媒介的。一般它们也在印著 YCL、Valor或Fil-Mag的“黑盒子”变压器附近。

如下URL收集了很多各种网卡的跳线设置:

Ethercard Settings

5.45 非以太网设备的驱动程序

在Linux源码里有若干在网络程序看来是象以太网设备的其它驱动程 序,但实际上不是以太网设备。为了本文档的完整性,把它们简要地列在 这里。

dummy.c -- 该驱动程序的目的是提供一个设备来指出路由,但并不 实际传输数据。

eql.c -- 负荷均衡,控制多个设备(一般是modem)并在其中平衡发 送负载,对网络程序表现为单个设备。

ibmtr.c -- IBM的令牌环,并非真正的以太网。令牌环要求源路由以 及其它一些麻烦事。

loopback.c -- 环回设备,你的机器发出的所有数据包的目的地还是 你自己的机器。从本质上说只是把数据包从发送队列移到接收队列。

pi2.c -- Ottawa业余无线电爱好者俱乐部PI和PI2的接口。

plip.c -- 并行线Internet协议,允许两台计算机通过并口的端到端 方式连接互相发送数据包。

ppp.c -- 端到端协议(PPP,RFC1331),在端到端的连接(一般为 modem)上传输多协议数据帧。

slip.c -- 串行线Internet协议,允许两台计算机通过串口(一般通 过modem)的端到端方式连接互相发送数据包。

tunnel.c -- 提供一个IP通道,可以使网络数据流透明地穿过子网。

wavelan.c -- 由Intel的82586协处理器控制的类以太网无线电收发 器。82586也被用在诸如Intel EtherExpress的其它以太网卡上。


Next Previous Contents