Files
2024-02-19 00:25:04 -05:00

78 lines
3.1 KiB
Plaintext

Installation Directions:
EMail me (becker@super.org) telling me you've gotten the "experimental
drivers". 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.2 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
GNUmakefile 8390.c 8390.h Space.c wd.c ne.c 3c503.c 3c503reg.h 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.
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 "eth_if" instead of
"eth0" (the WD8003). (Alternately you can edit the GNUmakefile to use the
"eth0" name.)
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) real '/dev/eth_if' devices --
they only exist in the socket namespace and thus you don't need to
'mknode' them.
________________
Important defines
For Space.c
#define EI8390 0x300 /* The base address of your ethercard. */
#define EI8390_IRQ 5 /* and the interrupt you want to use. */
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
#undef EI_8BIT /* Define for ne.c iff you have an 8 bit card.*/
#undef EI8390_THICK /* Define for 3c503 AUI/DIX transceiver.*/
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. (Most of the debugging stuff has been taken out recently,
so this won't have much effect.)
EI_PINGPONG
Not included or broken the alpha version. Define this if you want
ping-pong transmit buffers.
EI_8BIT
If you are using the ne.c driver and have an 8-bit card (NE1000 or
E1xxx Cabletron) you must define this. It's not needed for the other
drivers, and I hope to find a way to clean this up in the future.
EI8390_THICK
Define for this if you are using the 3c503 and use the AUI/DIX
connector rather than the built-in thin-net transceiver.
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.