---
name: "if_nge"
section: "4"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/if_nge"
---

# if\_nge(4)

National Semiconductor PCI Gigabit Ethernet adapter driver

## NAME

**nge** – National Semiconductor PCI Gigabit Ethernet adapter driver

## SYNOPSIS

To compile support for the

**nge** driver into your kernel, place the following lines in your kernel configuration file:

**device miibus** **device nge**

Alternatively, to load the

**nge** driver at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
if_nge_load="YES"
```

## DESCRIPTION

The **nge** driver provides support for various NICs based on the National Semiconductor DP83820 and DP83821 Gigabit Ethernet controller chips.

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)](/ifconfig/8.md) 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)](/rc.conf/5.md).

- **10baseT/UTP**

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

- **100baseTX**

  Set 100Mbps (Fast Ethernet) operation. The [ifconfig(8)](/ifconfig/8.md) **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 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)](/ifconfig/8.md) will set a port as a master instead.

For more information on configuring this device, see [ifconfig(8)](/ifconfig/8.md).

## HARDWARE

The **nge** driver supports National Semiconductor DP83820 and DP83821 based Gigabit Ethernet adapters including:

- Addtron AEG320T

- Ark PC SOHO-GA2500T (32-bit PCI) and SOHO-GA2000T (64-bit PCI)

- Asante FriendlyNet GigaNIX 1000TA and 1000TPC

- D-Link DGE-500T

- LinkSys EG1032 (32-bit PCI) and EG1064 (64-bit PCI)

- Netgear GA621

- Netgear GA622T

- SMC EZ Card 1000 (SMC9462TX)

- Surecom Technology EP-320G-TX

- Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI)

## 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)](/arp/4.md), [miibus(4)](/miibus/4.md), [netintro(4)](/netintro/4.md), [ng\_ether(4)](/ng_ether/4.md), [polling(4)](/polling/4.md), [vlan(4)](/vlan/4.md), [ifconfig(8)](/ifconfig/8.md) *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⟩.
