691c152864
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.
162 lines
5.4 KiB
Groff
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 .
|