Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!sadye.emba.uvm.edu!wollman From: Garrett.Wollman@UVM.EDU (Garrett Wollman) Newsgroups: comp.os.386bsd.announce Subject: Sixth Release, AT&T EN100/StarLAN 10 (i82586) Ethernet driver Followup-To: poster Date: 9 Jun 1993 18:44:04 -0700 Organization: University of Vermont, EMBA Computer Facility Lines: 173 Sender: cgd@agate.berkeley.edu Approved: 386bsd-announce-request@agate.berkeley.edu Message-ID: <1993Jun8.192840.27788@uvm.edu> NNTP-Posting-Host: agate.berkeley.edu Summary: tsornin.emba.uvm.edu: /386BSD/ie-driver.tar.Z The Sixth Release of my driver for the AT&T EN100 family of Ethernet controllers is now available. This driver is known to work with the EN100, and believed to work for StarLAN 10. It should be portable to other i82586-based controllers which operate on the same principles; see the README file. It is known to compile in my current version of 386BSD, and should work with minimal modifications in most other related systems. It is available by anonymous FTP from tsornin.emba.uvm.edu as /386BSD/ie-driver.tar.Z. (Chris, Rod, and Bill are all welcome to distribute this as a part of their systems, if they don't already.) Here is an excerpt from the NEWS file: ------------------------------------ Changes from the Fifth Release of this driver: - Thanks to Jeff Pych of AT&T, support for StarLAN 10 or 10BASE-T should now work. - The number of receive buffers has been increased by 50%, for improved receive performance. Large TCP windows *still* don't work. (If any of the '586 experts out there would like to enlighten me, I'd sure appreciate it. It has something to do with my misunderstanding of how to handle RNR conditions.) - There are now two transmit buffers for better performance when sending data. ------------------------------------ Here is the README file: ------------------------------------ README Sixth Release Intel i82586 Ethernet controller driver Copyright 1992-93, Garrett A. Wollman Copyright 1992-93, University of Vermont and State Agricultural College. See permission notice at end. INTRODUCTION This package consists of a driver for the Intel high-performance 8-/16-bit LAN controller, the i82586, implemented in a dual-ported memory mode such as the AT&T EN100. The mode in which it currently operates is known to be correct for a standard DIX version 2.0 Ethernet, but may not be correct for some other network systems, such as StarLAN. The only network hardware currently supported is the AT&T EN100 NAU, operating in Ethernet mode, but the software was designed to allow support for other controllers to be easily integrated; indeed, only three functions need to be written in order for other, similar cards to be supported. (Get the Crynwr Packet Driver system; if the driver for your card uses i82586.inc, then support for it can probably be implemented in this framework. Not all 586-based adapters use this method, so some cards will remain permanently out of the fold.) The package as it stands does not support trailers. I see no particularly good reason for it to do so, since no modern network hardware emits such ugly packets. Eventually, I will try to support Paul Tsuchiya's PIP in addition to IP, NS, and 802.2. INSTALLATION To install this driver, you will first need to add the line if_ie.c optional ie device-driver to your /sys/i386/conf/files.i386 file. Once this is done, you should add a configuration file entry similar to the one included in my configuration file, TSORNIN. You should also add the line: typedef void (*timeout_t) __P((caddr_t)); in /sys/sys/systm.h, if it's not already there. (This defines an appropriate type for the first argument of the timeout() function.) Then re-run `config', `make depend', and `make'. With luck, you will have a fully-functioning kernel with a network interface called `ie0'. (You should be able to configure more than one, but I've never tried this myself.) You can then add ifconfig ie0 inet my-address netmask my-netmask broadcast my-broadcast to your /etc/netstart, and away we go! PERFORMANCE Performance is not great. It is unclear to me (not having any basis for comparison) how much of this is the driver's fault, and how much is due to the fact that 8-bit cards on the AT bus are extremely slow. In my tests (on a 386/20), I can transmit at about 175 K/second (185 per CPU second), and receive at between 140 and 180 K/second (1200 to 1500 per CPU second). ACKNOWLEDGEMENTS This driver would not have been possible without the help of several individuals: - The authors of the Clarkson (now Crynwr) Packet Drivers - Terry Lambert from Novell - Mark Treacy from Labtam - Steve Ackerman for lending me a copy of his i82596 manual - Dr. Gary Barbour for not complaining about the amount of time I spent making this work right. - The United States Postal Service, for losing our order to Intel for a '586 manual. I would appreciate it if any new additions or extensions of this driver are communicated directly with me, rather than letting a mish-mash of different versions float about. CONTACTING THE AUTHOR You can contact me via electronic mail (preferred) as <Garrett.Wollman@UVM.EDU>. You can send paper mail to me at 127 Saint Paul Street #218, Burlington, VT 05401. COPYING Here are the conditions attached to this software: Copyright (c) 1992-93, University of Vermont and State Agricultural College. Copyright (c) 1992-93, Garrett A. Wollman. Portions: Copyright (c) 1990, 1991, William F. Jolitz Copyright (c) 1990, The Regents of the University of California All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of Vermont and State Agricultural College and Garrett A. Wollman, by William F. Jolitz, by the University of California, Berkeley, by Lawrence Berkeley Laboratory, and its contributors. 4. Neither the names of the Universities nor the names of the authors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- Garrett A. Wollman | Shashish is simple, it's discreet, it's brief. ... wollman@emba.uvm.edu | Shashish is the bonding of hearts in spite of distance. uvm-gen!wollman | It is a bond more powerful than absence. We like people UVM disagrees. | who like Shashish. - Claude McKenzie + Florent Vollant -- Please send submissions for comp.os.386bsd.announce to: 386bsd-announce@agate.berkeley.edu