| 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. |