URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [drivers/] [net/] [README.DLINK] - Rev 1765
Compare with Previous | Blame | View Log
Released 1994-06-13CONTENTS:1. Introduction.2. License.3. Files in this release.4. Installation.5. Problems and tuning.6. Using the drivers with earlier releases.7. Acknowledgments.1. INTRODUCTION.This is a set of Ethernet drivers for the D-Link DE-600/DE-620pocket adapters, for the parallel port on a Linux based machine.Some adapter "clones" will also work. Xircom is _not_ a clone...These drivers _can_ be used as loadable modules,and were developed for use on Linux v1.1.13 and above.For use on Linux v1.0.X, or earlier releases, see below.I have used these drivers for NFS, ftp, telnet and X-clients onremote machines. Transmissions with ftp seems to work asgood as can be expected (i.e. > 80k bytes/sec) from aparallel port...:-) Receive speeds will be about 60-80% of this.Depending on your machine, somewhat higher speeds can be achieved.All comments/fixes to Bjorn Ekwall (bj0rn@blox.se).2. LICENSE.This program is free software; you can redistribute itand/or modify it under the terms of the GNU General PublicLicense as published by the Free Software Foundation; eitherversion 2, or (at your option) any later version.This program is distributed in the hope that it will beuseful, but WITHOUT ANY WARRANTY; without even the impliedwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the GNU General Public License for moredetails.You should have received a copy of the GNU General PublicLicense along with this program; if not, write to the FreeSoftware Foundation, Inc., 675 Mass Ave, Cambridge, MA02139, USA.3. FILES IN THIS RELEASE.README.DLINK This file.de600.c The Source (,may it be with You :-) for the DE-600de620.c ditto for the DE-620de620.h Macros for de620.cIf you are upgrading from the d-link tar release, there willalso be a "dlink-patches" file that will patch Linux v1.1.18:linux/drivers/net/Makefilelinux/drivers/net/CONFIGlinux/drivers/net/MODULESlinux/drivers/net/Space.clinux/config.inApply the patch by:"cd /usr/src; patch -p0 < linux/drivers/net/dlink-patches"The old source, "linux/drivers/net/d_link.c", can be removed.4. INSTALLATION.o Get the latest net binaries, according to current net.wisdom.o Read the NET-2 and Ethernet HOWTO's and modify your setup.o If your parallel port has a strange address or irq,modify "linux/drivers/net/CONFIG" accordingly, or adjustthe parameters in the "tuning" section in the sources.If you are going to use the drivers a loadable modules, do _not_enable them while doing "make config", but instead make sure thatthe drivers are included in "linux/drivers/net/MODULES".If you are _not_ going to use the driver(s) as loadable modules,but instead have them included in the kernel, remember to enablethe drivers while doing "make config".o To include networking and DE600/DE620 support in your kernel:# cd /linux(as modules:)# make config (answer yes on CONFIG_NET and CONFIG_INET)(else included in the kernel:)# make config (answer yes on CONFIG _NET, _INET and _DE600 or _DE620)# make clean# make depend# make zImage (or whatever magic you usually do)o I use lilo to boot multiple kernels, so that I at leastcan have one working kernel :-). If you do too, appendthese lines to /etc/lilo/config:image = /linux/zImagelabel = newlinuxroot = /dev/hda2 (or whatever YOU have...)# /etc/lilo/installo Do "sync" and reboot the new kernel with a D-LinkDE-600/DE-620 pocket adapter connected.o The adapter can be configured with ifconfig eth?where the actual number is decided by the kernelwhen the drivers are initialized.5. "PROBLEMS" AND TUNING,o If you see error messages from the driver, and if the trafficstops on the adapter, try to do "ifconfig" and "route" oncemore, just as in "rc.inet1". This should take care of mostproblems, including effects from power loss, or adapters thataren't connected to the printer port in some way or another.You can somewhat change the behaviour by enabling/disablingthe macro SHUTDOWN_WHEN_LOST in the "tuning" section.For the DE-600 there is another macro, CHECK_LOST_DE600,that you might want to read about in the "tuning" section.o Some machines have trouble handling the parallel port andthe adapter at high speed. If you experience problems:DE-600:- The adapter is not recognized at boot, i.e. an Ethernetaddress of 00:80:c8:... is not shown, try to add another"; SLOW_DOWN_IO"at DE600_SLOW_DOWN in the "tuning" section. As a last resort,uncomment: "#define REALLY_SLOW_IO" (see <asm/io.h> for hints).- You experience "timeout" messages: first try to add another"; SLOW_DOWN_IO"at DE600_SLOW_DOWN in the "tuning" section, _then_ try toincrease the value (original value: 5) at"if (tickssofar < 5)" near line 422.DE-620:- Your parallel port might be "sluggish". To cater forthis, there are the macros LOWSPEED and READ_DELAY/WRITE_DELAYin the "tuning" section. Your first step should be to enableLOWSPEED, and after that you can "tune" the XXX_DELAY values.o If the adapter _is_ recognized at boot but you get messagesabout "Network Unreachable", then the problem is probably_not_ with the driver. Check your net configuration instead(ifconfig and route) in "rc.inet1".o There is some rudimentary support for debugging, look atthe source. Use "-DDE600_DEBUG=3" or "-DDE620_DEBUG=3"when compiling, or include it in "linux/drivers/net/CONFIG".IF YOU HAVE PROBLEMS YOU CAN'T SOLVE: PLEASE COMPILE THE DRIVERWITH DEBUGGING ENABLED, AND SEND ME THE RESULTING OUTPUT!6. USING THE DRIVERS WITH EARLIER RELEASES.The later v1.1.X releases of the Linux kernel include somechanges in the networking layer (a.k.a. NET3). This affectsthese drivers in a few places. The hints that follow are_not_ tested by me, since I don't have the diskspace to keepall releases on-line.Known needed changes to date:- release patchfile: some patches will fail, but they shouldbe easy to apply "by hand", since they are trivial.(Space.c: d_link_init() is now called de600_probe())- de600.c: change "mark_bh(NET_BH)" to "mark_bh(INET_BH)".- de620.c: (maybe) change the code around "netif_rx(skb);" to besimilar to the code around "dev_rint(...)" in de600.c7. ACKNOWLEDGMENTS.These drivers wouldn't have been done without the base(and support) from Ross Biro <bir7@leland.stanford.edu>,and D-Link Systems Inc. The driver relies upon GPL-edsource from D-Link Systems Inc. and from Russel Nelson atCrynwr Software <nelson@crynwr.com>.Additional input also from:Donald Becker <becker@super.org>, Alan Cox <A.Cox@swansea.ac.uk>and Fred N. van Kempen <waltje@uWalt.NL.Mugnet.ORG>DE-600 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>.DE-620 alpha release victims^H^H^H^H^H^H^Htesters:- J. Joshua Kopper <kopper@rtsg.mot.com>- Olav Kvittem <Olav.Kvittem@uninett.no>- Germano Caronni <caronni@nessie.cs.id.ethz.ch>- Jeremy Fitzhardinge <jeremy@suite.sw.oz.au>Happy hacking!Bjorn Ekwall == bj0rn@blox.se
