NGE(4)

NAME
nge - National Semiconductor PCI gigabit ethernet adapter driver

SYNOPSIS
device miibus
device nge

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

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

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 TCP/IP checksum offload and VLAN tagging/insertion as well as a 2048-bit multicast hash filter and up to 4 pattern match buffers.

Most cards also use the DP83861 10/100/1000 copper gigabit transceiver 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.

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/UTP
    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.

1000baseT
    Set 1000baseT 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 1000baseT cards:

link0
    With 1000baseT cards, establishing a link between two ports requires 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 master 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). The nge driver supports polling(4).

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 network, or there is a problem with the network connection (cable).

SEE ALSO
arp(4), ifmedia(4), miibus(4), netintro(4), ng_ether(4), polling(4), vlan(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 FreeBSD 4.4.

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