⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3c509.txt

📁 linux 内核源代码
💻 TXT
字号:
Linux and the 3Com EtherLink III Series Ethercards (driver v1.18c and higher)----------------------------------------------------------------------------This file contains the instructions and caveats for v1.18c and higher versionsof the 3c509 driver. You should not use the driver without reading this file.release 1.028 February 2002Current maintainer (corrections to):  David Ruggiero <jdr@farfalle.com>----------------------------------------------------------------------------(0) IntroductionThe following are notes and information on using the 3Com EtherLink III seriesethercards in Linux. These cards are commonly known by the most widely-usedcard's 3Com model number, 3c509. They are all 10mb/s ISA-bus cards and shouldn'tbe (but sometimes are) confused with the similarly-numbered PCI-bus "3c905"(aka "Vortex" or "Boomerang") series.  Kernel support for the 3c509 family isprovided by the module 3c509.c, which has code to support all of the followingmodels:  3c509 (original ISA card)  3c509B (later revision of the ISA card; supports full-duplex)  3c589 (PCMCIA)  3c589B (later revision of the 3c589; supports full-duplex)  3c529 (MCA)  3c579 (EISA)Large portions of this documentation were heavily borrowed from the guidewritten the original author of the 3c509 driver, Donald Becker. The mastercopy of that document, which contains notes on older versions of the driver,currently resides on Scyld web server: http://www.scyld.com/network/3c509.html.(1) Special Driver FeaturesOverriding card settingsThe driver allows boot- or load-time overriding of the card's detected IOADDR,IRQ, and transceiver settings, although this capability shouldn't generally beneeded except to enable full-duplex mode (see below). An example of the syntaxfor LILO parameters for doing this:    ether=10,0x310,3,0x3c509,eth0 This configures the first found 3c509 card for IRQ 10, base I/O 0x310, andtransceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflictswith other card types when overriding the I/O address. When the driver isloaded as a module, only the IRQ and transceiver setting may be overridden.For example, setting two cards to 10base2/IRQ10 and AUI/IRQ11 is done by usingthe xcvr and irq module options:   options 3c509 xcvr=3,1 irq=10,11(2) Full-duplex modeThe v1.18c driver added support for the 3c509B's full-duplex capabilities.In order to enable and successfully use full-duplex mode, three conditionsmust be met: (a) You must have a Etherlink III card model whose hardware supports full-duplex operations. Currently, the only members of the 3c509 family that arepositively known to support full-duplex are the 3c509B (ISA bus) and 3c589B(PCMCIA) cards. Cards without the "B" model designation do *not* supportfull-duplex mode; these include the original 3c509 (no "B"), the original3c589, the 3c529 (MCA bus), and the 3c579 (EISA bus).(b) You must be using your card's 10baseT transceiver (i.e., the RJ-45connector), not its AUI (thick-net) or 10base2 (thin-net/coax) interfaces.AUI and 10base2 network cabling is physically incapable of full-duplexoperation.(c) Most importantly, your 3c509B must be connected to a link partner that isitself full-duplex capable. This is almost certainly one of two things: a full-duplex-capable  Ethernet switch (*not* a hub), or a full-duplex-capable NIC onanother system that's connected directly to the 3c509B via a crossover cable. /////Extremely important caution concerning full-duplex mode/////Understand that the 3c509B's hardware's full-duplex support is much morelimited than that provide by more modern network interface cards. Althoughat the physical layer of the network it fully supports full-duplex operation,the card was designed before the current Ethernet auto-negotiation (N-way)spec was written. This means that the 3c509B family ***cannot and will notauto-negotiate a full-duplex connection with its link partner under anycircumstances, no matter how it is initialized***. If the full-duplex modeof the 3c509B is enabled, its link partner will very likely need to beindependently _forced_ into full-duplex mode as well; otherwise various nastyfailures will occur - at the very least, you'll see massive numbers of packetcollisions. This is one of very rare circumstances where disabling auto-negotiation and forcing the duplex mode of a network interface card or switchwould ever be necessary or desirable.(3) Available Transceiver TypesFor versions of the driver v1.18c and above, the available transceiver types are: 0  transceiver type from EEPROM config (normally 10baseT); force half-duplex1  AUI (thick-net / DB15 connector)2  (undefined)3  10base2 (thin-net == coax / BNC connector)4  10baseT (RJ-45 connector); force half-duplex mode8  transceiver type and duplex mode taken from card's EEPROM config settings12 10baseT (RJ-45 connector); force full-duplex modePrior to driver version 1.18c, only transceiver codes 0-4 were supported. Notethat the new transceiver codes 8 and 12 are the *only* ones that will enablefull-duplex mode, no matter what the card's detected EEPROM settings might be.This insured that merely upgrading the driver from an earlier version wouldnever automatically enable full-duplex mode in an existing installation;it must always be explicitly enabled via one of these code in order to beactivated.  (4a) Interpretation of error messages and common problemsError Messageseth0: Infinite loop in interrupt, status 2011. These are "mostly harmless" message indicating that the driver had too muchwork during that interrupt cycle. With a status of 0x2011 you are receivingpackets faster than they can be removed from the card. This should be rareor impossible in normal operation. Possible causes of this error report are:    - a "green" mode enabled that slows the processor down when there is no     keyboard activity.    - some other device or device driver hogging the bus or disabling interrupts.     Check /proc/interrupts for excessive interrupt counts. The timer tick     interrupt should always be incrementing faster than the others. No received packets If a 3c509, 3c562 or 3c589 can successfully transmit packets, but neverreceives packets (as reported by /proc/net/dev or 'ifconfig') you likelyhave an interrupt line problem. Check /proc/interrupts to verify that thecard is actually generating interrupts. If the interrupt count is notincreasing you likely have a physical conflict with two devices trying touse the same ISA IRQ line. The common conflict is with a sound card on IRQ10or IRQ5, and the easiest solution is to move the 3c509 to a differentinterrupt line. If the device is receiving packets but 'ping' doesn't work,you have a routing problem.Tx Carrier Errors Reported in /proc/net/dev If an EtherLink III appears to transmit packets, but the "Tx carrier errors"field in /proc/net/dev increments as quickly as the Tx packet count, youlikely have an unterminated network or the incorrect media transceiver selected. 3c509B card is not detected on machines with an ISA PnP BIOS. While the updated driver works with most PnP BIOS programs, it does not workwith all. This can be fixed by disabling PnP support using the 3Com-suppliedsetup program. 3c509 card is not detected on overclocked machines Increase the delay time in id_read_eeprom() from the current value, 500,to an absurdly high value, such as 5000. (4b) Decoding Status and Error MessagesThe bits in the main status register are: value 	description0x01 	Interrupt latch0x02 	Tx overrun, or Rx underrun0x04 	Tx complete0x08 	Tx FIFO room available0x10 	A complete Rx packet has arrived0x20 	A Rx packet has started to arrive0x40 	The driver has requested an interrupt0x80 	Statistics counter nearly fullThe bits in the transmit (Tx) status word are: value 	description0x02 	Out-of-window collision.0x04 	Status stack overflow (normally impossible).0x08 	16 collisions.0x10 	Tx underrun (not enough PCI bus bandwidth).0x20 	Tx jabber.0x40 	Tx interrupt requested.0x80 	Status is valid (this should always be set).When a transmit error occurs the driver produces a status message such as    eth0: Transmit error, Tx status register 82The two values typically seen here are:0x82 Out of window collision. This typically occurs when some other Ethernethost is incorrectly set to full duplex on a half duplex network. 0x88 16 collisions. This typically occurs when the network is exceptionally busyor when another host doesn't correctly back off after a collision. If thiserror is mixed with 0x82 errors it is the result of a host incorrectly setto full duplex (see above).Both of these errors are the result of network problems that should becorrected. They do not represent driver malfunction.(5) Revision history (this file)28Feb02 v1.0  DR   New; major portions based on Becker original 3c509 docs

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -