include upstream ip1000a driver version 2.09f
[linux-2.4.git] / Documentation / networking / DLINK.txt
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 depend
97           # make zImage (or whatever magic you usually do)
98
99         o I use lilo to boot multiple kernels, so that I at least
100           can have one working kernel :-). If you do too, append
101           these lines to /etc/lilo/config:
102
103                 image = /linux/zImage
104                 label = newlinux
105                 root = /dev/hda2 (or whatever YOU have...)
106
107           # /etc/lilo/install
108
109         o Do "sync" and reboot the new kernel with a D-Link
110           DE-600/DE-620 pocket adapter connected.
111
112         o The adapter can be configured with ifconfig eth?
113           where the actual number is decided by the kernel
114           when the drivers are initialized.
115
116
117         5. "PROBLEMS" AND TUNING,
118
119         o If you see error messages from the driver, and if the traffic
120           stops on the adapter, try to do "ifconfig" and "route" once
121           more, just as in "rc.inet1".  This should take care of most
122           problems, including effects from power loss, or adapters that
123           aren't connected to the printer port in some way or another.
124           You can somewhat change the behaviour by enabling/disabling
125           the macro  SHUTDOWN_WHEN_LOST  in the "tuning" section.
126           For the DE-600 there is another macro, CHECK_LOST_DE600,
127           that you might want to read about in the "tuning" section.
128
129         o Some machines have trouble handling the parallel port and
130           the adapter at high speed. If you experience problems:
131
132           DE-600:
133           - The adapter is not recognized at boot, i.e. an Ethernet
134             address of 00:80:c8:... is not shown, try to add another
135               "; SLOW_DOWN_IO"
136             at DE600_SLOW_DOWN in the "tuning" section. As a last resort,
137             uncomment: "#define REALLY_SLOW_IO" (see <asm/io.h> for hints).
138
139           - You experience "timeout" messages: first try to add another
140               "; SLOW_DOWN_IO"
141             at DE600_SLOW_DOWN in the "tuning" section, _then_ try to
142             increase the value (original value: 5) at
143             "if (tickssofar < 5)" near line 422.
144
145           DE-620:
146           - Your parallel port might be "sluggish".  To cater for
147             this, there are the macros LOWSPEED and READ_DELAY/WRITE_DELAY
148             in the "tuning" section. Your first step should be to enable
149             LOWSPEED, and after that you can "tune" the XXX_DELAY values.
150
151         o If the adapter _is_ recognized at boot but you get messages
152           about "Network Unreachable", then the problem is probably
153           _not_ with the driver.  Check your net configuration instead
154           (ifconfig and route) in "rc.inet1".
155
156         o There is some rudimentary support for debugging, look at
157           the source. Use "-DDE600_DEBUG=3" or "-DDE620_DEBUG=3"
158           when compiling, or include it in "linux/drivers/net/CONFIG".
159           IF YOU HAVE PROBLEMS YOU CAN'T SOLVE: PLEASE COMPILE THE DRIVER
160           WITH DEBUGGING ENABLED, AND SEND ME THE RESULTING OUTPUT!
161
162
163         6. USING THE DRIVERS WITH EARLIER RELEASES.
164
165         The later 1.1.X releases of the Linux kernel include some
166         changes in the networking layer (a.k.a. NET3). This affects
167         these drivers in a few places.  The hints that follow are
168         _not_ tested by me, since I don't have the disk space to keep
169         all releases on-line.
170         Known needed changes to date:
171         - release patchfile: some patches will fail, but they should
172           be easy to apply "by hand", since they are trivial.
173           (Space.c: d_link_init() is now called de600_probe())
174         - de600.c: change  "mark_bh(NET_BH)" to  "mark_bh(INET_BH)".
175         - de620.c: (maybe) change the code around "netif_rx(skb);" to be
176                    similar to the code around "dev_rint(...)" in de600.c
177
178
179         7. ACKNOWLEDGMENTS.
180
181         These drivers wouldn't have been done without the base
182         (and support) from Ross Biro <bir7@leland.stanford.edu>,
183         and D-Link Systems Inc.  The driver relies upon GPL-ed
184         source from D-Link Systems Inc. and from Russel Nelson at
185         Crynwr Software <nelson@crynwr.com>.
186
187         Additional input also from:
188         Donald Becker <becker@super.org>, Alan Cox <A.Cox@swansea.ac.uk>
189         and Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG>
190
191         DE-600 alpha release primary victim^H^H^H^H^H^Htester:
192         - Erik Proper <erikp@cs.kun.nl>.
193         Good input also from several users, most notably
194         - Mark Burton <markb@ordern.demon.co.uk>.
195
196         DE-620 alpha release victims^H^H^H^H^H^H^Htesters:
197         - J. Joshua Kopper <kopper@rtsg.mot.com>
198         - Olav Kvittem <Olav.Kvittem@uninett.no>
199         - Germano Caronni <caronni@nessie.cs.id.ethz.ch>
200         - Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>
201
202
203         Happy hacking!
204
205         Bjorn Ekwall == bj0rn@blox.se