freebsd-nq/share/man/man4/sf.4
Bill Paul 691c152864 This commit adds device driver support for Adaptec Duralink PCI fast
ethernet controllers based on the AIC-6915 "Starfire" controller chip.
There are single port, dual port and quad port cards, plus one 100baseFX
card. All are 64-bit PCI devices, except one single port model.

The Starfire would be a very nice chip were it not for the fact that
receive buffers have to be longword aligned. This requires buffer
copying in order to achieve proper payload alignment on the alpha.
Payload alignment is enforced on both the alpha and x86 platforms.
The Starfire has several different DMA descriptor formats and transfer
mechanisms. This driver uses frame descriptors for transmission which
can address up to 14 packet fragments, and a single fragment descriptor
for receive. It also uses the producer/consumer model and completion
queues for both transmit and receive. The transmit ring has 128
descriptors and the receive ring has 256.

This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus
so that it can be compiled as a loadable kernel module. Support for BPF
and hardware multicast filtering is included.
1999-07-25 04:32:50 +00:00

162 lines
5.4 KiB
Groff

.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. 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 Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul 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 Bill Paul OR THE VOICES IN HIS HEAD
.\" 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 July 22, 1999
.Dt SF 4 i386
.Os FreeBSD
.Sh NAME
.Nm sf
.Nd
Adaptec AIC-6915 "Starfire" PCI fast ethernet adapter driver
.Sh SYNOPSIS
.Cd "device sf0"
.Sh DESCRIPTION
The
.Nm
driver provides support for Adaptec Duralink fast ethernet adapters
based on the Adaptec AIC-6915 "Starfire" chipset. This includes the
following:
.Bl -bullet -offset indent
.It
ANA-62011 64-bit single port 10/100baseTX adapter
.It
ANA-62022 64-bit dual port 10/100baseTX adapter
.It
ANA-62044 64-bit quad port 10/100baseTX adapter
.It
ANA-69011 32-bit single port 10/100baseTX adapter
.It
ANA-62020 64-bit single port 100baseFX adapter
.El
.Pp
The AIC-6915 is a bus master controller with an MII interface. It
supports high and low priority transmit and receive queues, TCP/IP
checksum offload, multiple DMA descriptor formats and both polling
and producer/consumer DMA models. The AIC-6915 receive filtering
options include a 16 entry perfect filter, a 512-bit hash table
for multicast addresses, a 512-bit hash table for priority address
matching and VLAN filtering. An external MII-compliant transceiver
is required for media interfacing.
.Pp
Multiport adapters consist of several AIC-6915 controllers connected
via a PCI to PCI bridge. Each controller is treated as a separate
interface by the
.Nm
driver.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "sf%d: couldn't map memory"
A fatal initialization error has occurred. This may
happen if the PCI BIOS not configured the device, which may be because
the BIOS has been configured for a "Plug and Play" operating system.
The "Plug and Play OS" setting int he BIOS should be set to "no" or
"off" in order for PCI devices to work properly with FreeBSD.
.It "sf%d: couldn't map ports"
A fatal initialization error has occurred.
happen if the PCI BIOS not configured the device, which may be because
the BIOS has been configured for a "Plug and Play" operating system.
The "Plug and Play OS" setting int he BIOS should be set to "no" or
"off" in order for PCI devices to work properly with FreeBSD.
.It "sf%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "sf%d: no memory for softc struct!"
The driver failed to allocate memory for per-device instance information
during initialization.
.It "sf%d: failed to enable I/O ports/memory mapping!"
The driver failed to initialize PCI I/O port or shared memory access.
This might happen if the card is not in a bus-master slot.
.It "sf%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8 ,
.Rs
.%T The Adaptec AIC-6915 programming manual
.%O http://www.adaptec.com
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHOR
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .