FE(4)

NAME
fe - Fujitsu MB86960A/MB86965A based Ethernet adapters

SYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:

device fe

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    if_fe_load="YES"

In /boot/device.hints:
hint.fe.0.at="isa"
hint.fe.0.port="0x300"
hint.fe.0.flags="0x0"

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
In the /boot/device.hints 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.

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 left unspecified by removing
    hint.fe.0.port="..."
from the file. 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 by removing
    hint.fe.0.irq="..."
from the file. 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.

HARDWARE
Controllers and cards supported by the fe driver include:

•   Allied Telesis RE1000, RE1000Plus, ME1500 (110-pin)
•   CONTEC C-NET(98)P2, C-NET (9N)E (110-pin), C-NET(9N)C (ExtCard)
•   CONTEC C-NET(PC)C PC Card Ethernet
•   Eagle Tech NE200T
•   Eiger Labs EPX-10BT
•   Fujitsu FMV-J182, FMV-J182A
•   Fujitsu MB86960A, MB86965A
•   Fujitsu MBH10303, MBH10302 PC Card Ethernet
•   Fujitsu Towa LA501 Ethernet
•   HITACHI HT-4840-11 PC Card Ethernet
•   NextCom J Link NC5310
•   RATOC REX-5588, REX-9822, REX-4886, and REX-R280
•   RATOC REX-9880/9881/9882/9883
•   TDK LAC-98012, LAC-98013, LAC-98025, LAC-9N011 (110-pin)
•   TDK LAK-CD011, LAK-CD021, LAK-CD021A, LAK-CD021BX
•   Ungermann-Bass Access/PC N98C+(PC85152, PC85142), Access/NOTE N98(PC86132) (110-pin)

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

  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 to explicitly specify 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 explicitly specify 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 /boot/device.hints does not match one stored in EEPROM. Then, it will use the value specified in the 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 not specified in /boot/device.hints. 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), ed(4), netintro(4), ng_ether(4), ifconfig(8)

HISTORY
The fe driver appeared in FreeBSD 2.0.5.

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

BUGS
Following are major known bugs:

Statistics on the number of collisions maintained by the fe driver is not accurate; the -i 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 support is included in the driver, it has never been tested and it is expected to have a lot of bugs.