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):
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).
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
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.
- 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).
The sf device driver first appeared in
FreeBSD 3.0.
The sf driver was written by
Bill Paul
⟨wpaul@ctr.columbia.edu⟩.