Linux Ethernet HOWTO (part 1/3)

Linux Ethernet HOWTO (part 1/3)

Post by Paul Gortmake » Fri, 11 Aug 1995 04:00:00



Archive-Name: linux/howto/ethernet/part1
Last-modified: 6 Aug 95

-----BEGIN PGP SIGNED MESSAGE-----

*** The Linux Ethernet HOWTO is posted automatically by the Linux
*** HOWTO coordinator, Greg Hankins <gr...@sunsite.unc.edu>.  Please
*** direct any comments or questions about this HOWTO to the author,
*** Paul Gortmaker <Paul.Gortma...@anu.edu.au>.

- --- BEGIN Linux Ethernet HOWTO part 1/3 ---

  Linux Ethernet-Howto
  Paul Gortmaker, Editor.
  v2.4, 27 May 1995

  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. It hopefully answers all the frequently asked questions about
  using ethernet cards with Linux. Note that this Howto is focused on
  the hardware and low level driver aspect of the ethernet cards, and
  does not cover the software end of things. See the NET2-Howto for that
  stuff.

  1.  Introduction

  The Ethernet-Howto 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 contains detailed information on the current level
  of support for all of the most common ethernet cards available.  It
  does not cover the software end of things, as that is covered in the
  NET-2 Howto. Also note that general non-Linux specific questions about
  Ethernet are not (or at least they should not be) answered here. For
  those types of questions, see the excellent amount of information in
  the comp.dcom.lans.ethernet FAQ. You can FTP it from dorm.rutgers.edu
  in the directory /pub/novell/info_and_docs/

  This present revision covers kernels up to and including v1.2.8

  The Ethernet-Howto is edited and maintained by:

       Paul Gortmaker, Paul.Gortma...@anu.edu.au

  The primary source of the information for the Ethernet-Howto is from:

       Donald J. Becker, bec...@cesdis.gsfc.nasa.gov

  who we have to thank for writing the vast majority of ethernet card
  drivers that are presently available for Linux. He also is the
  original author of the NFS server too. Thanks Donald! We owe ya one!
  :-)

  Net-surfers may wish to check out the following URL:

  Donald Becker
  (http://cesdis.gsfc.nasa.gov/pub/people/becker/whoiam.html)

  1.1.  Using the Ethernet-Howto

  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 ``What card should I buy...''  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 ``Vendor Specific...''  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 mentioned above, and the troubleshooting
  information in ``the FAQ section''.  If you are interested in some of
  the technical aspects of the device drivers, then you can find that
  information in ``Technical Information''

  1.2.  Disclaimer and Copyright

  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.

  This document is Copyright (c) 1995 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.

  If you are intending to incorporate this document into a published
  work, please contact me, and I will make an effort to ensure that you
  have the most up to date information available. In the past, out of
  date versions of the Linux howto documents have been published, which
  caused the developers undue grief from being plagued with questions
  that were already answered in the up to date versions.

  1.3.  Mailing Lists and the Linux Newsgroups

  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
  mailing lists by sending mail to majord...@vger.rutgers.edu to get
  help with what lists are available, and how to join them.

  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.

  Also, the news groups comp.sys.ibm.pc.hardware.networking and
  comp.dcom.lans.ethernet should be used for questions that are not
  Linux specific.

  1.4.  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. 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 configure
  the software you will use.  And last but not least, the contributions
  from the individuals and companies listed in ``Contributors'' is
  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.

  For those looking for information that is not specific in any way to
  Linux (i.e. what is 10BaseT, what is AUI, what does a hub do, etc.)  I
  strongly recommend the Ethernet-FAQ from the newsgroup
  comp.dcom.lans.ethernet. Look on the FTP site dorm.rutgers.edu in the
  directory /pub/novell/info_and_docs/ or grab it from the following
  URL:

  Ethernet FAQ
  (ftp://dorm.rutgers.edu/pub/novell/info_and_docs/Ethernet.FAQ)

  Don't let the fact that it was last revised in 1993 scare you, as not
  much has happened to Ethernet since then. (Discounting the upcoming
  100Base-whatever, of course.)

  1.5.  New Versions of this Document

  New versions of this document can be retrieved via anonymous FTP from
  sunsite.unc.edu, in /pub/Linux/docs/HOWTO/* and various Linux ftp
  mirror sites. 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.  This document was produced by using the
  SGML system that was specifically set up for the Linux Howto project,
  and there are various output formats available, including, postscript,
  dvi, ascii, html, and soon TeXinfo.

  I would recommend viewing it in the html (via Mosaic) or the
  Postscript/dvi format. Both of these contain cross-references that are
  lost in the ascii translation.

  If you want to get the official copy off sunsite, here is URL.

  Ethernet-HOWTO (http://sunsite.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html)

  If minor additions and changes have been made, you can view the latest
  working copy from this URL.

  Working Copy (http://rsphy1.anu.edu.au/~gpg109/Ethernet-HOWTO.html)

  2.  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 those who want the absolute
  best performance, get an AMD PC-Net/Lance based card. For more detail
  as to the who what where and why, read on.

  2.1.  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, the 3c503 and the
  ne1000 is usually not worth the cost savings. Get the 8013 or the
  3c503/16, or the ne2000 instead. (The 3c501 is not included in this
  discussion, as it shouldn't be used under any circumstances.)

  However, so not to leave you with a bad taste in your mouth if you
  happen to already have one, you can still expect to get about 500kB/s
  ftp download speed to an 8 bit wd8003 card (on a 16MHz ISA bus) from a
  fast host.  And if most of your net-traffic is going to remote sites,
  then the bottleneck in the path will be elsewhere, and the only speed
  difference you will notice is during net activity on your local
  subnet.

  A note to NFS users: Some people have found that using 8 bit cards in
  NFS clients causes poorer than expected performance, when using 8kB
  (native Sun) NFS packet size.

  The possible reason for this could be due to the difference in on
  board buffer size between the 8 bit and the 16 bit cards.  The 8 bit
  cards have an 8kB buffer, and the 16 bit cards have a 16kB buffer. The
  Linux driver will reserve 3kB of that buffer (for Tx ping-pong
  buffers), leaving only 5kB for an 8 bit card. The maximum ethernet
  packet size is about 1500 bytes. Now that 8kB NFS packet will arrive
  as about 6 back to back maximum size ethernet packets. Both the 8 and
  16 bit cards have no problem Rx'ing back to back packets. The problem
  arises when the machine doesn't remove
...

read more »

 
 
 

Linux Ethernet HOWTO (part 1/3)

Post by Paul Gortmake » Fri, 11 Aug 1995 04:00:00


Archive-Name: linux/howto/ethernet/part2
Last-modified: 6 Aug 95

-----BEGIN PGP SIGNED MESSAGE-----

*** The Linux Ethernet HOWTO is posted automatically by the Linux
*** HOWTO coordinator, Greg Hankins <gr...@sunsite.unc.edu>.  Please
*** direct any comments or questions about this HOWTO to the author,
*** Paul Gortmaker <Paul.Gortma...@anu.edu.au>.

- --- BEGIN Linux Ethernet HOWTO part 2/3 ---

  There is some technical information available on the i82586 in
  ``Programming the Intel Chips'' and also in the source code for the
  driver `eexpress.c'. Don't be afraid to read it. ;-)

  3.18.2.  Ether Express PRO/10

  Status -- Semi-Supported

  Bao Chau Ha has written a driver for these cards that is scheduled to
  go into the 1.3.x kernels. It may also work with some of the Compaq
  built-in ethernet systems that are based on the i82595 chip. If you
  want to try the driver out now, you can e-mail Bao on
  b...@saigon.async.com and ask for it.

  3.18.3.  Ether Express PRO/100

  Status -- Not Supported

  These PCI and EISA cards use a different chip that the PRO/10 cards
  do. Bao is currently trying to get a datasheet out of Intel without
  having to sign a NDA. Good Luck!

  3.19.  LinkSys

  3.19.1.  LinkSys PCMCIA Adaptor

  Status -- Supported

  This is supposed to be a re-badged DE-650. See the information on the
  DE-650 in ``DE-650''.

  3.20.  Microdyne

  3.20.1.  Microdyne Exos 205T

  Status -- Semi-Supported

  Another i82586 based card. Dirk Niggemann dabn...@hermes.cam.ac.uk has
  written a driver that he classes as ``pre-alpha'' that he would like
  people to test. Mail him for more details.

  3.21.  Mylex

  Mylex can be reached at the following numbers, in case anyone wants to
  ask them anything.

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

  3.21.1.  Mylex LNP101

  Status -- Supported

  This is a PCI card that is based on DEC's 21040 chip.  It is
  selectable between 10BaseT, 10Base2 and 10Base5 output.  The LNP101
  card has been verified to work with the generic 21040 driver.

  See the section on the 21040 chip (``DEC 21040'') for more
  information.

  3.21.2.  Mylex LNP104

  Status -- Not Supported

  The LNP104 uses the DEC 21050 chip to deliver four independent 10BaseT
  ports. It may work with 21040 drivers, but nobody has tried yet.

  3.21.3.  Mylex M390B EISA

  Status -- Not Supported

  Russ writes that "...it's a fairly vanilla 8390-based adapter.  Only
  really tricky thing is that, like the Interlan es3210, you MUST do
  only 32-bit transfers to/from the board.  Look at the Crynwr packet
  driver and try making the changes yourself...''

  3.22.  Novell Ethernet, NExxxx and associated clones.

  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. (The now ubiquitous NE2000 card.)

  3.22.1.  NE1000, NE2000

  Status -- Supported

  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 NE2000 clones. See
  ``Problems with...'', and ``Poor NE2000 Clones'' In general it is not
  a good idea to put a NE2000 clone at I/O address 0x300 because nearly
  every device driver probes there at boot. Some poor NE2000 clones
  don't take kindy to being prodded in the wrong areas, and will respond
  by locking your machine.

  Donald has written a NE2000 diagnostic program, but it is still
  presently in alpha test. (ne2k) See ``Diagnostic Programs'' for more
  information.

  3.22.2.  NE1500, NE2100

  Status -- Supported

  These cards use the original 7990 LANCE chip from AMD and are
  supported using the Linux lance driver. Newer NE2100 clones use the
  updated PCnet/ISA chip from AMD.

  Some earlier versions of the lance driver had problems with getting
  the IRQ line via autoIRQ from the original Novell/Eagle 7990 cards.
  Hopefully this is now fixed.  If not, then specify the IRQ via LILO,
  and let us know that it still has problems.
  DMA selection and chip numbering information can be found in ``AMD
  LANCE''.

  More technical information on LANCE based cards can be found in
  ``Notes on AMD...''

  3.22.3.  NE3200

  Status -- Not Supported

  This card uses a lowly 8MHz 80186, and hence you are better off using
  a cheap NE2000 clone. Even if a driver was available, the NE2000 card
  would most likely be faster.

  3.23.  Pure Data

  3.23.1.  PDUC8028, PDI8023

  Status -- Supported

  The PureData PDUC8028 and PDI8023 series of cards are reported to
  work, thanks to special probe code contributed by Mike Jagdis
  ja...@purplet.demon.co.uk. The support is integrated with the WD
  driver.

  3.24.  Racal-Interlan

  3.24.1.  NI52**

  Status -- Semi-Supported

  Michael Hipp has written a driver for this card. It is included in the
  standard kernel as an `alpha' driver. Michael would like to hear
  feedback from users that have this card. See ``Alpha Drivers'' for
  important information on using alpha-test ethernet drivers with Linux.

  Michael says that ``the internal sysbus seems to be slow. So we often
  lose packets because of overruns while receiving from a fast remote
  host.''

  This card also uses one of the Intel chips. See ``Programming the
  Intel Chips'' for more technical information.

  3.24.2.  NI65**

  Status -- Semi-Supported

  There is also a driver for the LANCE based NI6510, and it is also
  written by Michael Hipp. Again, it is also an `alpha' driver. For some
  reason, this card is not compatible with the generic LANCE driver. See
  ``Alpha Drivers'' for important information on using alpha-test
  ethernet drivers with Linux.

  3.25.  Sager

  3.25.1.  Sager NP943

  Status -- Semi-Supported

  This is just a 3c501 clone, with a different S.A. PROM prefix. I
  assume it is equally as brain dead as the original 3c501 as well.
  Kernels 1.1.53 and up check for the NP943 i.d. and then just treat it
  as a 3c501 after that. See ``3Com 3c501'' for all the reasons as to
  why you really don't want to use one of these cards.

  3.26.  Schneider & Koch

  3.26.1.  SK G16

  Status -- Supported

  This driver was included into the v1.1 kernels, and it was written by
  PJD Weichmann and SWS Bern. It appears that the SK G16 is similar to
  the NI6510, in that it is based on the first edition LANCE chip (the
  7990). Once again, I have no idea as to why this card won't work with
  the generic LANCE driver.

  3.27.  Western Digital / SMC (Standard Microsystems Corp.)

  The ethernet part of Western Digital has been bought by SMC.  One
  common mistake people make is that the relatively new SMC Elite Ultra
  is the same as the older SMC Elite16 models -- this is not the case.

  Here is how to contact SMC (not that you should need to.)

       SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage,
       New York, 11788, USA.

  Technical Support via phone:

          800-992-4762 (USA)
          800-433-5345 (Canada)
          516-435-6250 (Other Countries)

  Literature requests:

          800-SMC-4-YOU (USA)
          800-833-4-SMC (Canada)
          516-435-6255  (Other Countries)

  Technical Support via E-mail:

          techs...@ccmail.west.smc.com

  FTP Site:

          ftp.smc.com

  3.27.1.  WD8003, SMC Elite

  Status -- Supported

  These are the 8-bit versions of the card. The 8 bit 8003 is slightly
  less expensive, but only worth the savings for light use. Note that
  some of the non-EEPROM cards (clones with jumpers, or old old old
  wd8003 cards) have no way of reporting the IRQ line used. In this
  case, auto-irq is used, and if that fails, the driver silently assings
  IRQ 5.  Information regarding what the jumpers on old non-EEPROM
  wd8003 cards do can be found in conjunction with the SMC setup/driver
  disks stored on dorm.rutgers.edu in the directory
  /pub/novell/nic_drvs/. Note that some of the newer SMC `SuperDisk'
  programs will fail to detect the old EEPROM-less cards. The file
  SMCDSK46.EXE seems to be a good all-round choice. Also the jumper
  settings for old cards are in an ascii text file in the aforementioned
  archive. The latest (greatest?) version can be obtained from
  ftp.smc.com.

  As these are basically the same as their 16 bit counterparts (WD8013 /
  SMC Elite16), you should see the next section for more information.

  3.27.2.  WD8013, SMC Elite16

  Status -- Supported

  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 Elite16 Plus (WD8013).
  Late model SMC cards will have two main PLCC chips on board; the SMC
  83c690 and the SMC 83c694.  The shared memory design makes the cards
  10-20 % faster, especially with larger packets. More importantly, from
  the driver's point of view, it avoids a few bugs in the programmed-I/O
  mode of the 8390, allows safe multi-threaded access to the packet
  buffer, and it doesn't have a programmed-I/O data register that hangs
  your machine during warm-boot probes.

  Non-EEPROM cards that can't just read the selected IRQ will attempt
  auto-irq, and if that fails, they will silently assign IRQ 10. (8 bit
  versions will assign IRQ 5)

  Also see ``8013 clones'' and ``8013 problems''.
...

read more »

 
 
 

Linux Ethernet HOWTO (part 1/3)

Post by Paul Gortmake » Fri, 11 Aug 1995 04:00:00


Archive-Name: linux/howto/ethernet/part3
Last-modified: 6 Aug 95

-----BEGIN PGP SIGNED MESSAGE-----

*** The Linux Ethernet HOWTO is posted automatically by the Linux
*** HOWTO coordinator, Greg Hankins <gr...@sunsite.unc.edu>.  Please
*** direct any comments or questions about this HOWTO to the author,
*** Paul Gortmaker <Paul.Gortma...@anu.edu.au>.

- --- BEGIN Linux Ethernet HOWTO part 3/3 ---

  Try and determine exactly what hardware you have (ie. card
  manufacturer, PCMCIA chip controller manufacturer) and then ask on the
  LAPTOPS channel. Regardless, don't expect things to be all that
  simple.  Expect to have to fiddle around a bit, and patch kernels,
  etc.  Maybe someday you will be able to type `make config' 8-)

  At present, the two PCMCIA chipsets that are supported are the
  Databook TCIC/2 and the intel i82365.

  There is a number of programs on tsx-11.mit.edu in
  /pub/linux/packages/laptops/ that you may find useful. These range
  from PCMCIA Ethercard drivers to programs that communicate with the
  PCMCIA controller chip. Note that these drivers are usually tied to a
  specific PCMCIA chip (ie. the intel 82365 or the TCIC/2)

  For NE2000 compatible cards, some people have had success with just
  configuring the card under DOS, and then booting linux from the DOS
  command prompt via loadlin.

  For those that are net-surfing you can try:

  Don's PCMCIA Stuff (http://cesdis.gsfc.nasa.gov/linux/pcmcia.html)

  Anyway, the PCMCIA driver problem isn't specific to the Linux world.
  It's been a real disaster in the MS-DOS world. In that world people
  expect the hardware to work if they just follow the manual.  They
  might not expect it to interoperate with any other hardware or
  software, or operate optimally, but they do expect that the software
  shipped with the product will function. Many PCMCIA adaptors don't
  even pass this test.

  Things are looking up for Linux users that want PCMCIA support, as
  substantial progress is being made. Pioneering this effort is David
  Hinds. His latest PCMCIA support package can be obtained from cb-
  iris.stanford.edu in the directory /pub/pcmcia/. Look for a file like
  pcmcia-cs-X.Y.Z.tgz where X.Y.Z will be the latest version number.
  This is most likely uploaded to tsx-11.mit.edu as well.

  Note that Donald's PCMCIA enabler works as a user-level process, and
  David Hinds' is a kernel-level solution.  You may be best served by
  David's package as it is much more widely used.

  8.4.  ISA Ethercard in the Docking Station.

  Docking stations for laptops typically cost about $250 and provide two
  full-size ISA slots, two serial and one parallel port. Most docking
  stations are powered off of the laptop's batteries, and a few allow
  adding extra batteries in the docking station if you use short ISA
  cards. You can add an inexpensive ethercard and enjoy full-speed
  ethernet performance.

  8.5.  Pocket / parallel port adaptors.

  The `pocket' ethernet adaptors may also fit your need.  Until recently
  they actually costed more than a docking station and cheap ethercard,
  and most tie you down with a wall-brick power supply.  At present, you
  can choose from the D-Link, or the RealTek adaptor.  Most other
  companies, especially Xircom, (see ``Xircom'') treat the programming
  information as a trade secret, so support will likely be slow in
  coming. (if ever!)

  Note that the transfer speed will not be all that great (perhaps
  100kB/s tops?) due to the limitations of the parallel port interface.

  See ``DE-600 / DE-620'' and ``RealTek'' for supported pocket adaptors.

  You can sometimes avoid the wall-brick with the adaptors by buying or
  making a cable that draws power from the laptop's keyboard port. (See
  ``keyboard power'')

  9.  Frequently Asked Questions

  Here are some of the more frequently asked questions about using Linux
  with an Ethernet connection. Some of the more specific questions are
  sorted on a `per manufacturer basis'.  However, since this document is
  basically `old' by the time you get it, any `new' problems will not
  appear here instantly. For these, I suggest that you make efficient
  use of your newsreader. For example, nn users would type

       nn -xX -s'3c'

  to get all the news articles in your subscribed list that have `3c' in
  the subject. (ie. 3com, 3c509, 3c503, etc.)  The moral: Read the man
  page for your newsreader.

  9.1.  Alpha Drivers -- Getting and Using them

  I heard that there is an alpha driver available for my card.  Where
  can I get it?

  The newest of the `new' drivers can be found on Donald's new ftp site:
  cesdis.gsfc.nasa.gov in the /pub/linux/ area. Things change here quite
  frequently, so just look around for it.  There is still all the stuff
  on the old ftp site ftp.super.org in /pub/linux, but this is not being
  actively maintained, and hence will be of limited value to most
  people.

  As of recent v1.1 kernels, the `useable' alpha drivers have been
  included in the standard kernel source tree. When running make config
  you will be asked if you want to be offered ALPHA test drivers.

  Now, if it really is an alpha, or pre-alpha driver, then please treat
  it as such. In other words, don't complain because you can't figure
  out what to do with it. If you can't figure out how to install it,
  then you probably shouldn't be testing it.  Also, if it brings your
  machine down, don't complain. Instead, send us a well documented bug
  report, or even better, a patch!

  People reading this while net-surfing may want to check out:

  Don's Linux Home Page
  (http://cesdis.gsfc.nasa.gov/pub/linux/linux.html)

  for the latest dirt on what is new and upcoming.

  9.2.  Using More than one Ethernet Card per Machine

  What needs to be done so that Linux can run two ethernet cards?

  The hooks for multiple ethercards are all there.  However, note that
  only one ethercard is auto-probed for by default.  This avoids a lot
  of possible boot time hangs caused by probing sensitive cards.

  There are two ways that you can enable auto-probing for the second
  (and third, and...) card. The easiest method is to pass boot-time
  arguments to the kernel, which is usually done by LILO.Probing for the
  second card can be achieved by using a boot-time argument as simple as
  ether=0,0,eth1. In this case eth0 and eth1 will be assigned in the
  order that the cards are found at boot.  Say if you want the card at
  0x300 to be eth0 and the card at 0x280 to be eth1 then you could use

       LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1

  The ether= command accepts more than the IRQ + i/o + name shown above.
  Please have a look at ``Passing Ethernet Arguments...''  for the full
  syntax, card specific parameters, and LILO tips.

  These boot time arguments can be made permanent so that you don't have
  to re-enter them every time. See the LILO configuration option
  `append' in the LILO manual.

  The second way (not recommended) is to edit the file Space.c and
  replace the 0xffe0 entry for the i/o address with a zero. The 0xffe0
  entry tells it not to probe for that device -- replacing it with a
  zero will enable autoprobing for that device.  If you really need more
  than four ethernet cards in one machine, then you can clone the eth3
  entry and change eth3 to eth4.

  Note that if you are intending to use Linux as a gateway between two
  networks, you will have to re-compile a kernel with IP forwarding
  enabled. Usually using an old AT/286 with something like the `kbridge'
  software is a better solution.

  If you are viewing this while net-surfing, you may wish to look at a
  mini-howto Donald has on his WWW site. Check out Multiple Ethercards
  (http://cesdis.gsfc.nasa.gov/linux/misc/multicard.html).

  9.3.  Problems with NE1000 / NE2000 cards (and clones)

  Problem: NE*000 ethercard at 0x360 doesn't get detected anymore.

  Reason: Recent kernels ( > 1.1.7X) have more sanity checks with
  respect to overlapping i/o regions. Your NE2000 card is 0x20 wide in
  i/o space, which makes it hit the parallel port at 0x378.  Other
  devices that could be there are the second floppy controller (if
  equipped) at 0x370 and the secondary IDE controller at 0x376--0x377.
  If the port(s) are already registered by another driver, the kernel
  will not let the probe happen.

  Solution: Either move your card to an address like 0x280, 0x340, 0x320
  or compile without parallel printer support.

  Problem: Network `goes away' every time I print something (NE2000)

  Reason: Same problem as above, but you have an older kernel that
  doesn't check for overlapping i/o regions. Use the same fix as above,
  and get a new kernel while you are at it.

  Problem: NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found.
  (invalid signature yy zz)

  Reason: First off, do you have a NE1000 or NE2000 card at the addr.
  0xNNN?  And if so, does the hardware address reported look like a
  valid one? If so, then you have a poor NE*000 clone. All NE*000 clones
  are supposed to have the value 0x57 in bytes 14 and 15 of the SA PROM
  on the card. Yours doesn't -- it has `yy zz' instead.

  Solution: The driver (/usr/src/linux/drivers/net/ne.c) has a "Hall of
  Shame" list at about line 42. This list is used to detect poor clones.
  For example, the DFI cards use `DFI' in the first 3 bytes of the prom,
  instead of using 0x57 in bytes 14 and 15, like they are supposed to.

  You can determine what the first 3 bytes of your card PROM are by
  adding a line like:

      printk("PROM prefix: %#2x %#2x %#2x\n",SA_prom[0],SA_prom[1],SA_prom[2]);

  into the driver, right after the error message you got above, and just
  before the "return ENXIO" at line 227.

  Reboot with this change in place, and after the detection fails, you
  will get the three bytes from the PROM like the DFI example above.
  Then you can add your card to the bad_clone_list[] at about line 43.
...

read more »

 
 
 

Linux Ethernet HOWTO (part 1/3)

Post by Andrew Bo » Sat, 12 Aug 1995 04:00:00



Quote:>  3.14.4.  DEC 21040, 21140, Tulip

>  Also note to change the output media from the default of 10BaseT to
>  use 10Base2, you will have to change the `4' to a `d' at (or around
>  line 325 in tulip.c) where it has:

>          outl(0x00000004, ioaddr + CSR13);

gosh, don't you mean 'c' to keep CSR13:0 reset?

--
#include <std.disclaimer>