UWVFP( FP0 ‹؋F&O F&G&G<ʋЋ™Ƌ$6&~&6&F&9EtL2pP3P F&EĞ&(6&>pt*6&>vt TF&EF,6&>~FvFĞ&^&9~Ì~ڹ-F*Ftz8ft F^&8Gui~t F^&8GuWF+F;F| F9Fu~tF@t8F^&8Gt,F+F;F~<.6&>t0^&GĞ&v&@F[FF,6&9~2F^&8Gu FuӋvzvĞ&7X06&?&&DPĞ&&& 26&>|u 46&z66&^&Gȋƻ[؎86&>&I86&&a~t;F*PĞ&&& 46&zF*Pv:6&& ud26&>|u 46&zĞ&&& <6&6&6` P, >6&F&H t8PP  |FPPh P:6&6&6P  |FPPh P*6&>vt BlPP] @6&6&6`Ğ&&& pP B6&R&TĞ&7FD6&FF6& fĞ&7FtH6&&J6&H6&J6&f%=؎L6&FD6&FF6& ^_]ːUVN6&6 &6rP N6&6 &6"P vPrPh P"Ph FPrPXX @uNFP"PXX @uQN6&6 &6"P P6&6(&6&"Ph FP"PXX @uFV9Vvr9Fv~} ~[sPrPC uƆrPrPVj3 6d6brP  udpP~QPVj3 FPF-P86&6&6VP R6&[RPFV-RP ,6&V2 ^]UWV+PP( FVN6&6 &6FP N6&6 &64P PFPh P4Ph FP4PXX @uQN6&6 &64P P6&6(&6&4Ph FP4PXX @u3FV9Vw1r9Fs*FVFV06&X&& FVFVFVPPFPC uP6d6bVh4 pP~QPVh4 3,602&9?~Dv3ɉNރ,.&Gt &u&g[GĞ0&9?ЋvFP[Ğ0&/P86&6&6VW V2 FPFPR ^_]ːUTWVN6&6 &6FP PFPh PFP V t)FPVQpQ~RQx WV ^_]ːU"WVFP( FP0 V<&m&EFT6&F&M FF &EF~,6&F 86&&؉V$6&FN9Nu~t F&u|v&DF&8G tl&G *Fta&G:F t F&D8FuJF&G9F t F&D8Fu0Fw&F;FF&@t+~9~~~[A9N~a~}+FFf~@~F39N86&&>؉V~؃~t Fw&uZFw&*FtJF&F t F&8Eu4Fw&F t F&8EuFw&FF;F}F[A9N~V~t}^_]ːear all searchUWVP V t5P6  u$FPVVP VPƆVPVPh FPVPXX  t$VPP(P P ~WP V u P(P P P-PVP26 FV u$VP0P(P P vvWPvV ;t2VPLP(P vv P vv  t$VPwP(P P F  3RT&7&GLX"3NP&&G&MVv~~؎ZX&&+NjV&&PIuvĞN&F&7&GĞR&&&GÌV&$3& &> & & ߎ&&3&OF&&&ʋH(3JL&&G*3&&F&ʋFPQ" @FĞJ&&?~G~VvN~&&+NjV&&PAĞJ&&9ڋ~v*3&F&7&GĞJ&&@&GF,3&> & M.3& & ^_]ː&u0 U.WV4Z9&3\9&6^9&"`9& b9&r d9&bf9&dh9&fj9&h+ɉNNvvZ RP"Pr QP V^V۹^VNVl9&>nu-n9&X&B&@ "P| 3br QP t~ PvvP t!2PP] p9&tN릐2PP] p9&u, QP2PP] p9&u0 ~+PP( FVP+PP( ȋ+FV~9&&SQvvvVr FV~9&&d3SQRP FVdRPvv FVvvRP<RPSQRPvv⚺ RPFމVT SQvvމFډVܚT <3SQvvF։Vؚ FV؋Nڋ^+SQF҉VԚT +FVRPvvvvvvZ RPn9&X&r&p N~9&pr9^F&?tt9&>vt^&?t;^9&>"u\9&>6u `9&> tPvv^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66 tظ[.ظ&&،F&Gt1&9}&Gع&;z ~36&z F&9G|&F u &>tF&Gu & t~u &>tF&Gt & uPvvP t}pr9^F&?tMt9&>vtAPPv9&68&66`Px9&JPv9&68&66+PP( FVz9&>|u |9&z, QP |%^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66PvvPn9&X&F&D PvvPr9&>ptMt9&>vtAPPv9&68&66`Px9&GPv9&68&66^_]UWV P3Z9&P QP 9+&& ~ u19&9>"t2PP] p9&u |] u9&9&F |#[n9&&@t 9&2P P] =tz9&>|u |9&zr9&>ptt9&>vtT9&>"t2PP] p9&t t3Pt9&N& LtsdP FV|] t6~vv`  u!dP FV] |] u͚] 3P9&6N&6LtmpP FVRP`  tP~|] t@2P P] =t* vv`  t 3b2PP] p9&t;3PN^9&>"u\9&>6u `9&> t N(^_]ːUWV9 &?|%[&/9&&~ڹ-Ğ &?}^9&>"t5~t/F*Pn9&X&N&L F*P3~9&& t1B*PWn9&X&R&P B*PFF;r `9&?u \9&>6t?Ğ &?|5~t/F*Pn9&X&V&T F*PO9&& uĞ&?u\9&>6u^9&>"un9&X&Z&X 9&6&6` P, 9&6&6P Ğ &?|FPPh PPP] n9&X&^&\ 9&6&6`pP 9&R&T3^9&"\9&6Ğ&^_]ːU욀"P9&6&6n9&X&& 9&6&6`嚖t9&>vt9&63P] 9&>Ltr 9&>du.] v ]UVv u3, ȋƙ+T؋ʙùdP ^]ːUWV~9&B&DF&9Eu &9U u&E & Eu 9&&9&6&6KP KP" KF^F9&& u~N؋W&9Du&9T tGG u9&&V uVV‹&?u$~9&>t3"PvW ~^FFG&<u^&7"PvW_9&6&6KP KP" K^9&F&9t&9&>uF&5"PDvP K^_]ːUt9&>vur9&>pu3P, 9&@P"Pr QP PQ9&6&6`r QP9&6&6Z9&@P9&6 "Pr QP PP9&6&6`r QP9&6&6Z9&bF t'P9&6&6"Pr QP $9&6&6 #Pr QP PQ9&6&6`#P9&6&6ZPP9&6&6`r QP9&6&6Z3P9&6^ ]ːt9&>vt&r9&>pt P9&6&6ːU.WV~FL^ }dǹ[FԻ9^֌F&&GtFLBƌ@V~t ‹F& ^&^&GtFF&C~t FF& ^&^&GtFF&D~t FF& ~t$^&^&G@tFF&FFF& ^&^&GtFF&H~t FF& ^&^&GtFF&K~t FF& ^&^&GtyFF&L~ti^&^&GF |@P+# +FP0#PFP FڌҋȎڋ6?t!vNG^F&=uv~~t$^&^&GtFF&MFF& ^&^&GtFF&N~t FF& ^&^&GtFF&S~t FF& ^&^&G tFF&R~t FF& ~t^~&=&At FF&XF&FL^_]ÐUt9&>vur9&>pu9&>u3P9&6+RP9&@P5#Pr QP PQ9&6&6`r QP9&6&6Z PP9&6&6`vv9&6&6ZT]UWV3Pz9`b&?}Tt9&>vuEWĞ`&@PXn9\^&&f&ddP PP9XZ&w&7`dPĞX&w&7ZPĞ`&7‹؋F&?tTPVĞ\&&j&hdP PPĞX&w&7`dPĞX&w&7Z9TV&G& u9&w&7dP A#PdPh PJ#PdP26 V uFPVQQNQ FWV ~uvrĞT&w&7dP M#PdPh 3PdQNQ*6 uqvFP ;PdPFP*6 t@2PPĞX&w&7`Ğ\&&n&lĞX&w&7ZT^_]R$bCLSU.WV4 ع4& &QP( 4+&,&*&(&0&.p4^F&9t&4&9vtotice and authorship remains intact. &?u-~ٹ~t%FFF4&F ~FFFP RP4&6&6 Pr QP r QPB FP RP Pr QP r QPB F ~js)+FFFFFF4^ތF&4&>v% 4^ڌF&4&>x ^&4& 4&9s 4&> t^&3PN։VRQQD~u QPP  tuHtpHtHHtMc uW^&^&ub4&h4&d4&X&& 뤚 u ^&^&u2봎4&h3P4&T4&ht F҉NԐ3^&9?~14&t&4 QPF  uG^&9?ҚHuHuGHtvHu}W4&t ;E2PP] 4&u)FPP 3PvvָP4& u^&^&t4&d4&h4&X&&  u^&^&t밐62PP] 4&u_4&>tPFPP 3PvvָP"2PP] 4&uFFPQ F4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT4&h3PO QPP 4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT4&T4&h QPP 4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT3P5& 5&b4&d5&f4&hPvvָPf3PvvָPQ^_]WV+ &&r & &6&"&& & ع^_ːUVXP FVRP`  uuv2PP] 4&tY uP2PP]  tFF& t*<t&P]  vv`  t'2PP] :] P ] 3^]ːU(WVb5&?u]v vFVF tHt#HuHuHu)F396F~(D Pv vWd u F;6F|ۋ~F &}t=&u&uvv PbP F &u/ PFP 2vvbP F &u&u8 PFP FLJFĞ&7bPE PP T PP V us5&& tZFLJFbP Ğ&7bPW PP f PP VF u-~ uyP4&X&>&< UFPV FPbPh bPP<  uX9F t!bP4&X&B&@ FDF^FFV ~~ t+v vZ RP4&X&F&D PB >Fuy396F~%D Pv vWd t F;6F|96F/~ u=v vZ RP4&X&J&H~F &}t=&u&uvvi PbP F &uy PFP 2vvbP F &u&u PFP F?t5&6&6bP FPbPh F;6F}rFFFFDFDFF+ƉF~vF^^F^FF F NuFbPB  u$9F ubP4&X&N&L?~ ubP4&X&R&P 5&& uĞ&7P PbP  PbP RP D5&& t-Ğ&7P PbP bPB 3^_]U($ 5^ތF&?u5^ڌF&G& u  t6 6 `  udP   5&bF tP^&w&7 PNFP ^&w&7 PNFP FPNFPXX  uDNFPB ^&74&X&&  5&z^&7]39&RzLxL9&9ptI9&9vt>PP9&6&6`#P9&6&6ZT#P| ] 9&$PP] P u 9&X&N&L 3n9&>ptJ9&>vt>PP9&6&6`#P9&6&6ZT$P| PV39&RzLxL9&9ptH9&9vt=PP9&6&6`&$P9&6&6ZT H$P| :] 9&$PP] 3PN tz9&>ptK9&>vt?PP9&6&6`S$P9&6&6ZTu$P| 3P u4^ːUWV9& & VȋڀFV$PSQ $PvW QPr9&QPZ RP$P 9&QPZ RPvW'3FF9&9~Q~9&9>t,$PvvPVZ RPvv G9&9>~$PvW89^F+&G&9Ft QP: '~uZzL0QP: ~9^&G& t-P&w&7vv< ^&GSvW%$PvW~t)9&>^u9&>`t$6$1$+9&t$PvW9&u$PvW$PvW9&> بt+& ~u:& #Ft&ِFtvt &6 بt$`~t6t$PvWt$PvWƨt3$"t$t$ ƨt$PvW9&t~t9&>zu$PvW$PvW$PvWw$PvWh9&>ju9&X&&$ډFVRP9&69&6$PP%Pvv vvvW%PvW9&6&69&6&6:&6&6#%Pvv vvvWB:&6&6:&6&6:&6&60%Pvv vvvW=%PvWD:&&&(0T|RPE%Pvv vvvW vW" 9&$PP] FpP FVv~vvO%PvV vV" PvVj! FPQ\%QJ] PvV" PvVJ] PvvvJ] F~~;~v^^؋NJ*3QNJ*&3ZF;v|։~v] v_%PvV PvV" PvVJ] FF=vP FVvv`  t 2PP]  :&uvv`  t|] u t 3P( -*ui%PvV vV2 ui6`#6^#vVF  uN6p#6n#vvF  t~9&X&&e%PFPW ƋFv2PP] 9&X&&V\2PP]  :&u9&X&&ˎ9&X&&k%PFPV NjFvW 3^_]U WVFdžPƆ{dž8o%:dždž@~%BdžD%FdžH%J+NL9& & vx~prt89 +&G&n9&9ptH9&9vt=PP9&6&6`%P9&6&6ZT %P| T :&P FVpP FV+FF{{<vv~uZ6`#6^#%P~V P~V" P~VJ] p.super.org [192.31.192.1] Of course, if you are setting up an Ethernet card, then you will want to read the NET-2 HOWTO so that you can actually do something with it. ftp.super.org is the home of most alpha drivers that are not presently in the kernel. And last but not least, the contributions from the individuals and companies listed above are greatly appreciated as well. Oh yeah, if you fancy yourself as a bit of a hacker, you can always scrounge some additional info from the driver source files as well. There is usually a paragraph in there describing any important points. 0.04 New versions of this document New versions of this document can be retrieved via anonymous FTP from sunsite.unc.edu:/pub/Linux/docs/HOWTO/* and various Linux ftp mirror sites. It will also be posted to the newsgroup comp.os.linux.announce at a regular interval. Updates will be made as new information / drivers becomes available. If this copy that you are reading is more than 2 months old, it is either out of date, or it means that I have been lazy and haven't updated it. 0.05 Feedback Any corrections can be sent to one of us (gpg109@rsphysse.anu.edu.au or becker@super.org) We will *attempt* to keep this up to date as more drivers become available, and as the networking code matures. 1 What card should I buy for Linux? For impatient users that just want a quick, cheap answer the summary is: get 16 bit thinnet 8013 cards. For more detail as to the who what where and why, read on. 1.01 Eight bit vs 16 bit Unless you are a light user, or are confined to using the smaller ISA slot, the use of the 8 bit cards like the wd8003 and the 3c503 is really not worth the cost savings. Get the 8013 or the 3c503/16 instead. 1.02 Low price Ethernet cards I keep track of the current low-price vendors, just because it's asked so often. Call AT-LAN-TEC at 301-948-7070. Ask for their technical support person, "Vincent Bono". As with all purchases, you should indicate you ardy is responsible for what happens to your hardware but yourself. If your ethercard or any other hardware goes up in smoke (...nearly impossible!) we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT. This document is Copyright (c) 1994 by Donald Becker and Paul Gortmaker. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that this copyright notice is included exactly as in the original, and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions. 0.02 Questions already? If you have questions about your ethernet card, please READ this document first. You may also want to join the NET channel of the Linux-activists mailing list by sending mail to linux-activists-request@niksula.hut.fi with the line X-Mn-Admin: join NET at the top of the message body (not the subject). If you want to learn how to use the mailing channels, then send an empty message to the above address, and you will get an instruction manual sent back to you in a few hours. However, it is worth noting that the NET channel is primarily used for discussion of the networking code, and you may not see much discussion about a particular driver. Furthermore keep in mind that the NET channel is for development discussions only. General questions on how to configure your system should be directed to comp.os.linux.help unless you are actively involved in the development of part of the networking for Linux. We ask that you *please* respect this general guideline for content. You can safely bet that neither of the authors will respond to any plea for help that *should* be posted to c.o.l.help, but is inappropriately placed elsewhere. 0.03 Related Documentation Much of this info came from saved postings from the comp.os.linux groups, which shows that it is a valuable resource of information. Other useful information came from a bunch of small files by Donald himself. Some of these are found at /pub/linux/info on ft't know all all of the 3c501 bugs, and I know this driver only handles a few that I've been able to figure out. It has taken a long intense effort just to get the driver working this well. That said, you will find it included in "config.in" No special mods are needed to use it with pl15 or greater kernels. Jumper your card to 0x280. AutoIRQ works, DMA isn't used, the autoprobe only looks at 0x280, the debug level is set with the third boot-time argument. You'll probably want to change the default EL_DEBUG to '2'. Once again, THE USE OF A 3c501 IS STRONGLY DISCOURAGED and it is NOT SUPPORTED BY LINUX. 3c505 An Intel-based ethercard with no driver available at present. (Not a very common card.) 3c507 This card uses one of the Intel chips, and the development of the driver is closely related to the development of the Intel Ether Express driver. The driver has been included in the standard release of pl15. You will have to un-comment the 3c507 line in "config.in" -- in case you didn't figure it out already, it is commented out because it is still being tested. Technical information is available in section 5.06, and if you have experience in writing drivers, see section 5.07 as well. 2.02 Western Digital / SMC The ethernet part of Western Digital has been bought by SMC. The SMC Elite and SMC Elite Plus are the same as late-model WD8003 and WD8013 cards. Note that the SMC Elite Ultra is *not* the same as the plain SMC Elite / WD8013 card. (see below) Supported: WD8003, WD8013, SMC Elite, SMC Elite Plus A shared memory design by Western Digital. The 8 bit 8003 is slightly less expensive, but only worth the savings for light use. Over the years the design has added more registers and an EEPROM. Clones usually go by the '8013' name, and usually use a non-EEPROM (jumpered) design. This part of WD has been sold to SMC, so you'll usually see something like SMC/WD8013 or SMC Elite Plus (WD8013). The shared memory makes the cards 10-20% faster, especially with larger packets. More importantly (to me at least) it avoids a few bugs in the programmed-I/O mode of the 8390, allows safe multi-threaded access to the packet buffer, and doesn't have a programmed-I/O data register that hangs your machine during warm-boot probes. SMC Elite 16 ULTRA This ethercard is based on a new chip from SMC, with a few new features. While it has a mode that is similar to the older SMC ethercards, it's not compatible with the old WD80*3 drivers. However, in this mode it shares most of its code with the other 8390 drivers, while operating somewhat faster than a WD8013 clone. Some of the device probe checks in pl14 were too too strict, causing some cards to not be detected every time. This was fixed for pl14a, and hence is fine for pl15. Since part of the Ultra "looks" like an 8013, the Ultra probe is supposed to find an Ultra before the wd8013 probe has a chance to mistakenly identify it. Std. as of pl14, and made possible by documentation and ethercard loan from kamstra@ccmail.west.smc.com, Duke Kamstra. If you plan on using an Ultra with Linux send him a note of thanks to let him know that there are Linux users out there! I'm considering writing a separate driver for the Ultra's "Altego" mode which allows chaining transmits at the cost of inefficient use of receive buffers, but that will probably not happen right away. Performance re-writes of working drivers are low priority unless there is some particular incentive or need. 2.03 NExxxx The prefix "NE" came from Novell Ethernet. Novell followed the cheapest NatSemi databook design and sold the manufacturing rights (spun off?) Eagle, just to get reasonably-priced ethercards into the market. Supported: NE1000, NE2000 The now-generic name for a bare-bones design around the NatSemi 8390. They use programmed I/O rather than shared memory, leading to easier installation but slightly lower performance and a few problems. Again, the savings of using an 8 bit NE1000 over the NE2000 are only warranted if you expect light use. Some recently introduced NE2000 clones use the National Semiconductor "AT/LANTic" 83905 chip, which offers a shared memory mode similar to the 8013 and EEPROM or software configuration. Some problems can arise with poor clones. See the question and answer section later in this document, and the section on clones. I have written a NE2000 diagnostic program, but it is still presently in alpha test. (ne2k) NE1500, NE2100 The AT1500 driver, recently added to the list of supported cards, also supports the NE1500, NE2100 and clones. The driver shipped with pl12 kernel doesn't detect non-AT1500 cards with autoprobe, but will work fine if you specify the base address explicitly and jumper for DMA channel 5. Read the Allied Telesis section for more information on LANCE based cards. 2.04 Hewlett Packard The 272** cards use programmed I/O, similar to the NE*000 boards, but the data transfer port can be "turned off" when you aren't accessing it, avoiding problems with autoprobing drivers. Thanks to Glenn Talbott for cleaning up the confusion in this section regarding the version numbers of the HP hardware, and adding lots of new info. Supported: 27245A 8 Bit 8390 based 10BaseT, not recommended for all the 8 bit reasons. It was re-designed a couple years ago to be highly integrated which caused some changes in initialization timing which only affected testing programs, not LAN drivers. (The new card is not 'ready' as soon after switching into and out of loopback mode.) 27247B, 27252A The 47B is a 16 Bit 8390 based 10BaseT w/AUI, and the 52A is a 16 Bit 8390 based ThinLAN w/AUI. These cards are high performers (3c509 speed) without the interrupt latency problems (32K onboard RAM for TX or RX packet buffering). They both offer LAN connector autosense, data I/O in I/O space (simpler) or memory mapped (faster), and soft configuration. 27247B was rated Best for ISA Servers by PC Mag this year. 27247A This is the older model that existed before the "B". Two versions 27247-60001 or 27247-60002 have part numbers marked on the card. Functionally the same to the LAN driver, except bits in ROM to identify boards differ. -60002 has a jumper to allow operation in non-standard ISA busses (chipsets that expect IOCHRDY early.) HP J2405A These are lower priced, and slightly faster than the 27247B/27252A, but are missing some features, such as AUI, ThinLAN connectivity, and boot PROM socket. This is a fairly generic LANCE design, but a minor design decision makes it incompatible with a generic "NE2100" driver. Special support for it (including reading the DMA channel from the board) is in pl14 and up, thanks to information provided by HP's Glenn Talbott, gt@hprnd.rose.hp.com. Note that the pre pl14 driver should not be used with this card. More information on LANCE based cards can be found in section 5.08. 2.05 D-Link Supported: DE-600 Laptop users and other folk who might want a quick way to put their computer onto the ethernet may want to use this. The driver was included with the default kernel source tree as of pl12 and possibly earlier. Bjorn Ekwall wrote the original. Expect about 80kb/s transfer speed from this via the parallel port. You should read the README.DLINK file in the kernel source tree. The latest release of this driver is v0.32, and it is included in the standard kernel of pl15 DE-650 Some people have been using this PCMCIA card for some time now with their notebooks. Note however, that using a PCMCIA card with Linux is not trivial. See the section on networking with a notebook for more information on PCMCIA cards. This driver is *not* part of the standard kernel. DE-100, DE-200, DE-220-T The manual says that it is 100% compatible with the NE2000. This is not true. You should call them and tell them you are using their card with Linux, and they should correct their documentation. Some pre-0.99pl12 driver versions may have trouble recognizing the DE2** series as 16 bit cards, and these cards are the most widely reported as having the spurious transfer address mismatch errors. Note that there are cards from Digital (DEC) that are also named DE100 and DE200, but the similarity stops there. Unsupported: DE-620 Same as the DE-600, only with two output formats. (BNC and RJ-45, I would assume... ????) Bjorn writes: "I have still no information on the DE-620 that I can include in this release. (Maybe someone well connected to D-Link sees this, hint, hint, hint...) 2.06 Cabletron Yes, another one of these companies that won't release its programming information. They waited for months before actually confirming that all their information was proprietary, deliberately wasting my time. Avoid their cards like the plague if you can. Also note that some people have phoned Cabletron, and have been told things like "a dbecker@super.org is working on a driver for linux" -- making it sound like I work for them. This is NOT the case. Anyway, if I were working for them, or even if I had signed a ND agreement, I wouldn't be able to tell everyone what a sleazy design the E2100 is. (See below.) If you feel like asking them why they don't want to release their info so that people can use their cards, write to support@ctron.com Tell them that you are using Linux, and are disappointed that they don't support open systems. (See section 9.01) Supported: (...well, not *really* supported) E10**, E10**-x, E20**, E20**-x These are NEx000 almost-clones that are reported to work with the standard NEx000 drivers, thanks to a ctron-specific check during the probe. If there are any problems, they are unlikely to be fixed, as the programming information is unavailable. E21** Again, there is not much one can do when the programming information is proprietary. The E2100 is a poor design. Whenever it maps its shared memory in during a packet transfer, it maps it into the *whole 128K region*! That means you *can't* safely use another interrupt-driven shared memory device in that region, including another E2100. It will work _most_ of the time, but every once in a while it will bite you. (Yes, this problem can be avoided by turning off interrupts while transferring packets, but that will almost certainly lose clock ticks. Also, don't confuse the E2100 for a NE2100 clone. The E2100 is a shared memory NatSemi DP8390 design, roughly similar to a brain-damaged WD8013, whereas the NE2100 (and NE1500) use a bus-mastering AMD LANCE design. There is an alpha test driver available (even though I shouldn't have bothered) in the normal place (see the FAQ section) -- e2100.c -- let me know if you use it, and how it works. Don't forget to un-comment the line in config.in. 2.07 Allied Telesis Allied Telesis is the worlds largest maker of separate transceivers thanks to their low prices, and they now have a series of low-cost ethercards using the 79C960 version of the AMD LANCE. These are bus-master cards, and thus probably the fastest ISA bus ethercards available (although the 3c509 has lower latency thanks to predictive interrupts). Supported: AT1500 The driver for the AT1500 series is new in the 0.99pl12 kernel, but it won't work "out-of-the-box" with >16M machines. (NB This isn't a fundamental limitation, so stop pointing and laughing at the ISA bus. The driver just needs a hook to allocate low-memory buffers for the bus-master DMA, and should be just as fast on >16M systems. It can be easily fixed by initializing the LANCE driver with the character devices, but this fix depends on the resolution of the networking code uncertainty.) For the ISA bus master mode all structures used directly by the LANCE, the initialization block, Rx and Tx rings, and data buffers, must be accessible from the ISA bus, i.e. in the lower 16M of real memory. This is a problem for current Linux kernels on >16M machines. The network devices are initialized after memory initialization, and the kernel doles out memory from the top of memory downward. The current solution is to have a special network initialization routine that's called before memory initialization; this will eventually be generalized for all network devices. Low-memory "bounce-buffers" are used when needed. This driver should also work with NE1500 and NE2100 clones. Future driver versions may figure out a way to autoDMA. Although there is no autoDMA (until I verify that autoDMA is safe and reliable), some versions (pl13) allow passing the DMA channel at boot-time via LILO. (Boot-time parameters can be made permanent in LILO v13+, read the docs.) The DMA channel otherwise defaults to DMA5. In pl14, there was a buglet that would hang some machines with AT1500 like cards. Either get pl15 or newer, or go into ./init/main.c and move the sti(); and claibrate_delay(); (near line 366) in *front of* the #ifdef CONFIG_INET, instead of after it. Please report the exact chip used by your ethercard, and any success or failure you have. This driver is still young, and I've gotten few reports. More information on AMD LANCE based Ethernet cards can be found in section 5.08. AT1700 The Allied Telesis AT1700 series ethercards are based on the Fujitsu MB86965. This chip uses a programmed I/O interface, and a pair of fixed-size transmit buffers. This allows small groups of packets to sent be sent back-to-back, with a short pause while switching buffers. A unique feature is the ability to drive 150ohm STP (Shielded Twisted Pair) cable commonly installed for Token Ring, in addition to 10baseT 100ohm UTP (unshielded twisted pair). A mis-feature to watch out for is that the current production version silently wires to DMA channel 5, rendering it useless. No device driver will be written using DMA if installing a second card into the machine breaks both, and the only way to disable the DMA is with a knife. The at1700 driver is included in the standard pl15 kernel source tree. 2.08 Arcnet There is no Arcnet driver for Linux. Feel free to write a driver. With the very low cost and better performance of ethernet, I expect that most places will be giving away their Arcnet hardware for free, resulting in a lot of home systems with Arcnet. An advantage of Arcnet is that all of the cards have identical interfaces, so once a driver is available it will work for everyone. 2.09 Digital / DEC Supported: DE200, DE210, DE202, DE100, DEPCA rev E As of linux v1.0, there is a driver included as standard for these cards. It was written by David C. Davies. There is documentation included in the source file "depca.c", which includes info on how to use more than one of these cards in a machine. If you have / want to use the pl15 kernel or older, then you will have to use Peter Bauer's driver. It can be found as a separate patch called depca-0.8.tar.gz. You will have to un-comment the DEPCA line in "config.in" after installing the patch. You can find the patch on ftp.funet.fi, /pub/OS/Linux/BETA/depca/depca-0.8.tar.gz This version resets the card upon close so that you can use it with broken DOS drivers after a warm boot. Unsupported: Digital Etherlink III Peter Bauer said that "the new etherlink III seems to be a break: No official docu from DEC as far as today, other (incompatible??) hardware used, and (no joke) (at least for the first delivered cards) also a sharp knife necessary to get the card working (needs cut of some irq lines ...) As far as I know, lots of DEC Employees use Linux (at least for hobby purposes) and the depca-driver, because its a de-facto standard in DEC, so I encourage any DEC-employee reading this to check wether my writing is true, and to support sources of information about the etherworks-III." 2.10 Intel Ethernet Cards Supported: Ether Express This card uses the intel i82586. (Surprise, huh?) The driver is in the standard release of pl15. However, you will have to uncomment the line in "config.in" to use it. -- yes, this line is commented out for a reason. The driver is still in the testing phases, as of v1.0 as well. There is some technical information available on the i82586 in section 5.06, and also in the source code for the driver "eexpress.c". Don't be afraid to read it. ;-) The rason is that the driver works well with slow machines, but the i82586 occasionally hangs from the packet buffer contention that a fast machine can cause. I'll have to find a work-around before releasing the driver. One reported hack fix is to change all of the outw() calls to outw_p(). If you do try the driver please post or send a report. Include the kind of machine you are trying it with, and how heavily loaded your network is. 2.11 PureData Supported: PDUC8028, PDI8023 The PureData PDUC8028 and PDI8023 series of cards are reported to work, thanks to special probe code contributed by Mike Jagdis . The support is integrated with the WD driver. 2.12 Xircom Another group that won't release documentation. No cards supported. Don't look for any support in the future unless they release their programming information. And this is highly unlikely, as they *forbid* you from even reverse- engineering their drivers. If you are already stuck with one, see if you can trade it off on some DOS (l)user. Read section 9.01 if you are bored. And if you just want to verify that this is the case, you can reach Xircom at 1-800-874-7875 or +1-818-878-7600. 2.13 Zenith The built-in Z-Note network adaptor is based on the Intel i82593 using two DMA channels. There might be a driver for it in mid 1994. See section 5.06 for more information. Also note that the Z-Note is compatible with the IBM ThinkPad 300. 2.14 Racal-Interlan Note: I have been told that the following two drivers are for patchlevel 11, and hence are a bit dated. The original author is Michael Hipp, and can be reached at the following addr: zxmhp01@student.uni-tuebingen.de NI52** There is an alpha driver for the NI5210 floating about. (last seen on tsx-11.mit.edu /pub/linux/ALPHA/ni/ni52.tar.gz) This card also uses one of the Intel chips. See section 5.06 for more information. NI65** There is also a driver for the LANCE based NI6510, and it can be found in the same place as the NI5210 driver above. I am not sure how much work it would be to hack the current LANCE driver in the kernel to support this card. If anyone has done so, let me know. 2.15 AMD LANCE (79C960) There really is no AMD ethernet card. You are probably reading this because the only markings you could find on your card said AMD and the above number. The above number refers to a chip from AMD that is the heart of many ethernet cards. See the section on the Allied Telesis AT1500, the NE1500/2100 and the information in section 5.08. Chances are that the existing LANCE driver will work with all AMD LANCE based cards. (...except perhaps the above mentioned NI6510 ???) 2.16 AT-Lan-Tec / RealTek Pocket adaptor This is a generic, low-cost OEM pocket adaptor being sold by AT-Lan-Tec, and (likely) a number of other suppliers. A driver for it is included in the standard pl15 kernel. Note that there is substantial information contained in the driver source file "atp.c" which presently lives in ./drivers/net/ BTW, the adaptor (AEP-100L) has both 10baseT and BNC connections! You can reach AT-Lan-Tec at 1-301-948-7070. Ask for the model that works with Linux, or ask for "Vincent Bono" in tech support. In the Netherlands a compatible adaptor is sold under the name SHI-TEC PE-NET/CT, and sells for about $125. The vendor was Megasellers. They state that they do not sell to private persons, but I just gave them the name of my home institute. No questions asked. They are: Megasellers, Vianen, The Netherlands. They always advertise in Dutch computer magazines. In Germany, a similar adaptor comes as a no-brand-name product. Prolan 890b, no brand on the casing, only a roman II. Resellers can get a price of about $130, including a small wall transformer for the power. Physical Description The adaptor is "normal size" for the product class, about 57mm wide, 22mm high tapering to 15mm high at the DB25 connector, and 105mm long (120mm including the BNC socket). It's switchable between the RJ45 and BNC jacks with a small slide switch positioned between the two: a very intuitive design. It's powered by a lightweight 5V "wall brick" adaptor that terminates in a standard 5.0mm power connector. I measured an unconnected quiescent power draw of 102ma for BNC and 84ma for 10baseT. I hooked the pocket adaptor up to my home thinnet and started FTPing a large file. The power measurements were: idle, connected 99ma @ 5.1V active, connected 107ma @ 5.1V This was measured using a Fluke 8026B true-RMS multimeter, so I'm pretty confident the numbers are good. This power draw is low enough that you could buy or build a cable to take the 5V directly from the keyboard/mouse port available on many laptops. (Bonus points here for using a standardized power connector instead of proprietary one.) 2.17 Ansel Supported: AC3200 EISA This driver is not included in the pl15 kernel. To *alpha* test it, get the files ac3200.[c,h] from where you usually get alpha drivers (see the FAQ in this document if you dont know) and uncomment the line in config.in for the ac3200. If you use it, please let me know how things work out. 2.18 DFI Supported: DFINET-300 (NE1000) and DFINET-400 (NE2000) These cards are now detected (as of pl15) thanks to Eberhard Moenkeberg who noted that they use "DFI" in the first 3 bytes of the prom, instead of using 0x57 in bytes 14 and 15, which is what all the NE1000 and NE2000 cards use. 3. Clones of popular Ethernet cards. Due to the popular design of some cards, different companies will make "clones" or replicas of the original card. However, one must be careful, as some of these clones are not 100% compatible, and can be troublesome. Some common problems with "not-quite-clones" are noted in the question and answer section of this document. Also note that if your card isn't mentioned here, that really means nothing. Chances are that even if it is only a half decent clone of the original, then it will still work. 3.1 WD80x3 clones The following clones are reported to work with the standard WD80x3 driver: AT-LAN-TEC 8013 PureData (not a 8013 clone, but the 8013 driver has special code) LANNET LEC-45 PE-8013 (WD-8013 Compatible) 3.2 NE2000 clones The following clones are reported to work with the standard NE2000 driver: Accton NE2000 (might not get detected at boot, see section 6) Alta Combo NE2000 clone Aritsoft LANtastic AE-2 (OK, but has flawed error-reporting registers) Asante Etherpak 2001/2003 AT-LAN-TEC NE2000 clone (uses Winbond chip that traps SCSI drivers) Cabletron products: E10**, E10**-x, E20**, E20**-x Cnet UTP 10baseT (NE 2000 emulation) D-Link Ethernet II (bad clones, but the driver checks for them) 4-Dimension FD0490 EtherBoard16 LTC E-NET/16 P/N: 8300-200-002 (lipka@lip.hanse.de) Network Solutions HE-203 SIIG Inc E-Lan/200 (NE 2000 comp.) SVEC 4 Dimension Ethernet 4. Cables, coax, twisted pairs etc. If you are starting a network from scratch, it's considerably less expensive to use thin ethernet, RG58 co-ax cable with BNC connectors, than old-fashioned thick ethernet, RG-5 cable with N connectors, or 10baseT, twisted pair telco-style cables with RJ-45 eight wire "phone" connectors. 4.01 Thin Ethernet (thinnet) Thin ethernet is the "ether of choice". The cable is inexpensive. If you are making your own cables solid-core RG58A is $0.09/ft. and stranded RG58AU is $0.15/ft. Twist-on BNC connectors are < $2 ea., and other misc. pieces are similarly inexpensive. It is essential that you properly terminate each end of the cable with 50 ohm terminators, so budget $2 ea. for a pair. It's also vital that your cable have no "stubs" -- the 'T' connectors must be attached directly to the ethercards. The only drawback is that if you have a big loop of machines connected together, and some bonehead breaks the loop by taking one cable off the side of his tee, the whole network goes down because it sees an infinite impedance (open circuit) instead of the required 50 ohm termination. Note that you can remove the tee piece from the card itself without killing the whole subnet, as long as you don't remove the cables from the tee itself. Of course this will disturb the machine that you pull the actual tee off of. 8-) And if you are doing a small network of two machines, you *still* need the tees and the 50 ohm terminators -- you *can't* just cable them together! 4.02 Twisted pair Twisted pair networks require active hubs, which start around $200, and the raw cable cost can actually be higher than thinnet. They are usually sold using the claim that you can use your existing telephone wiring, but it's a rare installation where that turns out to be the case. The claim that you can upgrade to higher speeds is also suspect, as most proposed schemes use higher-grade (read $$) cable and more sophisticated termination ($$$) than you would likely install on speculation. New gizmos are floating around which allow you to daisy-chain machines together, and the like. For example, Falleron sells EtherWave adaptors and transceivers. This device allows multiple 10baseT devices to be daisy-chained. They also sell a 3c509 clone that includes the EtherWave transceiver. The drawback is that it's more expensive and less reliable than a cheap ($100-$150) mini-hub and another ethercard. IMO, you should either go for the hub approach or switch over to 10base2 thinnet. On the other hand, hubs are rapidly dropping in price, all 100Mb/sec ethernet proposals use twisted pair, and most new business installations use twisted pair. (This is probably to avoid the problem with idiots messing with the BNC's as described above.) If you are only connecting two machines, it is possible to avoid using a hub, by swapping the Rx and Tx pairs (1-2 and 3-6). ed to 'user agents', which means the software the user sees and uses. This software relies on the 'transport agents' mentioned above. 4.1 Elm Elm compiles, installs, and runs flawlessly under Linux. For more information, see the elm sources and installation instructions. The only thing to know is that Elm's Configure script incorrectly sets the 'ranlib' variable in config.sh. When Configure gives you the chance to edit config.sh before proceeding, please do so and set "ranlib='ranlib'" or the binaries will compile but not link. Elm and filter need to be mode 2755 (group mail) with /usr/sp