NGE(4)
π nge(4) β National Semiconductor PCI Gigabit Ethernet adapter driver π
okay so bestie, this is literally the manual page for the National Semiconductor PCI Gigabit Ethernet adapter driver, and it's giving main character energy. let's get into it, no cap.
β¨ SYNOPSIS β¨
to compile this driver into the kernel, bestie, you gotta place the following lines in your kernel configuration file, periodt:
device miibus
device nge
or, lowkey, to load the driver as a module at boot time, just drop this line in loader.conf(5), fr fr:
if_nge_load="YES"
π¦ DESCRIPTION π¦
okay so the nge driver is literally the support system for various NICs based on the National Semiconductor DP83820 and DP83821 Gigabit Ethernet controller chips, and it's iconic. the DP83820 supports TBI (ten bit interface) and GMII transceivers, which means it can be used with either copper or 1000baseX fiber applicationsβthe way that works is so slay. the DP83820 also supports TCP/IP checksum offload and VLAN tagging/insertion, plus a 2048-bit multicast hash filter and up to 4 pattern match buffers, ngl that's a lot of power. 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, obsessed.
the DP83820 and DP83821 also support 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βand using jumbo frames can greatly improve performance for certain tasks, such as file transfers and data streaming, fr fr. no cap, that's a vibe.
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). it's giving flexibility, bestie.10baseT/UTPβ set 10Mbps operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes. lowkey old school but still cute.100baseTXβ set 100Mbps (Fast Ethernet) operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes. fast and furious, no cap.1000baseTXβ set 1000baseTX operation over twisted pair. full-duplex and half-duplex modes are supported. highkey speed demon.1000baseSXβ set 1000Mbps (Gigabit Ethernet) operation. Both full-duplex and half-duplex modes are supported. gigabit queen.
the nge driver supports the following media options:
full-duplexβ force full duplex operation. periodt.half-duplexβ force half duplex operation. also valid.
for more information on configuring this device, see ifconfig(8), bestie.
πΈ 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)
these are all iconic in their own way, iykyk. π
π SYSCTL VARIABLES π
the following 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 in units of 100us. The accepted range is 0 to 255, the default is 1(100us). Value 0 completely disables the interrupt moderation. The interface has to be brought down and up again before a change takes effect. so like, if you change it, you gotta bounce the interface, bestie. no cap.
π DIAGNOSTICS π
these are the error messages you might see, and they're lowkey dramatic but useful. pay attention, fr fr.
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. not me crying.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. check your slot, bestie.nge%d: no memory for jumbo buffers!β the driver failed to allocate memory for jumbo frames during initialization. jumbo sad.nge%d: watchdog timeoutβ the device has stopped responding to the network, or there is a problem with the network connection (cable). check your cable, fr fr.
π SEE ALSO π
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), vlan(4), ifconfig(8)
National Semiconductor DP83820 datasheet.
National Semiconductor DP83861 datasheet.
π« HISTORY π«
The nge device driver first appeared in FreeBSD 4.4. and it's been slaying ever since. β¨
π AUTHORS π
The nge driver was written by Bill Paul <wpaul@bsdi.com>. iconic.
Debian, November 23, 2010 β bye bestie, go configure some interfaces! π β¨
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- 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-1017 on : a language model's rewrite of the original, under its terms