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