ALE(4)
π ALE(4) β the Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver, bestie edition π
okay so. this is a page from the Kernel Interfaces Manual (section 4, we love a hardware driver section) and it's all about ale, the driver for Atheros's AR8121 / AR8113 / AR8114 Ethernet chips. yes it's giving network card. yes it's iconic. let's get into it π¦
β¨ NAME β¨
ale β the Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet driver. that's it that's the name, short and slay π
β¨ SYNOPSIS β¨
so you wanna get this driver into your kernel? bet. drop these lines into your kernel configuration file:
device miibus
device ale
or, if you're more of a module girlie and wanna load it at boot time instead, put this line in loader.conf(5):
if_ale_load="YES"
two paths, same destination, main character energy either way π
β¨ DESCRIPTION β¨
the ale device driver provides support for Atheros AR8121 PCI Express Gigabit Ethernet controllers and Atheros AR8113/AR8114 PCI Express Fast Ethernet controllers. periodt.
every single LOM that the ale driver supports comes with the full glow-up package, no cap:
- TCP/UDP/IP checksum offload for both receive and transmit
- TCP segmentation offload (TSO)
- hardware VLAN tag stripping/insertion
- Wake On Lan (WOL)
- an interrupt coalescing/moderation mechanism
- a 64-bit multicast hash filter
likeβ¦ the way it just has all of that. obsessed π
the AR8121 also supports Jumbo Frames (up to 8132 bytes), which you configure via the interface MTU setting. pick an MTU larger than 1500 bytes with the ifconfig(8) utility and the adapter is configured to receive and transmit Jumbo Frames. big packets, big vibes π
π¦ the media types it supports π¦
autoselectβ enables autoselection of the media type and options. you can manually override the autoselected mode by adding media options torc.conf(5)β yes bestie, you can take the wheel π10baseT/UTPβ sets 10Mbps operation. slow and steady, we respect it π100baseTXβ sets 100Mbps (Fast Ethernet) operation. the classic β¨1000baseTXβ sets1000baseTXoperation over twisted pair. full send π₯
π and the media options π
full-duplexβ forces full duplex operation.half-duplexβ forces half duplex operation.
for more info on configuring this device, go peek at ifconfig(8). it's the blueprint, fr fr π
β¨ HARDWARE β¨
the ale device driver provides support for the following Ethernet controllers:
- Atheros AR8113 PCI Express Fast Ethernet controller
- Atheros AR8114 PCI Express Fast Ethernet controller
- Atheros AR8121 PCI Express Gigabit Ethernet controller
three chips, all eating, no crumbs β
β¨ LOADER TUNABLES β¨
these tunables can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5). your choice, your moment πΈ
hw.ale.msi_disableβ this tunable disables MSI support on the Ethernet hardware. the default value is0.hw.ale.msix_disableβ this tunable disables MSI-X support on the Ethernet hardware. the default value is0.
β¨ SYSCTL VARIABLES β¨
the following variables are available as both sysctl(8) variables and loader(8) tunables. double duty, we love a versatile icon π
dev.ale.%d.int_rx_modβ maximum amount of time to delay receive interrupt processing, in units of1us. the accepted range is0to130000, the default is30(30us). a value of0completely disables the interrupt moderation.dev.ale.%d.int_tx_modβ maximum amount of time to delay transmit interrupt processing, in units of1us. the accepted range is0to130000, the default is1000(1ms). a value of0completely disables the interrupt moderation.dev.ale.%d.process_limitβ maximum amount of Rx frames to be processed in the event loop before rescheduling a taskqueue. the accepted range is32to255, the default value is128events. good news: the interface does not need to be brought down and up again before a change takes effect. lowkey convenient π«Ά
β¨ SEE ALSO β¨
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)
go read them, they're all part of the extended universe π
β¨ HISTORY β¨
the ale driver was written by Pyun YongHyeon <yongari@FreeBSD.org>. it first appeared in FreeBSD 7.1. shoutout to the author, certified legend π«‘π
ngl that's the whole page. no gatekeeping, every flag and number preserved, facts untouched, vibe fully upgraded. slay π
and that's a wrap, bestie π this was the Debian build of the page, dated November 12, 2008, and yep it's still filed under ALE(4) in section 4. love that for us. bye bye, go configure your NIC πΈπ¦β¨
π¦ 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) 2008 Pyun YongHyeon
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms