logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

fe — Fujitsu MB86960A/MB86965A based Ethernet adapters

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.

Debian                                          October 24, 2018                                           FE(4)

Deprecation Notice

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

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.

   FujitsuFMV-180seriesadapters
       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-TelesisAT1700seriesandRE2000seriesadapters
       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.

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

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)

History

       The fe driver appeared in FreeBSD 2.0.5.

Name

       fe — Fujitsu MB86960A/MB86965A based Ethernet adapters

See Also

netstat(1), ed(4), netintro(4), ng_ether(4), ifconfig(8)

Synopsis

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

             devicefe

       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"

See Also