SF(4)

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>.