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 |