NGE(4)
β¨ NGE β National Semiconductor PCI Gigabit Ethernet adapter driver β¨
okay bestie, sit down, hydrate, and let me tell you about nge(4) β the kernel interface manual entry for the National Semiconductor PCI Gigabit Ethernet adapter driver. this is the whole vibe, no gatekeeping π
πΈ SYNOPSIS πΈ
so you wanna get this driver into your kernel? here's the tea. drop these lines into your kernel configuration file:
device miibus
device nge
or, if you'd rather load it as a module at boot time (main character energy, honestly), put this in loader.conf(5):
if_nge_load="YES"
periodt. that's the whole setup.
π¦ DESCRIPTION π¦
the nge driver is here to support a whole squad of NICs built on the National Semiconductor DP83820 and DP83821 Gigabit Ethernet controller chips. slay.
the DP83820 supports TBI (ten bit interface) and GMII transceivers, which literally means it can roll with either copper or 1000baseX fiber applications. she's versatile π . on top of that, the DP83820 supports TCP/IP checksum offload and VLAN tagging/insertion, plus a 2048-bit multicast hash filter and up to 4 pattern match buffers. yeah. she does all that.
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. flexible queen.
the DP83820 and DP83821 also support jumbo frames, which you can configure via the interface MTU setting. if you pick an MTU larger than 1500 bytes with the ifconfig(8) utility, you're configuring the adapter to receive and transmit jumbo frames. and ngl, jumbo frames can greatly improve performance for certain tasks β file transfers and data streaming, for example. obsessed.
π the media types she supports π
autoselectβ enable autoselection of the media type and options. you can manually override the autoselected mode by adding media options torc.conf(5). yes, you can be a lil control freak about it, that's allowed.10baseT/UTPβ set 10Mbps operation. theifconfig(8)mediaoptoption can also be used to select either full-duplex or half-duplex modes.100baseTXβ set 100Mbps (Fast Ethernet) operation. theifconfig(8)mediaoptoption 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 media options π
full-duplexβ force full duplex operation.half-duplexβ force half duplex operation.
for more info on configuring this device, go read ifconfig(8). iykyk.
π 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, revision 1
- 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)
look at that roster. she's got range π
β SYSCTL VARIABLES β
these variables are available as both sysctl(8) variables and loader(8) tunables:
dev.nge.%d.int_holdoff
maximum amount of time to delay interrupt processing, measured in units of 100us. the accepted range is 0 to 255, and the default is 1 (100us). value 0 completely disables the interrupt moderation. heads up though β the interface has to be brought down and up again before a change takes effect. no shortcuts, bestie π
π 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).
if you're seeing these, it's giving "sad girl hours". check your hardware, check your slot, check your cable. π
π«Ά SEE ALSO π«Ά
altq(4), arp(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. a legend from the jump π
π AUTHORS π
the nge driver was written by Bill Paul <wpaul@bsdi.com>. thank you king, we owe you everything π«Ά
and that's the whole page bestie!! this one came from Debian, dated November 23, 2010, and it's filed under NGE(4) in the Kernel Interfaces Manual. drink water, plug in your NIC, and go stream something. mwah π
β¨π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2001 Wind River Systems
- Copyright (c) 1997, 1998, 1999, 2000, 2001 Bill Paul <wpaul@bsdi.com>. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms