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 |