| This is version 0.32 | |
| CONTENTS: | |
| 1. Introduction. | |
| 2. License. | |
| 3. Files in this release. | |
| 4. Installation. | |
| 5. Problems and tuning. | |
| 6. Acknowledgments. | |
| 1. INTRODUCTION. | |
| This is an Ethernet driver for the D-Link DE-600 Ethernet pocket | |
| adapter for the parallel port, used with Linux on a laptop. | |
| Some improvements over the 0.2X releases include: | |
| o driver code trying to send packets end to end, | |
| o a more solid interrupt handler, | |
| o a fix that modifies the tcp protocol so that | |
| the DE-600 won't choke as easily on receives. | |
| This is a beta release, i.e. it ought to work! (:-) | |
| I have used this driver for NFS, ftp, telnet and X-clients on | |
| remote machines. Transmissions with ftp seems to work as | |
| good as can be expected (i.e. > 80k bytes/sec) from a | |
| parallel port...:-) | |
| The speed limit is now in the upper protocols, | |
| at least for a 386SX-25 :-) | |
| All comments/fixes to Bjorn Ekwall (bj0rn@blox.se). | |
| (No, I have _not_ included any support for the DE-620 yet | |
| since I have _no_ official documentation on how to program | |
| that beast. There are some code modifications in place | |
| already in case I get some _real_ info..., c'mon D-Link!) | |
| 2. LICENSE. | |
| This program is free software; you can redistribute it | |
| and/or modify it under the terms of the GNU General Public | |
| License as published by the Free Software Foundation; either | |
| version 2, or (at your option) any later version. | |
| This program is distributed in the hope that it will be | |
| useful, but WITHOUT ANY WARRANTY; without even the implied | |
| warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
| PURPOSE. See the GNU General Public License for more | |
| details. | |
| You should have received a copy of the GNU General Public | |
| License along with this program; if not, write to the Free | |
| Software Foundation, Inc., 675 Mass Ave, Cambridge, MA | |
| 02139, USA. | |
| 3. FILES IN THIS RELEASE. | |
| README.DLINK This file. | |
| d_link.c The Source (,may it be with You :-). | |
| 4. INSTALLATION. | |
| o Get the latest net binaries (those referring to /conf/net). | |
| o Read the NET-2 and Ethernet HOWTO's and modify your setup. | |
| o To include networking and the DE600 in your kernel, do: | |
| # cd /linux | |
| # make config (answer yes on net and DE600) | |
| # make clean | |
| # make depend | |
| # make zImage (or whatever magic you usually do) | |
| o I use lilo to boot multiple kernels, so that I at least | |
| can have one working kernel :-). If you do too, append | |
| these lines to /etc/lilo/config: | |
| image = /usr/src/linux/zImage | |
| label = newlinux | |
| root = /dev/hda2 (or whatever YOU have...) | |
| # /etc/lilo/install | |
| o Do "sync" and reboot the new kernel with a D-Link pocket | |
| adapter connected. | |
| Now, watch for any fireworks (try to ignore (or live with) | |
| the smoke... :-) or: | |
| do | |
| read NET-FAQ and all info in /conf/net | |
| if fix in code needed... | |
| vi /linux/net/inet/d_link.c | |
| cd /linux | |
| make zImage | |
| /etc/lilo/install | |
| sync | |
| reboot | |
| endif | |
| try it... | |
| until satisfied | |
| 5. "PROBLEMS" AND TUNING, | |
| o Some machines have trouble handling the parallel port and | |
| the adapter at high speed. If you experience problems: | |
| - The adapter is not recognized at boot, i.e. an Ethernet | |
| adress of 00:80:c8:... is not shown, try to add another | |
| "; SLOW_DOWN_IO" | |
| at D_LINK_SLOW_DOWN near line 43. As a last resort, uncomment: | |
| "#define REALLY_SLOW_IO" | |
| near line 48 (see <asm/io.h> for hints). | |
| - You experience "timeout" messages: first try to add | |
| another "; SLOW_DOWN_IO" at D_LINK_SLOW_DOWN near line 22, | |
| _then_ try to increase the value (original value: 5) | |
| at "if (tickssofar < 5)" near line 424. | |
| - The adapter _is_ recognized at boot but you get | |
| messages about "Network Unreachable": The problem | |
| is probably _not_ with the d_link driver. | |
| Check your net configuration instead (ifconfig and route) | |
| in "rc.inet1". | |
| o There might be some temporary "slowdowns" when communicating | |
| with other systems when receiving through the TCP layer. | |
| A "fix" for this is made lastly in the source, in the function | |
| "d_link_rspace()" that is used to modify TCP if there is | |
| a DE-600 in use (see comments around lines 320 and 730). | |
| The aim of this fix is to reduce the possibility of more | |
| than two packets arriving adressed to the adapter within | |
| the timespan it takes to copy one packet from the adapter. | |
| Transfers with ftp with a packetsize of >= 1k will be taken | |
| care of with this "fix", but telnet with many small packets | |
| might run into problems sometimes. The "slowdown" will usually | |
| take care of itself, especially if there are some larger packets | |
| arriving now and then... | |
| There is some room for "tuning" by changing (decreasing) the | |
| values for "D_LINK_MAX_WINDOW" and "D_LINK_MIN_WINDOW" | |
| defined near the end of the file (around line 726). | |
| UDP (i.e. NFS) does not suffer from the same problem. | |
| o The code inside d_link_interrupt() is somewhat of a | |
| (educated) guesswork since my only source of information | |
| is the asm-source (:-), though I have tried to improve on it. | |
| o There is some rudimentary support for debugging, see | |
| the source. Use "-DD_LINK_DEBUG=3" when compiling. | |
| 6. ACKNOWLEDGMENTS. | |
| This driver wouldn't have been done without the base | |
| (and support) from Ross Biro (bir7@leland.stanford.edu). | |
| The driver also relies upon GPL-ed source from D-Link Inc. | |
| and from Russel Nelson at Crynwr Software (nelson@crynwr.com). | |
| Additional input also from Donald Becker (becker@super.org). | |
| Alpha release primary victim^H^H^H^H^H^Htester: | |
| Erik Proper (erikp@cs.kun.nl). | |
| Good input also from several users, most notably Mark Burton | |
| <markb@ordern.demon.co.uk>. | |
| Lastly, Fred van Kempen deserves all thanks for keeping up | |
| the good work which will give us all a _great_ net package! | |
| Happy hacking! | |
| Bjorn Ekwall == bj0rn@blox.se |