1Released 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
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>.
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
204