home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!swrinde!cs.utexas.edu!howland.reston.ans.net!gatech!concert!samba.oit.unc.edu!sunSITE!mdw
- From: Paul Gortmaker <gpg109@rsphysse.anu.edu.au>
- Newsgroups: comp.os.linux.announce,comp.os.linux.admin,comp.answers,news.answers
- Subject: Linux Ethernet HOWTO (Part 1/2)
- Followup-To: poster
- Date: 15 Dec 1993 22:08:20 GMT
- Organization: The University of North Carolina at Chapel Hill
- Lines: 1008
- Approved: linux-announce@tc.cornell.edu (Matt Welsh)
- Message-ID: <2eo1sk$64q@samba.oit.unc.edu>
- NNTP-Posting-Host: calypso.oit.unc.edu
- Keywords: Linux, Ethernet, TCP/IP, NET-2
- Originator: mdw@sunSITE
- Xref: senator-bedfellow.mit.edu comp.os.linux.announce:1566 comp.os.linux.admin:2497 comp.answers:3041 news.answers:15863
-
- Archive-Name: linux/howto/ethernet/part1
- Last-Modified: November 16, 1993
-
- Linux Ethernet HOWTO v0.3 -- Last updated November 6, 1993
- =================================================================
- INDEX:
-
- (Part 1/2)
- 0 Introduction.
- 0.01 How do I use this Guide?
- 0.01 Disclaimer
- 0.02 Questions already?
- 0.03 Related Documentation
- 0.04 New Versions of this Document
- 0.05 Feedback
-
- 1 What card should I buy for Linux?
- 1.01 Eight bit vs 16 bit
- 1.02 Low price Ethernet cards
- 1.03 Vendors and brands to avoid.
- 1.04 Type of cable that your card should support
-
- 2 Status of various Ethernet cards under Linux.
- 2.01 3Com
- 2.02 Western Digital / SMC
- 2.03 NExxxx
- 2.04 Hewlett Packard Cards
- 2.05 D-Link
- 2.06 Cabletron
- 2.07 Allied Telesis
- 2.08 Arcnet
- 2.09 Digital / DEC
- 2.10 Intel
- 2.11 PureData
- 2.12 Xircom
- 2.13 Zenith
- 2.14 Racal-Interlan
- 2.15 AMD LANCE (79C960)
- 2.16 AT-Lan-Tec
-
- 3 Clones of popular Ethernet cards.
- 3.01 WD80x3 Clones
- 3.02 NE2000 Clones
-
- 4 Cables, coax, twisted pairs etc.
- 4.01 Thin Ethernet (thinnet)
- 4.02 Twisted Pair
- 4.03 Thick Ethernet
-
- (Part 2/2)
- 5 Technical information.
- 5.01 Probed addresses
- 5.02 Skeleton / prototype driver
- 5.03 Driver interface to the kernel
- 5.04 Interrupts and linux
- 5.05 Programmed I/O vs. shared mem. vs slave/master DMA
- 5.06 Programming the Intel chips (i82586 and i82593)
- 5.07 Programming information from 3Com
- 5.08 Notes on AMD PCnet-ISA / LANCE Based cards (79C960)
- 5.09 Multicast and Promiscuous mode
- 5.10 The Berkely Packet Filter (BPF)
- 5.11 Unresolved questions / concerns
-
- 6 Possible problems, questions and troubleshooting.
- 6.01 Problems with NE2000 (and clones)
- 6.02 Problems with WD80*3 cards
- 6.03 Problems with 3Com cards
-
- 7 Networking with a laptop computer.
- 7.01 Option 1 -- using SLIP
- 7.02 Option 2 -- Built in NE2000 compatible or PCMCIA Ethercard.
- 7.03 Option 3 -- ISA Ethercard in the docking station.
- 7.04 Option 4 -- Pocket / parallel port adaptors.
-
- 8 Frequently asked questions.
- 8.01 Just the FAQ's ma'am -- just the FAQ's.
-
- 9 Miscellaneous.
- 9.01 The Cabletron story.
- 9.02 The Xircom story
- 9.03 Closing
-
- ======================================================================
-
- 0. Introduction.
-
- This is the Ethernet-HOWTO, which is a compilation of information
- about which ethernet devices can be used for Linux, and how to
- set them up.
-
- This Ethernet-HOWTO is by:
- Donald J. Becker <becker@super.org>
- Paul Gortmaker <gpg109@rsphysse.anu.edu.au>
-
- It covers what cards you should and shouldn't buy; how to set
- them up, how to run more than one, and other common problems and
- questions. It does *not* cover the software end of things, as that
- is covered in the NET-2 HOWTO. You can freely distribute this
- document as long as you distribute an original copy with the
- author's names intact.
-
- Other people who have contributed (directly or indirectly) are,
- in alphabetical order:
-
- Peter Bauer <pbauer@rnivh.rni.sub.org>
- Ross Biro <bir7@leland.Stanford.EDU>
- Alan Cox <iiitac@pyr.swan.ac.uk>
- Bjorn Ekwall <bj0rn@blox.se>
- Mike Jagdis <jaggy@purplet.demon.co.uk>
- Duke Kamstra <kamstra@ccmail.west.smc.com>
- Russell Nelson <nelson@crynwr.com>
- Cameron Spitzer <cls@truffula.sj.ca.us> <camerons@NAD.3Com.com>
- Dave Roberts <david.roberts@amd.com>
- Glenn Talbott <gt@hprnd.rose.hp.com>
- Miquel van Smoorenburg <miquels@cistron.nl.mugnet.org>
-
- Many thanks to the above people, and all the other unmentioned
- testers out there.
-
- 0.01 How Do I Use This Guide?
-
- As this guide is getting bigger and bigger, you probably don't want
- to spend the rest of your afternoon reading the whole thing. And you
- don't *have* to read it all. If you haven't got an ethernet card, then
- you will want to start with section one to see what you should buy,
- and what you should avoid. If you have already got an ethernet card,
- but are not sure if you can use it with Linux, then you will want to
- read section two, which contains specific information on each
- manufacturer, and their cards. If you are having trouble with your
- card, then you will want to read the specific information about
- your card in section two and the troubleshooting information in
- section six. If you are intersted in some of the technical aspects
- of the device drivers, then you can find that information in
- section 5.
-
- 0.01 Disclaimer
-
- This document is *not* gospel. However, it is probably the most
- up to date info that you will be able to find. Nobody 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.
-
- 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
- inappropraitely 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 ftp.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. This is also the home of any 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.
-
- 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.
-
- 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 NET-2 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 are buying this for a Linux system.
- The last I checked the price for 10 NE2000s was $480, or $48 ea.!
- NB: Their current NE2000 clone is a model that "traps" other
- drivers that probe into their address space. AT-LAN-TEC also carries
- a clone, non-EEPROM 8013 board for somewhat more, and a NE2100 clone.
- Either is a better choice if the very lowest price isn't essential.
-
- The Allied Telesis AT1500 is offered at a good price by many vendors.
- Even Inmac, known for their premium markup, has this card for under
- $100.
-
- 1.03 Vendors and Brands to Avoid
-
- These vendors have decided *not* to release programming information
- about their products, without signing a non-disclosure agreement.
- More information can be found in sections two and nine. Hence there
- is no support for products offered from these companies:
-
- (1) Cabletron
- (2) Xircom
-
- These particular cards should be avoided, as they are obsolete.
- The reasons as to why they have been classified as such can be
- found in section 2 of this document.
-
- (1) 3c501
- (2) Arcnet
-
- 1.04 Type of cable that your card should support
-
- Unless you have to conform to an existing network, you will want
- to use thinnet or thin ethernet cable. This is the style with the
- standard BNC connectors. See section 4 for other concerns with
- different types of ethernet cable.
-
- Most ethercards also come in a "Combo" version for only $10-$20 more.
- These have both twisted pair and thinnet transceiver built-in,
- allowing you to change your mind later.
-
- 2 Status of Various Ethernet Cards under Linux
-
- The only thing that one needs to use an ethernet card with Linux
- is the appropriate driver. For this, it is essential that the
- manufacturer will release the technical programming information to
- the general public without you (or anyone) having to sign your life
- away. A good guide for the likelihood of getting documentation
- (or, if you aren't writing code, the likelihood that someone
- else will write that driver you really, really need) is the
- availability of the Crynwr (nee Clarkson) packet driver. Russ
- Nelson (see the acknowledgements in the intro.) runs this
- operation, and has been very helpful in supporting the development
- of drivers for Linux.
-
- Given the documentation, you can write a driver for
- your card and use it for Linux, at least in theory. Keep in
- mind that some old hardware that was designed for XT type
- machines will not function very well in a multitasking
- environment such as Linux. Use of these will lead to major
- problems if your network sees a reasonable amount of traffic.
-
- Most cards come with drivers for MS-DOS interfaces such as
- NDIS and ODI, but these are useless for Linux. Many people
- have suggested directly linking them in or automatic
- translation, but this is nearly impossible. The MS-DOS
- drivers expect to be in 16 bit mode and hook into "software
- interrupts", both incompatible with the Linux kernel. This
- incompatibility is actually a feature, as some Linux drivers
- are considerably better than their MS-DOS counterparts. The
- "8390" series drivers, for instance, use ping-pong transmit
- buffers, which are only now being introduced in the MS-DOS world.
-
- Keep in mind that PC ethercards have the widest variety of
- interfaces (shared memory, programmed I/O, bus-master, or slave
- DMA) of any computer hardware for anything, and supporting a
- new ethercard sometimes requires re-thinking most of the lower-level
- networking code. (If you are interested in learning more about
- these different forms of interfaces, see section 5)
-
- Also, similar product numbers don't always indicate similar products.
- For instance, the 3c50* product line from 3Com varies wildly
- between different members.
-
- Enough talk. Let's get down to the information you want.
-
- 2.01 3Com
-
- Supported:
-
- 3c503, 3c503/16
- 3Com shared-memory ethercards. They also have a
- programmed I/O mode that doesn't use the 8390
- facilities (their engineers found too many bugs!)
- It should be about the same speed as the same bus
- width WD80x3, but I don't have a 16 bit version
- to benchmark. Unless you are a light user, spend
- the extra money and get the 16 bit model, as the
- price difference isn't significant. The 3c503 does not
- have "EEPROM setup", so the diagnostic/setup program
- isn't needed before running the card with Linux. The
- shared memory address of the 3c503 is set using jumpers
- that are shared with the boot PROM address. This is
- confusing to people familiar with other ISA cards,
- where you always leave the jumper set to "disable"
- unless you have a boot PROM.
-
- The Linux 3c503 driver can also work with the 3c503
- programmed-I/O mode, but this is slower and less
- reliable than shared memory mode. Also, programmed-I/O
- mode is not tested when updating the drivers, the
- deadman (deadcard?) check code may falsely timeout on
- some machines, and the probe for a 3c503 in
- programmed-I/O mode is turned off by default in some
- versions of the kernel. This was a panic reaction to
- the general device driver probe explosion; the 3c503
- shared memory probe is a safe read from memory, rather
- than an extensive scan through I/O space. As of pl13,
- the kernel has a I/O port registrar that makes I/O
- space probes safer, (see section 5.1 for more info.)
- and the programmed-I/O 3c503 probe has been re-enabled.
- You still shouldn't use the programmed-I/O mode though,
- unless you need it for MS-DOS compatibility.
-
- The 3c503's IRQ line is set in software, with no hints
- from an EEPROM. Unlike the MS-DOS drivers, the
- Linux driver has capability to autoIRQ: it uses the
- first available IRQ line in {5,2/9,3,4}, selected each
- time the card is 'ifconfig'ed. (Older driver versions
- selected the IRQ at boot time.) The ioctl() call
- in 'ifconfig' will return EAGAIN if no IRQ line is
- available at that time.
-
- The 0.99pl13 open-time-autoIRQ 3c503 driver has two
- minor bugs. The first is that autoIRQ list is effect-
- ively {5, 3, 4} instead of {5, 2/9, 3, 4}. The second
- is that if you use autoIRQ the interrupt channel isn't
- set the first time, and the board is frozen until the
- first transmit timeout triggers a board reset. After
- that, everything works fine. The fixed version will be
- in pl14 if alpha-tester reports are received in time.
-
- 3c509
- A new card from 3Com. It's inexpensive and has
- excellent performance for a non-bus-master design. The
- drawbacks are that it _requires_ very low interrupt
- latency, and it isn't rated for bus speeds greater than
- 8Mhz.
-
- A working 3c509 driver is included as an alpha-test
- version in the 0.99pl13 kernel sources, but
- it's not enabled by default. You'll have to edit
- config.in by hand to remove the comment character in
- front of the 3c509 line.
-
- The 3c509 has a tiny Rx buffer, causing the driver to
- occasionally drop a packet if interrupts are masked for
- too long. To minimize this problem, the driver should
- be completely rewritten to use predictive interrupts.
- (Note: performance re-writes of working drivers are low
- priority unless there is some particular incentive or
- need.)
-
- It's likely that the EISA 3c579 probe will be working
- and tested before a new driver is done, so watch for
- an interim release.
-
- There is also an alpha version of a Linux 3c509
- diagnostic and EEPROM setup program, but for now
- users that don't like the defaults should use the
- MS-DOS EEPROM setup program.
-
- 3c579
- The EISA version of the 509. The current EISA version
- uses the same 16 bit wide chip rather than a 32 bit
- interface, so the performance increase isn't stunning.
- The 3c509 driver should work with the EISA version, if
- the EISA version is configured to an ISA base address.
- (I have neither an EISA machine nor a 3c579 to test it
- on. -djb) We would be interested in hearing progress
- reports from any 3c579 users. (Read the above 3c509
- section for info on the driver.)
-
- Cameron Spitzer writes:
- "The 3C579 (Etherlink III EISA) should be configured
- as an EISA card. The IO Base Address (window 0
- register 6 bits 4:0) should be 1f, which selects EISA
- addressing mode. Logic outside the ASIC decodes the
- IO address s000, where s is the slot number. I don't
- think it was documented real well. Except for its IO
- Base Address, the '579 should behave EXACTLY like the
- '509 (EL3 ISA), and if it doesn't, I want to hear
- about it (at my work address).
-
- I will leave it to the Real Programmers to suggest
- the right hack to /usr/src/linux/net/inet/3c509.c to
- take care of the EISA case.
-
- Beware that if you put a '509 in EISA addressing mode
- by mistake and save that in the EEPROM, you'll have
- to use an EISA machine or the infamous Test Via to
- get it back to normal, and it will conflict at IO
- location 0 which may hang your ISA machine. It's not
- my job to say whether this is a bug or feature, but I
- have heard loud and clear that customers don't like
- it and I don't think we'll do it that way again."
-
- Unsupported:
-
- 3c501
- Too brain-damaged to use. Available surplus from many
- places. Avoid it like the plague. Again, do not
- purchase this card, even as a joke. It's performance
- is horrible, and it breaks in many ways.
-
- (I have a standing offer: I'll pay $2 for each 3c501
- shipped to me postpaid, but only if you include the
- BNC 'T' connector and the jumpers. $2.50 if you just
- send the 'T', jumpers, and address PROM and promise to
- destroy the board. -djb)
-
- Cameron L. Spitzer of 3Com said:
- "I'm speaking only for myself here, of course, but I
- believe 3Com advises against installing a 3C501 in a
- new system, mostly for the same reasons Donald has
- discussed. You probably won't be happy with the
- 3C501 in your Linux box. The data sheet is marked
- "(obsolete)" on 3Com's Developers' Order Form, and
- the board is not part of 3Com's program for sending
- free Technical Reference Manuals to people who need
- them. The decade-old things are nearly
- indestructible, but that's about all they've got
- going for them any more."
-
- For those not yet convinced, the 3c501 can only do one
- thing at a time -- while you are removing one packet
- from the single-packet buffer it cannot receive
- another packet, nor can it receive a packet while are
- loading a transmit packet. This was fine for a
- network between two 8088-based computers where
- processing each packet and replying took 10's of
- msecs, but modern networks send back-to-back
- packets for almost every transaction.
-
- Having read this far, you must be persistent, so you
- get let in on a secret. As of pl13, some more of
- the hardware problems were "compensated for".
-
- Ie. in a fit of madness I wasted a whole day updating
- my 3c501 driver and then trying to track down a few
- more of the 3c501 glitches. It now works well enough
- to NFS mount filesystems, but the receiver still
- occasionally hangs. I'm mostly certain that this is
- a hardware bug. When it hangs, the next set of
- outgoing packets will reset the board, but that's
- only useful if you have something occasionally
- generating outgoing packets.
-
- I'll let this out for "pre-alpha" testing, under the
- following conditions: This is unsupported code. I
- know my usual copyright says all the code is
- unsupported, but this is _really_ unsupported. I
- DON'T want to see bug reports, and I'll accept bug
- fixes only if I'm in a good mood that day.
-
- I don't want to see a fest of "Linux ethercards for
- sale" postings. A bunch of people have bought dozens
- of "dumpster special" 3c501s, and they hope to sell
- them at rip-off prices. A 3c501 is barely worth the
- shipping cost, and if I see people trying to sell
- them here by claiming "supported by Linux" I _will_
- flame them. They are _not_ supported by Linux.
-
- I don't want to be flamed later for putting out bad
- software. I don'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, ftp.super.org:/pub/linux/pl14/3c501.c
- Jumper your card to 0x280, add the 3c501.o to the
- OBJS line in net/inet/Makefile, uncomment the 3c501
- line in linux/config.in, 'make config; make' as usual.
-
- 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.
- An alpha driver is presently available. Expect to
- see the driver in the standard release of pl15.
- 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.
-
- 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.
-
- This is a new driver, 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!
- If you would like to _ALPHA_ test this driver:
- ftp.super.org:/pub/linux/pl14/smc-ultra.c
- ftp.super.org:/pub/linux/pl14/Space.c
- You'll have to add an "Ultra" line to config.in and
- edit net/inet/Makefile. The Ultra driver will probably
- be (silently?) included in pl14.
-
- 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) should be in
- pl14 thanks to information provided by HP's Glenn
- Talbott, gt@hprnd.rose.hp.com. To use the pl12 and
- pl13 LANCE driver you must remove the outw(...RESET)
- calls that are commented "for old NE2100 designs", as
- these will change the board's base address(!).
- 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 is included with the default
- kernel source tree as of pl12 and possibly earlier.
- Bjorn Ekwall <bj0rn@blox.se> 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 should be included
- in pl14 if all goes well.
-
- DE100, DE200, 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.
-
- Unsupported:
-
- DE-620
- Same as the DE-600, only with two output formats.
- 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. If you feel
- like asking them why they don't want to release their info so that
- people can use their cards, write to pkelly@ctron.com. You should
- read section 9.1 of this document, as it has specific information
- pertaining to Cabletron.
-
- 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.
-
- Unsupported:
-
- E21**
- Again, there is not much one can do when the
- programming information is proprietary. Feel free
- to ask pkelly@ctron.com. This is the only 8390-based
- ethercard series that isn't supported by Linux.
-
- 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 those inquiring about using bus-master LANCE
- boards with >16M systems, I've been working on that
- recently. I borrowed 16M from another system here
- at work, and am using the resulting 32M system while
- typing this message. The bad news is that the modified
- driver uses a very ugly interface, and I'm unlikely
- to have it cleaned up and tested in time for pl14.
-
- This driver should also work with NE1500 and NE2100
- clones. The pl12 version, included with SLS1.03, is
- named "le0" rather than "eth0" and it requires the
- base address to be specified if you don't have a real
- AT1500. You might be able to use it as easily as
- using the boot line:
- lilo: linux ether=0,0x320,le0
- (change 0x320 to your true base address) and then
- changing "eth0" to "le0" in /etc/rc.net. Your DMA
- channel must be set at DMA5, but autoIRQ does work.
-
- The 0.99pl13 driver should be able to autoprobe for
- your ethercard at the locations {0x300, 0x320, 0x340,
- 0x360}. Also, the driver is now named "eth0" by
- default.
-
- 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.
-
- 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 tranmit
- 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 only way to disble the
- DMA is with a knife.
-
- The at1700 driver is in alpha test, and will probably
- be released with the pl14 kernel.
-
- 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-64k, DE200-32k, DE202, DE100, DEPCA rev E
-
- Peter Bauer has written a driver for the older DEPCA models.
- Look for depca-0.7.tar.z -- It patches against pl13. This
- will allow you to use any of the above cards. FvK is
- currently trying to arrange integration of this driver
- into pl14, so you *may* not need this file after pl13.
- If you are using this driver, Peter would like to hear
- from you. His e-mail addr. is near the start of this
- document.
-
- Peter had this to say about all the DEPCA cards:
- "In this thing I'll document my knowledge about the digital
- ethernet boards for PC's: There exist lots of different
- hardware-releases of ethernet boards of DEC, all subsumed
- under the keyword 'DEPCA'. All these boards are more or
- less compatible as they all seem to use some chip called
- "Lance". The hardware of these cards and the programing
- of them is documented in a manual purchasable from DEC
- (about $70 -- I had the order number some months ago, but
- lost it...)"
-
- Unsupported: Digital Etherlink III
-
- Again, 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. An alpha driver is available.
- Expect to see the driver in the standard release of pl15.
-
- 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 <jaggy@purplet.demon.co.uk>. 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. Here is some of the results from
- people who have tried to deal with Xircom.
-
- "I had no end of problems trying to work with Xircom.
- After spending months talking to them and working up a
- prospectus, I was told that no information would be forthcoming
- and that they were not interested in markets other than the
- ISA/DOS market. (I was trying to interface the pocket adapters
- to an Amiga). I won't work with them anymore and I won't
- recommend their products to anyone."
-
- "They (Xircom) won't give it (programming info.) out. BSDI
- was able to get the spec and write a driver for it, but
- only by promising not to give out the source."
-
- You might also be interested in reading section 9.2
-
- 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 early 1994. See section 5.06 for more information.
-
- 2.14 Racal-Interlan
-
- 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.
-
- 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.
-
- 2.16 AT-Lan-Tec
-
- AT-Lan-Tec pocket ethernet 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 is in progress, but not yet complete (-djb 11/9/93).
-
- 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.
-
- 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 "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.
-
- 4.02 Twisted pair
-
- Twisted pair networks require active hubs, which start around $250,
- 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.
-
- 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.
-
- 4.03 Thick Ethernet
-
- Thick ethernet is mostly obsolete, and is usually used only to remain
- compatible with an existing implementation. You can stretch the rules
- and connect short spans of thick and thin ethernet together with a
- passive $3 N-to-BNC connector, and that's often the best solution to
- expanding an existing thicknet. A correct (but expensive) solution is
- to use a repeater in this case.
-
- [End part 1/2]
-