Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jul 1999 00:26:53 -0400 (EDT)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        hackers@freebsd.org, hardware@freebsd.org
Subject:   Call for testers: Adaptec AIC-6915 fast ethernet driver
Message-ID:  <199907210426.AAA29810@skynet.ctr.columbia.edu>

next in thread | raw e-mail | index | archive | help
A driver for FreeBSD 3.x and 4.0-current is now available for testing
for fast ethernet adapters based on the Adaptec AIC-6915 "Starfire"
ethernet controller. This includes the following Adaptec "Duralink" models:

- ANA-62011 single port 64-bit adapter
- ANA-62022 dual port 64-bit adapter
- ANA-62044 quad port 64-bit adapter
- ANA-69011 single port 32-bit adapter
- ANA-62020 single port 100baseFX

These are Adaptec's replacements for its older DEC 21x4x-based multiport
line of adapters. All cards support 10/100 speeds in full or half duplex. 
The multiport cards consist of multiple AIC-6915 chips linkec via a PCI 
to PCI bridge. Currently I have only tested the ANA-62022 dual port card, 
however all of them should work equally well. The 64-bit cards will work 
in a 32-bit slot on most newer machines.

The Starfire supports a great many features including a 16-entry
perfect RX filter, a 512-bit multicast hash table filter, a 512-bit
high priority hash table, VLAN filtering, multiple RX and TX queues,
and several different descriptor formats. There is also a programmable
frame processor, however I haven't figured out how to use it. The
FreeBSD driver uses a frame-based transmit descriptor (up to 14 packet
fragments in one descriptor) and the producer/consumer queueing model
with TX and RX completion descriptor queues. The perfect filter and
hash filter are used for hardware multicast filtering. Support for
BPF mode and promiscuous mode is also provided. The Starfire also
supports TCP/IP checksum offload, however this is not yet implemented
in this driver. The receive ring is programmed to have 256 descriptors.
The transmit ring uses 128. This should be plenty for most server-based
applications.

Unfortunately, in spite of all the features in the Starfire, the
chip requires receive buffers to be longword aligned, which means
that received packets have to be copied in order to achieve proper
payload alignemnt (which is handy on the x86 and required on the alpha).
You'd think if they could go to the trouble of designing in special
descriptor formats for MS-DOS and OS/2, they could handle DMAing to
unaligned addresses. Oh well.

This driver should work on both FreeBSD/i386 and FreeBSD/alpha.

To add the driver to an existing FreeBSD 3.x system, do the following:

- Download if_sf.c and if_sfreg.h from 
  http://www.freebsd.org/~wpaul/Adaptec/3.0 and put them in /sys/pci.
- Edit /sys/conf/files and add a line that says:
pci/if_sf.c		optional sf device-driver
- Edit your kernel config file (e.g. /sys/i386/conf) and add a line
  that says:
device sf0
- Config and compile a new kernel and boot it.

To add the driver to an existing FreeBSD 4.0-current system, do
one the following:

- Download if_sf.c and if_sfreg.h from 
  http://www.freebsd.org/~wpaul/Adaptec/4.0 and put them in /sys/pci.
- Edit /sys/conf/files and add a line that says:
pci/if_sf.c		optional sf
- Edit your kernel config file (e.g. /sys/i386/conf) and add a line
  that says:
device sf0
- Config and compile a new kernel and boot it.

Alternatively, if you have FreeBSD 4.0-current running on the x86
platform and don't want to recompile your kernel, you can try the
following:

- Download sf.ko from http://www.freebsd.org/~wpaul/Adaptec/4.0
  and put it in /modules.
- Edit /boot/defaults/loader.conf and add a line to the device driver
  modules section that says:
sf_load="YES"				# Adaptec PCI ethernet
- Reboot

The sf.ko module is compiled without BPF support. A Makefile is
provided in the 4.0 directory which should allow you to recompile
the module on both the x86 and alpha platforms.

As usual, if you have any problems, please report them to
wpaul@skynet.ctr.columbia.edu. Remember to provide lots of
detailed information. Vote early and vote often. The sooner
people bang on this a little, the sooner it will go into the
tree. No user-servicable parts inside. Offer void where prohibited
by law. Operators are standing by.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907210426.AAA29810>