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