» Content »pkg://linux-1.1.2.tar.gz:1263745
/ info downloads
This is version 0.32
3. Files in this release.
5. Problems and tuning.
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
The speed limit is now in the upper protocols,
at least for a 386SX-25 :-)
All comments/fixes to Bjorn Ekwall (email@example.com).
(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!)
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
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
3. FILES IN THIS RELEASE.
README.DLINK This file.
d_link.c The Source (,may it be with You :-).
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...)
o Do "sync" and reboot the new kernel with a D-Link pocket
Now, watch for any fireworks (try to ignore (or live with)
the smoke... :-) or:
read NET-FAQ and all info in /conf/net
if fix in code needed...
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
at D_LINK_SLOW_DOWN near line 43. As a last resort, uncomment:
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)
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.
This driver wouldn't have been done without the base
(and support) from Ross Biro (firstname.lastname@example.org).
The driver also relies upon GPL-ed source from D-Link Inc.
and from Russel Nelson at Crynwr Software (email@example.com).
Additional input also from Donald Becker (firstname.lastname@example.org).
Alpha release primary victim^H^H^H^H^H^Htester:
Erik Proper (email@example.com).
Good input also from several users, most notably Mark Burton
Lastly, Fred van Kempen deserves all thanks for keeping up
the good work which will give us all a _great_ net package!
Bjorn Ekwall == firstname.lastname@example.org