root/net/inet/README.8390

/* [previous][next][first][last][top][bottom][index][help] */
Installation Directions:

EMail me (becker@super.org) telling me which version you have gotten.
I need to know how many people have tried, succeeded and
failed before this is released as part of the official Linux.

Use Linux 0.99.5 or later.  Make certain you can make a working kernel
_before_ you install the ethercard driver.

Put the all of the files into linux/net/tcp/.  You'll need all of the
files in this directory.
GNUmakefile 8390.c 8390.h auto_irq.c Space.c wd.c ne.c 3c503.[ch] and hp.c.
Space.c is the only tricky one -- it overwrites the old Space.c.
Stock versions of Space.c leave the "we" driver enabled and will not work.

Change the GNUmakefile to reflect your configuration.  Use the guide at
the end of these instructions and in the README file.  Note that the
'GNUmakefile' name is magic; it is loaded in preference to 'Makefile'.

Make and install your new kernel.

To actually use this driver you must get the TCP/IP package and edit
your /usr/etc/inet/rc.net file to config whatever you named your
ethernet device.  (You can edit the GNUmakefile to use something
besides the "eth0" name. Note that the default name has changed to
the now-standard "eth0".)

If you try to 'config' an interface that doesn't exist your kernel
will report "invalid ioctl()" for anthing that tries to use the card.
Note that the ethercard devices aren't (yet) '/dev/eth0' devices --
they only exist in the socket namespace and thus you don't need to
'mknode' them.

________________
Important defines

For Space.c
#define EI8390 0                /* The base address of your ethercard.  */
#define EI8390_IRQ 0            /* and the interrupt you want to use.   */
                                /* '0' means autoconfigure              */
For 8390.c
#define EI_DEBUG 2              /* Use '0' for no messages.             */
#define EL2                     /* For the 3c503 driver.                */
#define NE2000                  /* For the NE1000/NE2000/Ctron driver.  */
#define WD80x3                  /* For the WD8003/WD8013 driver.        */
#define HPLAN                   /* For the HP27xxx driver.              */

For the individual drivers

EI8390  Define (probably in autoconf.h or config.site.h) this to the base
        address of your ethernet card.
EI8390_IRQ Define (probably in autoconf.h or config.site.h) this to the
        IRQ line of your ethernet card.  Most drivers convert a IRQ2 to an
        IRQ9 for you, so don't be surprised.
EI_DEBUG   Set to the desired numeric debugging level.  Use 3 or
        greater when actively debugging a problem, '1' for a
        casual interest in what's going on, and '0' for normal
        use. 
NO_PINGPONG
        Define this if you don't want ping-pong transmit buffers.
EL2_AUI
        Define for this if you are using the 3c503 and use the AUI/DIX
        connector rather than the built-in thin-net transceiver.
WD_SHMEM
        Define this to override the shared memory address used by the
        WD driver.  This should only be necessary for jumpered ethercards.

If you have a Cabletron ethercard you might want to look at ne.c:neprobe()
for info on how to enable more packet buffer space.

ETHERLINK1_IRQ
ETHERLINK1 Define these to the base address and IRQ of a 3c501 (NOT 3c503)
        card. Refer to net/tcp/Space.c.

/* [previous][next][first][last][top][bottom][index][help] */