| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Released 1994-06-13 | 
 | 2 |  | 
 | 3 |  | 
 | 4 | 	CONTENTS: | 
 | 5 |  | 
 | 6 | 	1. Introduction. | 
 | 7 | 	2. License. | 
 | 8 | 	3. Files in this release. | 
 | 9 | 	4. Installation. | 
 | 10 | 	5. Problems and tuning. | 
 | 11 | 	6. Using the drivers with earlier releases. | 
 | 12 | 	7. Acknowledgments. | 
 | 13 |  | 
 | 14 |  | 
 | 15 | 	1. INTRODUCTION. | 
 | 16 |  | 
 | 17 | 	This is a set of Ethernet drivers for the D-Link DE-600/DE-620 | 
 | 18 | 	pocket adapters, for the parallel port on a Linux based machine. | 
 | 19 | 	Some adapter "clones" will also work.  Xircom is _not_ a clone... | 
 | 20 | 	These drivers _can_ be used as loadable modules, | 
 | 21 | 	and were developed for use on Linux 1.1.13 and above. | 
 | 22 | 	For use on Linux 1.0.X, or earlier releases, see below. | 
 | 23 |  | 
 | 24 | 	I have used these drivers for NFS, ftp, telnet and X-clients on | 
 | 25 | 	remote machines. Transmissions with ftp seems to work as | 
 | 26 | 	good as can be expected (i.e. > 80k bytes/sec) from a | 
 | 27 | 	parallel port...:-)  Receive speeds will be about 60-80% of this. | 
 | 28 | 	Depending on your machine, somewhat higher speeds can be achieved. | 
 | 29 |  | 
 | 30 | 	All comments/fixes to Bjorn Ekwall (bj0rn@blox.se). | 
 | 31 |  | 
 | 32 |  | 
 | 33 | 	2. LICENSE. | 
 | 34 |  | 
 | 35 | 	This program is free software; you can redistribute it | 
 | 36 | 	and/or modify it under the terms of the GNU General Public | 
 | 37 | 	License as published by the Free Software Foundation; either | 
 | 38 | 	version 2, or (at your option) any later version. | 
 | 39 |  | 
 | 40 | 	This program is distributed in the hope that it will be | 
 | 41 | 	useful, but WITHOUT ANY WARRANTY; without even the implied | 
 | 42 | 	warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | 
 | 43 | 	PURPOSE. See the GNU General Public License for more | 
 | 44 | 	details. | 
 | 45 |  | 
 | 46 | 	You should have received a copy of the GNU General Public | 
 | 47 | 	License along with this program; if not, write to the Free | 
 | 48 | 	Software Foundation, Inc., 675 Mass Ave, Cambridge, MA | 
 | 49 | 	02139, USA. | 
 | 50 |  | 
 | 51 |  | 
 | 52 | 	3. FILES IN THIS RELEASE. | 
 | 53 |  | 
 | 54 | 	README.DLINK  This file. | 
 | 55 | 	de600.c       The Source (may it be with You :-) for the DE-600 | 
 | 56 | 	de620.c       ditto for the DE-620 | 
 | 57 | 	de620.h       Macros for de620.c | 
 | 58 |  | 
 | 59 | 	If you are upgrading from the d-link tar release, there will | 
 | 60 | 	also be a "dlink-patches" file that will patch Linux 1.1.18: | 
 | 61 | 		linux/drivers/net/Makefile | 
 | 62 | 		linux/drivers/net/CONFIG | 
 | 63 | 		linux/drivers/net/MODULES | 
 | 64 | 		linux/drivers/net/Space.c | 
 | 65 | 		linux/config.in | 
 | 66 | 	Apply the patch by: | 
 | 67 | 	"cd /usr/src; patch -p0 < linux/drivers/net/dlink-patches" | 
 | 68 | 	The old source, "linux/drivers/net/d_link.c", can be removed. | 
 | 69 |  | 
 | 70 |  | 
 | 71 | 	4. INSTALLATION. | 
 | 72 |  | 
 | 73 | 	o Get the latest net binaries, according to current net.wisdom. | 
 | 74 |  | 
 | 75 | 	o Read the NET-2 and Ethernet HOWTOs and modify your setup. | 
 | 76 |  | 
 | 77 | 	o If your parallel port has a strange address or irq, | 
 | 78 | 	  modify "linux/drivers/net/CONFIG" accordingly, or adjust | 
 | 79 | 	  the parameters in the "tuning" section in the sources. | 
 | 80 |  | 
 | 81 | 	If you are going to use the drivers as loadable modules, do _not_ | 
 | 82 | 	enable them while doing "make config", but instead make sure that | 
 | 83 | 	the drivers are included in "linux/drivers/net/MODULES". | 
 | 84 |  | 
 | 85 | 	If you are _not_ going to use the driver(s) as loadable modules, | 
 | 86 | 	but instead have them included in the kernel, remember to enable | 
 | 87 | 	the drivers while doing "make config". | 
 | 88 |  | 
 | 89 | 	o To include networking and DE600/DE620 support in your kernel: | 
 | 90 | 	  # cd /linux | 
 | 91 | 	  (as modules:) | 
 | 92 | 	  #  make config (answer yes on CONFIG_NET and CONFIG_INET) | 
 | 93 | 	  (else included in the kernel:) | 
 | 94 | 	  #  make config (answer yes on CONFIG _NET, _INET and _DE600 or _DE620) | 
 | 95 | 	  # make clean | 
 | 96 | 	  # make zImage (or whatever magic you usually do) | 
 | 97 |  | 
 | 98 | 	o I use lilo to boot multiple kernels, so that I at least | 
 | 99 | 	  can have one working kernel :-). If you do too, append | 
 | 100 | 	  these lines to /etc/lilo/config: | 
 | 101 |  | 
 | 102 | 		image = /linux/zImage | 
 | 103 | 		label = newlinux | 
 | 104 | 		root = /dev/hda2 (or whatever YOU have...) | 
 | 105 |  | 
 | 106 | 	  # /etc/lilo/install | 
 | 107 |  | 
 | 108 | 	o Do "sync" and reboot the new kernel with a D-Link | 
 | 109 | 	  DE-600/DE-620 pocket adapter connected. | 
 | 110 |  | 
 | 111 | 	o The adapter can be configured with ifconfig eth? | 
 | 112 | 	  where the actual number is decided by the kernel | 
 | 113 | 	  when the drivers are initialized. | 
 | 114 |  | 
 | 115 |  | 
 | 116 | 	5. "PROBLEMS" AND TUNING, | 
 | 117 |  | 
 | 118 | 	o If you see error messages from the driver, and if the traffic | 
 | 119 | 	  stops on the adapter, try to do "ifconfig" and "route" once | 
 | 120 | 	  more, just as in "rc.inet1".  This should take care of most | 
 | 121 | 	  problems, including effects from power loss, or adapters that | 
 | 122 | 	  aren't connected to the printer port in some way or another. | 
 | 123 | 	  You can somewhat change the behaviour by enabling/disabling | 
 | 124 | 	  the macro  SHUTDOWN_WHEN_LOST  in the "tuning" section. | 
 | 125 | 	  For the DE-600 there is another macro, CHECK_LOST_DE600, | 
 | 126 | 	  that you might want to read about in the "tuning" section. | 
 | 127 |  | 
 | 128 | 	o Some machines have trouble handling the parallel port and | 
 | 129 | 	  the adapter at high speed. If you experience problems: | 
 | 130 |  | 
 | 131 | 	  DE-600: | 
 | 132 | 	  - The adapter is not recognized at boot, i.e. an Ethernet | 
 | 133 | 	    address of 00:80:c8:... is not shown, try to add another | 
 | 134 | 	      "; SLOW_DOWN_IO" | 
 | 135 | 	    at DE600_SLOW_DOWN in the "tuning" section. As a last resort, | 
 | 136 | 	    uncomment: "#define REALLY_SLOW_IO" (see <asm/io.h> for hints). | 
 | 137 |  | 
 | 138 | 	  - You experience "timeout" messages: first try to add another | 
 | 139 | 	      "; SLOW_DOWN_IO" | 
 | 140 | 	    at DE600_SLOW_DOWN in the "tuning" section, _then_ try to | 
 | 141 | 	    increase the value (original value: 5) at | 
 | 142 | 	    "if (tickssofar < 5)" near line 422. | 
 | 143 |  | 
 | 144 | 	  DE-620: | 
 | 145 | 	  - Your parallel port might be "sluggish".  To cater for | 
 | 146 | 	    this, there are the macros LOWSPEED and READ_DELAY/WRITE_DELAY | 
 | 147 | 	    in the "tuning" section. Your first step should be to enable | 
 | 148 | 	    LOWSPEED, and after that you can "tune" the XXX_DELAY values. | 
 | 149 |  | 
 | 150 | 	o If the adapter _is_ recognized at boot but you get messages | 
 | 151 | 	  about "Network Unreachable", then the problem is probably | 
 | 152 | 	  _not_ with the driver.  Check your net configuration instead | 
 | 153 | 	  (ifconfig and route) in "rc.inet1". | 
 | 154 |  | 
 | 155 | 	o There is some rudimentary support for debugging, look at | 
 | 156 | 	  the source. Use "-DDE600_DEBUG=3" or "-DDE620_DEBUG=3" | 
 | 157 | 	  when compiling, or include it in "linux/drivers/net/CONFIG". | 
 | 158 | 	  IF YOU HAVE PROBLEMS YOU CAN'T SOLVE: PLEASE COMPILE THE DRIVER | 
 | 159 | 	  WITH DEBUGGING ENABLED, AND SEND ME THE RESULTING OUTPUT! | 
 | 160 |  | 
 | 161 |  | 
 | 162 | 	6. USING THE DRIVERS WITH EARLIER RELEASES. | 
 | 163 |  | 
 | 164 | 	The later 1.1.X releases of the Linux kernel include some | 
 | 165 | 	changes in the networking layer (a.k.a. NET3). This affects | 
 | 166 | 	these drivers in a few places.  The hints that follow are | 
 | 167 | 	_not_ tested by me, since I don't have the disk space to keep | 
 | 168 | 	all releases on-line. | 
 | 169 | 	Known needed changes to date: | 
 | 170 | 	- release patchfile: some patches will fail, but they should | 
 | 171 | 	  be easy to apply "by hand", since they are trivial. | 
 | 172 | 	  (Space.c: d_link_init() is now called de600_probe()) | 
 | 173 | 	- de600.c: change  "mark_bh(NET_BH)" to  "mark_bh(INET_BH)". | 
 | 174 | 	- de620.c: (maybe) change the code around "netif_rx(skb);" to be | 
 | 175 | 		   similar to the code around "dev_rint(...)" in de600.c | 
 | 176 |  | 
 | 177 |  | 
 | 178 | 	7. ACKNOWLEDGMENTS. | 
 | 179 |  | 
 | 180 | 	These drivers wouldn't have been done without the base | 
| Jesper Juhl | 02c30a8 | 2005-05-05 16:16:16 -0700 | [diff] [blame] | 181 | 	(and support) from Ross Biro, and D-Link Systems Inc. | 
 | 182 | 	The driver relies upon GPL-ed source from D-Link Systems Inc. | 
 | 183 | 	and from Russel Nelson at Crynwr Software <nelson@crynwr.com>. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 184 |  | 
 | 185 | 	Additional input also from: | 
 | 186 | 	Donald Becker <becker@super.org>, Alan Cox <A.Cox@swansea.ac.uk> | 
 | 187 | 	and Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG> | 
 | 188 |  | 
 | 189 | 	DE-600 alpha release primary victim^H^H^H^H^H^Htester: | 
 | 190 | 	- Erik Proper <erikp@cs.kun.nl>. | 
 | 191 | 	Good input also from several users, most notably | 
 | 192 | 	- Mark Burton <markb@ordern.demon.co.uk>. | 
 | 193 |  | 
 | 194 | 	DE-620 alpha release victims^H^H^H^H^H^H^Htesters: | 
 | 195 | 	- J. Joshua Kopper <kopper@rtsg.mot.com> | 
 | 196 | 	- Olav Kvittem <Olav.Kvittem@uninett.no> | 
 | 197 | 	- Germano Caronni <caronni@nessie.cs.id.ethz.ch> | 
 | 198 | 	- Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> | 
 | 199 |  | 
 | 200 |  | 
 | 201 | 	Happy hacking! | 
 | 202 |  | 
 | 203 | 	Bjorn Ekwall == bj0rn@blox.se |