NAME
sf
—
Adaptec AIC-6915 "Starfire"
PCI Fast Ethernet adapter driver
SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:
device miibus
device sf
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
if_sf_load="YES"
DEPRECATION NOTICE
The sf
driver is not present in
FreeBSD 13.0 and later. See
https://github.com/freebsd/fcp/blob/master/fcp-0101.md for more
information.
DESCRIPTION
The sf
driver provides support for Adaptec
Duralink Fast Ethernet adapters based on the Adaptec AIC-6915
"Starfire" chipset.
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.
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 sf
driver.
The sf
driver supports the following media
types:
- autoselect
- Enable autoselection of the media type and options. The user can manually override the autoselected mode by adding media options to the /etc/rc.conf file.
- 10baseT/UTP
- Set 10Mbps operation. The mediaopt option can also be used to select either full-duplex or half-duplex modes.
- 100baseTX
- Set 100Mbps (Fast Ethernet) operation. The mediaopt option can also be used to select either full-duplex or half-duplex modes.
The sf
driver supports the following media
options:
- full-duplex
- Force full duplex operation
- half-duplex
- Force half duplex operation.
For more information on configuring this device, see ifconfig(8).
HARDWARE
Adapters supported by the sf
driver
include:
- ANA-62011 64-bit single port 10/100baseTX adapter
- ANA-62022 64-bit dual port 10/100baseTX adapter
- ANA-62044 64-bit quad port 10/100baseTX adapter
- ANA-69011 32-bit single port 10/100baseTX adapter
- ANA-62020 64-bit single port 100baseFX adapter
SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and loader(8) tunables:
- dev.sf.%d.int_mod
- Maximum amount of time to delay interrupt processing in units of 102.4us. The accepted range is 0 to 31, the default value is 1 (102.4us). Value 0 completely disables the interrupt moderation. The interface does not need to be brought down and up again before a change takes effect.
- dev.sf.%d.stats
- Display lots of useful MAC counters maintained in the driver.
DIAGNOSTICS
- 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 in the BIOS should be set to "no" or "off" in order for PCI devices to work properly with FreeBSD.
- sf%d: couldn't map ports
- 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 in the BIOS should be set to "no" or "off" in order for PCI devices to work properly with FreeBSD.
- sf%d: couldn't map interrupt
- A fatal initialization error has occurred.
- sf%d: no memory for softc struct!
- The driver failed to allocate memory for per-device instance information during initialization.
- 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.
- sf%d: watchdog timeout
- The device has stopped responding to the network, or there is a problem with the network connection (cable).
SEE ALSO
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), vlan(4), ifconfig(8)
The Adaptec AIC-6915 Programmer's Manual, http://download.adaptec.com/pdfs/user_guides/aic6915_pg.pdf.
HISTORY
The sf
device driver first appeared in
FreeBSD 3.0.
AUTHORS
The sf
driver was written by
Bill Paul
<wpaul@ctr.columbia.edu>.