| Released 1994-06-13 | |
| CONTENTS: | |
| 1. Introduction. | |
| 2. License. | |
| 3. Files in this release. | |
| 4. Installation. | |
| 5. Problems and tuning. | |
| 6. Using the drivers with earlier releases. | |
| 7. Acknowledgments. | |
| 1. INTRODUCTION. | |
| This is a set of Ethernet drivers for the D-Link DE-600/DE-620 | |
| pocket adapters, for the parallel port on a Linux based machine. | |
| Some adapter "clones" will also work. Xircom is _not_ a clone... | |
| These drivers _can_ be used as loadable modules, | |
| and were developed for use on Linux 1.1.13 and above. | |
| For use on Linux 1.0.X, or earlier releases, see below. | |
| I have used these drivers for NFS, ftp, telnet and X-clients on | |
| remote machines. Transmissions with ftp seems to work as | |
| good as can be expected (i.e. > 80k bytes/sec) from a | |
| parallel port...:-) Receive speeds will be about 60-80% of this. | |
| Depending on your machine, somewhat higher speeds can be achieved. | |
| All comments/fixes to Bjorn Ekwall (bj0rn@blox.se). | |
| 2. LICENSE. | |
| This program is free software; you can redistribute it | |
| and/or modify it under the terms of the GNU General Public | |
| License as published by the Free Software Foundation; either | |
| version 2, or (at your option) any later version. | |
| This program is distributed in the hope that it will be | |
| useful, but WITHOUT ANY WARRANTY; without even the implied | |
| warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
| PURPOSE. See the GNU General Public License for more | |
| details. | |
| You should have received a copy of the GNU General Public | |
| License along with this program; if not, write to the Free | |
| Software Foundation, Inc., 675 Mass Ave, Cambridge, MA | |
| 02139, USA. | |
| 3. FILES IN THIS RELEASE. | |
| README.DLINK This file. | |
| de600.c The Source (may it be with You :-) for the DE-600 | |
| de620.c ditto for the DE-620 | |
| de620.h Macros for de620.c | |
| If you are upgrading from the d-link tar release, there will | |
| also be a "dlink-patches" file that will patch Linux 1.1.18: | |
| linux/drivers/net/Makefile | |
| linux/drivers/net/CONFIG | |
| linux/drivers/net/MODULES | |
| linux/drivers/net/Space.c | |
| linux/config.in | |
| Apply the patch by: | |
| "cd /usr/src; patch -p0 < linux/drivers/net/dlink-patches" | |
| The old source, "linux/drivers/net/d_link.c", can be removed. | |
| 4. INSTALLATION. | |
| o Get the latest net binaries, according to current net.wisdom. | |
| o Read the NET-2 and Ethernet HOWTOs and modify your setup. | |
| o If your parallel port has a strange address or irq, | |
| modify "linux/drivers/net/CONFIG" accordingly, or adjust | |
| the parameters in the "tuning" section in the sources. | |
| If you are going to use the drivers as loadable modules, do _not_ | |
| enable them while doing "make config", but instead make sure that | |
| the drivers are included in "linux/drivers/net/MODULES". | |
| If you are _not_ going to use the driver(s) as loadable modules, | |
| but instead have them included in the kernel, remember to enable | |
| the drivers while doing "make config". | |
| o To include networking and DE600/DE620 support in your kernel: | |
| # cd /linux | |
| (as modules:) | |
| # make config (answer yes on CONFIG_NET and CONFIG_INET) | |
| (else included in the kernel:) | |
| # make config (answer yes on CONFIG _NET, _INET and _DE600 or _DE620) | |
| # make clean | |
| # make zImage (or whatever magic you usually do) | |
| o I use lilo to boot multiple kernels, so that I at least | |
| can have one working kernel :-). If you do too, append | |
| these lines to /etc/lilo/config: | |
| image = /linux/zImage | |
| label = newlinux | |
| root = /dev/hda2 (or whatever YOU have...) | |
| # /etc/lilo/install | |
| o Do "sync" and reboot the new kernel with a D-Link | |
| DE-600/DE-620 pocket adapter connected. | |
| o The adapter can be configured with ifconfig eth? | |
| where the actual number is decided by the kernel | |
| when the drivers are initialized. | |
| 5. "PROBLEMS" AND TUNING, | |
| o If you see error messages from the driver, and if the traffic | |
| stops on the adapter, try to do "ifconfig" and "route" once | |
| more, just as in "rc.inet1". This should take care of most | |
| problems, including effects from power loss, or adapters that | |
| aren't connected to the printer port in some way or another. | |
| You can somewhat change the behaviour by enabling/disabling | |
| the macro SHUTDOWN_WHEN_LOST in the "tuning" section. | |
| For the DE-600 there is another macro, CHECK_LOST_DE600, | |
| that you might want to read about in the "tuning" section. | |
| o Some machines have trouble handling the parallel port and | |
| the adapter at high speed. If you experience problems: | |
| DE-600: | |
| - The adapter is not recognized at boot, i.e. an Ethernet | |
| address of 00:80:c8:... is not shown, try to add another | |
| "; SLOW_DOWN_IO" | |
| at DE600_SLOW_DOWN in the "tuning" section. As a last resort, | |
| uncomment: "#define REALLY_SLOW_IO" (see <asm/io.h> for hints). | |
| - You experience "timeout" messages: first try to add another | |
| "; SLOW_DOWN_IO" | |
| at DE600_SLOW_DOWN in the "tuning" section, _then_ try to | |
| increase the value (original value: 5) at | |
| "if (tickssofar < 5)" near line 422. | |
| DE-620: | |
| - Your parallel port might be "sluggish". To cater for | |
| this, there are the macros LOWSPEED and READ_DELAY/WRITE_DELAY | |
| in the "tuning" section. Your first step should be to enable | |
| LOWSPEED, and after that you can "tune" the XXX_DELAY values. | |
| o If the adapter _is_ recognized at boot but you get messages | |
| about "Network Unreachable", then the problem is probably | |
| _not_ with the driver. Check your net configuration instead | |
| (ifconfig and route) in "rc.inet1". | |
| o There is some rudimentary support for debugging, look at | |
| the source. Use "-DDE600_DEBUG=3" or "-DDE620_DEBUG=3" | |
| when compiling, or include it in "linux/drivers/net/CONFIG". | |
| IF YOU HAVE PROBLEMS YOU CAN'T SOLVE: PLEASE COMPILE THE DRIVER | |
| WITH DEBUGGING ENABLED, AND SEND ME THE RESULTING OUTPUT! | |
| 6. USING THE DRIVERS WITH EARLIER RELEASES. | |
| The later 1.1.X releases of the Linux kernel include some | |
| changes in the networking layer (a.k.a. NET3). This affects | |
| these drivers in a few places. The hints that follow are | |
| _not_ tested by me, since I don't have the disk space to keep | |
| all releases on-line. | |
| Known needed changes to date: | |
| - release patchfile: some patches will fail, but they should | |
| be easy to apply "by hand", since they are trivial. | |
| (Space.c: d_link_init() is now called de600_probe()) | |
| - de600.c: change "mark_bh(NET_BH)" to "mark_bh(INET_BH)". | |
| - de620.c: (maybe) change the code around "netif_rx(skb);" to be | |
| similar to the code around "dev_rint(...)" in de600.c | |
| 7. ACKNOWLEDGMENTS. | |
| These drivers wouldn't have been done without the base | |
| (and support) from Ross Biro, and D-Link Systems Inc. | |
| The driver relies upon GPL-ed source from D-Link Systems Inc. | |
| and from Russel Nelson at Crynwr Software <nelson@crynwr.com>. | |
| Additional input also from: | |
| Donald Becker <becker@super.org>, Alan Cox <A.Cox@swansea.ac.uk> | |
| and Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG> | |
| DE-600 alpha release primary victim^H^H^H^H^H^Htester: | |
| - Erik Proper <erikp@cs.kun.nl>. | |
| Good input also from several users, most notably | |
| - Mark Burton <markb@ordern.demon.co.uk>. | |
| DE-620 alpha release victims^H^H^H^H^H^H^Htesters: | |
| - J. Joshua Kopper <kopper@rtsg.mot.com> | |
| - Olav Kvittem <Olav.Kvittem@uninett.no> | |
| - Germano Caronni <caronni@nessie.cs.id.ethz.ch> | |
| - Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> | |
| Happy hacking! | |
| Bjorn Ekwall == bj0rn@blox.se |