diff options
author | dg <dg@FreeBSD.org> | 1994-08-23 09:50:48 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1994-08-23 09:50:48 +0000 |
commit | 3288b01aa9e27684eab54a1613cc42284ef01593 (patch) | |
tree | 84e7508d48387930c5dfb3b2537e27371e154d0e /share | |
parent | 463fb272ff3883bd32c54473da32d5860ffba85e (diff) | |
download | FreeBSD-src-3288b01aa9e27684eab54a1613cc42284ef01593.zip FreeBSD-src-3288b01aa9e27684eab54a1613cc42284ef01593.tar.gz |
Added manual page for my ethernet driver - if_ed.c, and removed old
manual page for the com driver (which is no longer in our source tree).
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man4/ed.4 | 171 | ||||
-rw-r--r-- | share/man/man4/man4.i386/Makefile | 6 | ||||
-rw-r--r-- | share/man/man4/man4.i386/ed.4 | 171 |
3 files changed, 345 insertions, 3 deletions
diff --git a/share/man/man4/ed.4 b/share/man/man4/ed.4 new file mode 100644 index 0000000..f708ba0 --- /dev/null +++ b/share/man/man4/ed.4 @@ -0,0 +1,171 @@ +.\" +.\" Copyright (c) 1994, David Greenman +.\" 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 David Greenman. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR OR CONTRIBUTORS 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. +.\" +.\" $Id$ +.\" +.Dd August 22, 1994 +.Dt ED 4 i386 +.Os +.Sh NAME +.Nm ed +.Nd +high performance ethernet device driver +.Sh SYNOPSIS +.Cd "device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr" +.Cd "device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr" +.Cd "device ed2 at isa? port 0x320 net irq 10 flags 0x4 iosiz 16384 iomem 0xd8000 vector edintr" +.Sh DESCRIPTION +The +.Nm ed +driver provides support for 8 and 16bit ISA ethernet cards that are based on +the National Semiconductor DS8390 and similar NICs manufactured by other companies. +It supports all 80x3 series ISA ethernet cards manufatured by Western Digital and SMC, +the SMC Ultra, the 3Com 3c503, and the Novell NE1000/NE2000. +.Pp +The +.Nm +driver uses a unique multi-buffering mechanism to achieve high transmit performance. +When using 16bit ISA cards, as high as 97% of the theoretical maximum performance of +the IEEE 802.3 CSMA ethernet is possible. +.Pp +In addition to the standard port and irq specifications, the +.Nm +driver also supports a number of +.Nm flags +which can force 8/16 mode, enable/disable multi-buffering, and select the default +interface type (AUI/BNC, and for cards with twisted pair, AUI/10BaseT). +.Pp +The +.Nm flags +are a bit field, and are summerized as follows: +.Pp +.Bl -hang -offset indent +.It Em 0x01 +Disable tranceiver. On those cards which support it, this flag causes the tranceiver to +be disabled and the AUI connection to be used by default. +.It Em 0x02 +Force 8bit mode. This flag forces the card to 8bit mode regardless of how the +card identifies itself. This may be needed for some clones which incorrectly +identify themselves as 16bit, even though they only have an 8bit interface. +.It Em 0x04 +Force 16bit mode. This flag forces the card to 16bit mode regardless of how the +card identifies itself. This may be needed for some clones which incorrectly +identify themselves as 8bit, even though they have a 16bit ISA interface. +.It Em 0x08 +Disable transmitter multi-buffering. This flag disables the use of multiple +transmit buffers and may be necessary in rare cases where packets are sent out +faster than a machine on the other end can handle (as evidenced by severe packet +lossage). Some (non-FreeBSD :-)) machines have terrible ethernet performance +and simply can't cope with 1100K+ data rates. Use of this flag also provides +one more packet worth of receiver buffering, and on 8bit cards, this may help +reduce receiver lossage. +.El +.Pp +When using a 3c503 card, the AUI connection may be selected by specifying the +.Nm link1 +option to +.Nm ifconfig +(BNC is the default). +.Sh DIAGNOSTICS +.Bl -diag +.It "ed%d: kernel configured irq %d doesn't match board configured irq %d." +The irq number that was specified in the kernel config file (and then compiled +into the kernel) differs from the irq that has been set on the interface card. +.It "ed%d: failed to clear shared memory at %x - check configuration." +When the card was probed at system boot time, the +.Nm ed +driver found that it could not clear the card's shared memory. This is most commonly +caused by a BIOS extension ROM being configured in the same address space as the +ethernet card's shared memory. Either find the offending card and change its BIOS +ROM to be at an address that doesn't conflict, or change the +.Nm iomem +option in the kernel config file so that the card's shared memory is mapped at a +non-conflicting address. +.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503." +The irq number that was specified in the kernel config file is not valid for +the 3Com 3c503 card. The 3c503 can only be assigned to irqs 2 through 5. +.It "ed%d: Cannot find start of RAM." +.It "ed%d: Cannot find any RAM, start : %d, x = %d." +The probe of a Gateway card was unsuccessful in configuring the card's packet memory. +This likely indicates that the card was improperly recognized as a Gateway or that +the card is defective. +.It "ed: packets buffered, but transmitter idle." +Indicates a logic problem in the driver. Should never happen. +.It "ed%d: device timeout" +Indicates that an expected transmitter interrupt didn't occur. Usually caused by an +interrupt conflict with another card on the ISA bus. +.It "ed%d: NIC memory corrupt - invalid packet length %d." +Indicates that a packet was received with a packet length that was either larger than +the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard. Usually +caused by a conflict with another card on the ISA bus, but in some cases may also +indicate faulty cabling. +.It "ed%d: remote transmit DMA failed to complete." +This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card +has failed to properly complete. Usually caused by the ISA bus speed being set +too fast. +.El +.Sh CAVEATS +Early revision DS8390 chips have problems. They lock up whenever the receive +ring-buffer overflows. They occassionally switch the byte order +of the length field in the packet ring header (several different causes +of this related to an off-by-one byte alignment) - resulting in "NIC +memory corrupt - invalid packet length" messages. The card is reset +whenever these problems occur, but otherwise there is no problem with +recovering from these conditions. +.Pp +The NIC memory access to 3Com and Novell cards is much slower than it is on +WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second +on the 16bit cards. This can lead to ring-buffer overruns resulting in +dropped packets during heavy network traffic. +.Pp +16bit Compex cards identify themselves as being 8bit. While these cards will +work in 8bit mode, much higher performance can be acheived by specifying +.Nm flags 0x04 +(force 16bit mode) in your kernel config file. In addition, you should also specify +.Nm iosize 16384 +to take advantage of the extra 8k of shared memory that 16bit mode provides. +.Sh BUGS +The +.Nm ed +driver is a bit too aggressive about resetting the card whenever any bad +packets are received. As a result, it may throw out some good packets which +have been received but not yet transfered from the card to main memory. +.Sh SEE ALSO +.Xr arp 4 , +.Xr ifconfig 8 , +.Xr netintro 4 +.Sh HISTORY +The +.Nm ed +device driver first appeared in FreeBSD 1.0. +.Sh AUTHOR +The +.Nm +device driver and this manual page were written by David Greenman. diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile index 979c5c7..c07502a 100644 --- a/share/man/man4/man4.i386/Makefile +++ b/share/man/man4/man4.i386/Makefile @@ -1,9 +1,9 @@ # @(#)Makefile 0.1 (RWGrimes) 3/25/93 -MAN4= com.4 keyboard.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4 tw.4 +MAN4= ed.4 keyboard.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4 tw.4 -MLINKS= com.4 ../com.4 -MLINKS+= keyboard.4 ../keyboard.4 +MLINKS= ed.4 ../ed.4 +MLINKS+= keyboard.4 ../keyboard.4 MLINKS+= lpt.4 ../lpt.4 MLINKS+= mem.4 ../mem.4 MLINKS+= mem.4 ../kmem.4 diff --git a/share/man/man4/man4.i386/ed.4 b/share/man/man4/man4.i386/ed.4 new file mode 100644 index 0000000..f708ba0 --- /dev/null +++ b/share/man/man4/man4.i386/ed.4 @@ -0,0 +1,171 @@ +.\" +.\" Copyright (c) 1994, David Greenman +.\" 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 David Greenman. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR OR CONTRIBUTORS 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. +.\" +.\" $Id$ +.\" +.Dd August 22, 1994 +.Dt ED 4 i386 +.Os +.Sh NAME +.Nm ed +.Nd +high performance ethernet device driver +.Sh SYNOPSIS +.Cd "device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr" +.Cd "device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr" +.Cd "device ed2 at isa? port 0x320 net irq 10 flags 0x4 iosiz 16384 iomem 0xd8000 vector edintr" +.Sh DESCRIPTION +The +.Nm ed +driver provides support for 8 and 16bit ISA ethernet cards that are based on +the National Semiconductor DS8390 and similar NICs manufactured by other companies. +It supports all 80x3 series ISA ethernet cards manufatured by Western Digital and SMC, +the SMC Ultra, the 3Com 3c503, and the Novell NE1000/NE2000. +.Pp +The +.Nm +driver uses a unique multi-buffering mechanism to achieve high transmit performance. +When using 16bit ISA cards, as high as 97% of the theoretical maximum performance of +the IEEE 802.3 CSMA ethernet is possible. +.Pp +In addition to the standard port and irq specifications, the +.Nm +driver also supports a number of +.Nm flags +which can force 8/16 mode, enable/disable multi-buffering, and select the default +interface type (AUI/BNC, and for cards with twisted pair, AUI/10BaseT). +.Pp +The +.Nm flags +are a bit field, and are summerized as follows: +.Pp +.Bl -hang -offset indent +.It Em 0x01 +Disable tranceiver. On those cards which support it, this flag causes the tranceiver to +be disabled and the AUI connection to be used by default. +.It Em 0x02 +Force 8bit mode. This flag forces the card to 8bit mode regardless of how the +card identifies itself. This may be needed for some clones which incorrectly +identify themselves as 16bit, even though they only have an 8bit interface. +.It Em 0x04 +Force 16bit mode. This flag forces the card to 16bit mode regardless of how the +card identifies itself. This may be needed for some clones which incorrectly +identify themselves as 8bit, even though they have a 16bit ISA interface. +.It Em 0x08 +Disable transmitter multi-buffering. This flag disables the use of multiple +transmit buffers and may be necessary in rare cases where packets are sent out +faster than a machine on the other end can handle (as evidenced by severe packet +lossage). Some (non-FreeBSD :-)) machines have terrible ethernet performance +and simply can't cope with 1100K+ data rates. Use of this flag also provides +one more packet worth of receiver buffering, and on 8bit cards, this may help +reduce receiver lossage. +.El +.Pp +When using a 3c503 card, the AUI connection may be selected by specifying the +.Nm link1 +option to +.Nm ifconfig +(BNC is the default). +.Sh DIAGNOSTICS +.Bl -diag +.It "ed%d: kernel configured irq %d doesn't match board configured irq %d." +The irq number that was specified in the kernel config file (and then compiled +into the kernel) differs from the irq that has been set on the interface card. +.It "ed%d: failed to clear shared memory at %x - check configuration." +When the card was probed at system boot time, the +.Nm ed +driver found that it could not clear the card's shared memory. This is most commonly +caused by a BIOS extension ROM being configured in the same address space as the +ethernet card's shared memory. Either find the offending card and change its BIOS +ROM to be at an address that doesn't conflict, or change the +.Nm iomem +option in the kernel config file so that the card's shared memory is mapped at a +non-conflicting address. +.It "ed%d: Invalid irq configuration (%d) must be 2-5 for 3c503." +The irq number that was specified in the kernel config file is not valid for +the 3Com 3c503 card. The 3c503 can only be assigned to irqs 2 through 5. +.It "ed%d: Cannot find start of RAM." +.It "ed%d: Cannot find any RAM, start : %d, x = %d." +The probe of a Gateway card was unsuccessful in configuring the card's packet memory. +This likely indicates that the card was improperly recognized as a Gateway or that +the card is defective. +.It "ed: packets buffered, but transmitter idle." +Indicates a logic problem in the driver. Should never happen. +.It "ed%d: device timeout" +Indicates that an expected transmitter interrupt didn't occur. Usually caused by an +interrupt conflict with another card on the ISA bus. +.It "ed%d: NIC memory corrupt - invalid packet length %d." +Indicates that a packet was received with a packet length that was either larger than +the maximum size or smaller than the minimum size allowed by the IEEE 802.3 standard. Usually +caused by a conflict with another card on the ISA bus, but in some cases may also +indicate faulty cabling. +.It "ed%d: remote transmit DMA failed to complete." +This indicates that a programmed I/O transfer to an NE1000 or NE2000 style card +has failed to properly complete. Usually caused by the ISA bus speed being set +too fast. +.El +.Sh CAVEATS +Early revision DS8390 chips have problems. They lock up whenever the receive +ring-buffer overflows. They occassionally switch the byte order +of the length field in the packet ring header (several different causes +of this related to an off-by-one byte alignment) - resulting in "NIC +memory corrupt - invalid packet length" messages. The card is reset +whenever these problems occur, but otherwise there is no problem with +recovering from these conditions. +.Pp +The NIC memory access to 3Com and Novell cards is much slower than it is on +WD/SMC cards; it's less than 1MB/second on 8bit boards and less than 2MB/second +on the 16bit cards. This can lead to ring-buffer overruns resulting in +dropped packets during heavy network traffic. +.Pp +16bit Compex cards identify themselves as being 8bit. While these cards will +work in 8bit mode, much higher performance can be acheived by specifying +.Nm flags 0x04 +(force 16bit mode) in your kernel config file. In addition, you should also specify +.Nm iosize 16384 +to take advantage of the extra 8k of shared memory that 16bit mode provides. +.Sh BUGS +The +.Nm ed +driver is a bit too aggressive about resetting the card whenever any bad +packets are received. As a result, it may throw out some good packets which +have been received but not yet transfered from the card to main memory. +.Sh SEE ALSO +.Xr arp 4 , +.Xr ifconfig 8 , +.Xr netintro 4 +.Sh HISTORY +The +.Nm ed +device driver first appeared in FreeBSD 1.0. +.Sh AUTHOR +The +.Nm +device driver and this manual page were written by David Greenman. |