NGE(4)                    OpenBSD Programmer's Manual                   NGE(4)

NAME
     nge - National Semiconductor PCI gigabit ethernet adapter driver

SYNOPSIS
     nge* at pci? dev ? function ?

DESCRIPTION
     The nge driver provides support for various NICs based on the National
     Semiconductor DP83820 and DP83821 gigabit ethernet controller chips, in-
     cluding the following:

     o   Addtron AEG320T
     o   Asante FriendlyNet GigaNIX 1000TA and 1000TPC
     o   D-Link DGE-500T
     o   LinkSys EG1032 (32-bit PCI) and EG1064 (64-bit PCI)
     o   Netgear GA622T
     o   SMC EZ Card 1000 (SMC9462TX)
     o   Surecom Technology EP-320G-TX

     All of these NICs are capable of 10, 100 and 1000mbps speeds over CAT5
     copper cable.  The DP83820 supports TBI (ten bit interface) and GMII
     transceivers, which means it can be used with either copper or 1000baseX
     fiber applications.  The DP83820 supports ip(4), tcp(4), and udp(4)
     checksum offload and VLAN tagging/insertion as well as a 2048-bit multi-
     cast hash filter and up to 4 pattern match buffers.

     Most cards also use the DP83861 10/100/1000 copper gigabit tranceiver
     chip, which supports autonegotiation of 10, 100 and 1000mbps modes in
     full or half duplex.

     The DP83820 also supports jumbo frames, which can be configured via the
     interface MTU setting.  Selecting an MTU larger than 1500 bytes with the
     ifconfig(8) utility configures the adapter to receive and transmit jumbo
     frames.  Using jumbo frames can greatly improve performance for certain
     tasks, such as file transfers and data streaming.  If the MTU is set to
     be larger than the NIC's transmit buffer (typically 8152 bytes), hardware
     output checksumming is disabled as the NIC cannot handle this case.

     The nge 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 rc.conf(5).

     10baseT     Set 10Mbps operation.  The ifconfig(8) mediaopt option can
                 also be used to select either full-duplex or half-duplex
                 modes.

     100baseTX   Set 100Mbps (fast ethernet) operation.  The ifconfig(8)
                 mediaopt option can also be used to select either full-duplex
                 or half-duplex modes.

     1000baseTX  Set 1000baseTX operation over twisted pair.  full-duplex and
                 half-duplex modes are supported.

     1000baseSX  Set 1000Mbps (gigabit ethernet) operation.  Both full-duplex
                 and half-duplex modes are supported.

     The nge driver supports the following media options:

     full-duplex  Force full duplex operation.

     half-duplex  Force half duplex operation.

     The nge driver also supports one special link option for 1000baseTX
     cards:

     link0  With 1000baseTX cards, establishing a link between two ports re-
            quires that one port be configured as a master and the other a
            slave.  With autonegotiation, the master/slave settings will be
            chosen automatically.  However when manually selecting the link
            state, it is necessary to force one side of the link to be a mas-
            ter and the other a slave.  The nge driver configures the ports as
            slaves by default.  Setting the link0 flag with ifconfig(8) will
            set a port as a master instead.

     For more information on configuring this device, see ifconfig(8).

DIAGNOSTICS
     nge%d: couldn't map memory  A fatal initialization error has occurred.

     nge%d: couldn't map ports  A fatal initialization error has occurred.

     nge%d: couldn't map interrupt  A fatal initialization error has occurred.

     nge%d: no memory for softc struct!  The driver failed to allocate memory
     for per-device instance information during initialization.

     nge%d: failed to enable memory mapping!  The driver failed to initialize
     PCI shared memory mapping.  This might happen if the card is not in a
     bus-master slot.

     nge%d: no memory for jumbo buffers!  The driver failed to allocate memory
     for jumbo frames during initialization.

     nge%d: watchdog timeout  The device has stopped responding to the net-
     work, or there is a problem with the network connection (cable).

SEE ALSO
     arp(4), netintro(4), ifconfig(8)

     National Semiconductor DP83820 datasheet, http://www.national.com.

     National Semiconductor DP83861 datasheet, http://www.national.com.

HISTORY
     The nge device driver first appeared in OpenBSD 3.0.

AUTHORS
     The nge driver was written by Bill Paul <wpaul@bsdi.com>.

OpenBSD 3.0                      May 11, 2001                                2
