FE(4)

NAME
fe - Fujitsu MB86960A/MB86965A based Ethernet adapters

SYNOPSIS
device fe0 at isa? port 0x300 net irq ? vector feintr

DESCRIPTION
The fe is a network device driver for Ethernet adapters based on Fujitsu MB86960A, MB86965A, or other compatible chips.

The driver provides automatic I/O port address configuration and automatic IRQ configuration, when used with suitable adapter hardware.

The driver works with program I/O data transfer technique. It gives a fair performance. Shared memory is never used, even if the adapter has one.

It currently works with Fujitsu FMV-180 series for ISA, Allied-Telesis AT1700 series and RE2000 series for ISA, and Fujitsu MBH10302 PC card.

  Parameters
On the kernel configuration file, two parameters, port and irq, must be specified to reflect adapter hardware settings. Another parameter flags can be specified to provide additional configuration as an option. Other parameters of the device statement must appear as described on the synopsis.

The port parameter specifies a base I/O port address of the adapter. It must match with the hardware setting of the adapter. The port may be a left unspecified as “”?. In that case, the driver tries to detect the hardware setting of the I/O address automatically. This feature may not work with some adapter hardware.

The irq parameter specifies an IRQ number used by the adapter. It must match the hardware setting of the adapter. Irq may be left unspecified as “”?; in that case, the driver tries to detect the hardware setting of the IRQ automatically. This feature may not work on some adapters.

The flags is a numeric value which consists of a combination of various device settings. The following flags are defined in the current version. To specify two or more settings for a device, use a numeric sum of each flag value. Flag bits not specified below are reserved and must be set to 0. Actually, each bit is either just ignored by the driver, or tested and used to control undocumented features of the driver. Consult the source program for undocumented features.

0x007F
    These flag bits are used to initialize DLCR6 register of MB86960A/MB86965A chip, when the 0x0080 bit of the flags is set. See below for more about DLCR6 override feature. The 0x007F flag bits must be 0 unless the 0x0080 bit is set, to maintain the compatibility with future versions of the driver.

0x0080
    This flag overrides the default setting to the DLCR6 register of MB86960A/MB86965A chip by a user supplied value, which is taken from the lower 7 bits of the flag value. This is a troubleshooting flag and should not be used without understanding of the adapter hardware. Consult the Fujitsu manual for more information on DLCR6 settings.

OPTIONS
The fe driver has some private options, which can be specified with an “option” statement in the kernel configuration file. The following lists the private options. The driver also accepts some other undocumented options, all of whose names start with a fixed prefix FE_. Consult the source program for undocumented options.

FE_DEBUG=level
    This option takes a numeric value level which controls the debugging level for the device and/or the driver. Setting the FE_DEBUG option to a value which is not listed here may cause undocumented behavior. The default setting of this option is 1.

    •   Setting FE_DEBUG=0 makes most of debugging codes, including sanity check, be excluded from the object code of the driver. It generates fastest and smallest object code. Some emergency messages are logged even under this setting, though.

    •   Setting FE_DEBUG=1 makes minimum debugging codes be included, setting the amount of logged messages minimum. Only fatal error messages are logged under this setting.

    •   Setting FE_DEBUG=2 makes standard debugging codes be included, setting the amount of logged messages middle. Messages on lair events and/or questionable conditions are logged under this setting.

    •   Setting FE_DEBUG=3 makes all debugging codes be included, and set the amount of legged messages maximum. Redundant messages such as those reporting usual actions or dumping register values are logged under this setting.

FEATURES SPECIFIC TO HARDWARE MODELS
The fe driver has some features and limitations which depend on adapter hardware models. The following is a summary of such dependency.

  Fujitsu FMV-180 series adapters
Both automatic IRQ detection and automatic I/O port address detection is available with these adapters.

Automatic I/O port address detection feature of fe works mostly fine for FMV-180 series. It works even if there are two or more FMV-180s in a system. However, some combination of other adapters may confuse the driver. It is recommended not to use port ? when you experience some difficulties with hardware probe.

Automatic IRQ detection feature of fe works reliably for FMV-180 series. It is recommended to use irq ? always for FMV-180. The hardware setting of IRQ is read from the configuration EEPROM on the adapter, even when the kernel config file specifies an IRQ value. The driver will generate a warning message, if the IRQ setting specified in the kernel config file does not match one stored in EEPROM. Then, it will use the value specified in the config file. (This behavior has been changed from the previous releases.)

  Allied-Telesis AT1700 series and RE2000 series adapters
Automatic I/O port address detection is available with Allied-Telesis AT1700 series and RE2000 series, while it is less reliable than FMV-180 series. Using the feature with Allied-Telesis adapters is not recommended.

Automatic IRQ detection is also available with some limitation. The fe driver tries to get IRQ setting from the configuration EEPROM on the board, if “irq”? is specified in the configuration file. Unfortunately, AT1700 series and RE2000 series seems to have two types of models; One type allows IRQ selection from 3/4/5/9, while the other from 10/11/12/15. Identification of the models are not well known. Hence, automatic IRQ detection with Allied-Telesis adapters may not be reliable. Specify an exact IRQ number if any troubles are encountered.

Differences between AT1700 series and RE2000 series or minor models in those series are not recognized.

  Fujitsu MBH10302 PC card
The fe driver supports Fujitsu MBH10302 and compatible PC cards. It requires the PC card (PCMCIA) support package.

SEE ALSO
netstat(1), crd(4), ed(4), netintro(4), ifconfig(8), pccardd(8)

BUGS
Following are major known bugs:

Statistics on the number of collisions maintained by the fe driver is not accurate; the option of netstat(1) shows slightly less value than true number of collisions.

More mbuf clusters are used than expected. The packet receive routine has an intended violation against the mbuf cluster allocation policy. The unnecessarily allocated clusters are freed within short lifetime, and it will not affect long term kernel memory usage.

Although XNS and IPX supports are included in the driver, they are never be tested and must have a lot of bugs.

AUTHOR, COPYRIGHT AND DISCLAIMER

The fe driver was originally written and contributed by M. Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>, following the ed driver written by David Greenman. PC card support in fe is written by Hidetoshi Kimura <h-kimura@tokyo.se.fujitsu.co.jp>. This manual page was written by M. Sekiguchi.

All Rights Reserved, Copyright (C) Fujitsu Limited 1995

This document and the associated software may be used, modified, copied, distributed, and sold, in both source and binary form provided that the above copyright, these terms and the following disclaimer are retained. The name of the author and/or the contributor may not be used to endorse or promote products derived from this document and the associated software without specific prior written permission.

THIS DOCUMENT AND THE ASSOCIATED SOFTWARE IS PROVIDED BY THE AUTHOR AND THE CONTRIBUTOR “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 THE AUTHOR OR THE CONTRIBUTOR 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 DOCUMENT AND THE ASSOCIATED SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

HISTORY
The fe driver appeared in FreeBSD 2.0.5.