AE(4)
π AE(4) β the Attansic/Atheros L2 FastEthernet controller driver π
okay bestie, welcome to AE(4), a page from the Kernel Interfaces Manual β¨ this is the whole vibe on the ae driver β the lil guy who speaks to your Attansic/Atheros L2 FastEthernet controller. let's get into it π«Ά
πΈ NAME πΈ
ae β the Attansic/Atheros L2 FastEthernet controller driver. that's it, that's the name, periodt π
β¨ SYNOPSIS β¨
so if you wanna bake this driver into the kernel (main character energy, no modules), you drop these lines into your kernel configuration file:
device miibus
device ae
orrr, if you'd rather load it as a module at boot time (lowkey easier ngl), you put this line in loader.conf(5):
if_ae_load="YES"
not me giving you two whole paths to the same destiny π pick your fighter.
π¦ DESCRIPTION π¦
the ae device driver provides support for Attansic/Atheros L2 PCIe FastEthernet controllers. that's the whole job, and it does it well π
the controller itself is giving β¨capableβ¨ β it supports:
- hardware Ethernet checksum processing π₯
- hardware VLAN tag stripping/insertion π
- an interrupt moderation mechanism
- and Attansic L2 also features a 64-bit multicast hash filter, iconic fr fr
the media types it supports π
autoselectβ enable autoselection of the media type and options. and yes, you can manually override the autoselected mode by adding media options torc.conf(5). you're in charge, bestie π10baseT/UTPβ select 10Mbps operation.100baseTXβ set 100Mbps (FastEthernet) operation. the fast one, as advertised β
and the media options π
full-duplexβ force full duplex operation.half-duplexβ force half duplex operation.
want the whole lore on configuring this device? go see ifconfig(8). iykyk π
π» HARDWARE π»
the ae driver supports Attansic/Atheros L2 PCIe FastEthernet controllers, and is known to support the following hardware:
- ASUS EeePC 701
- ASUS EeePC 900
other hardware may or may not work with this driver. no promises, no cap π
β LOADER TUNABLES β
tunables can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5). your choice, both slay π«Ά
hw.ae.msi_disableβ this tunable disables MSI support on the Ethernet hardware. the default value is0.
π§ SYSCTL VARIABLES π§
the ae driver collects a number of useful MAC counter during the work π the statistics is available via the dev.ae.%d.stats sysctl(8) tree, where %d corresponds to the controller number.
so yeah, go peek at your counters. data is beautiful π
π DIAGNOSTICS π
the messages your kernel might yell at you, decoded:
ae%d: watchdog timeout.β the device has stopped responding to the network, or there is a problem with the network connection (cable).ae%d: reset timeout.β the card reset operation has been timed out.ae%d: Generating random ethernet address.β no valid Ethernet address was found in the controller NVRAM and registers. a random locally administered address with ASUS OUI identifier will be used instead.
that last one is the driver going "fine, i'll do it myself" π not ideal but it's handled.
π SEE ALSO π
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)
π HISTORY π
the ae driver and this manual page was written by Stanislav Sedov <stas@FreeBSD.org>. it first appeared in FreeBSD 7.1. a legend, honestly π
π BUGS π
okay so here's the tea, and it's a lil bit of a downer but we keep it real:
the Attansic L2 FastEthernet controller supports DMA but does not use a descriptor based transfer mechanism via scatter-gather DMA. so the data should be copied to/from the controller memory on each transmit/receive. furthermore, a lot of data alignment restrictions apply. this may introduce a high CPU load on systems with heavy network activity. π
luckily enough this should not be a problem on modern hardware as L2 does not support speeds faster than 100Mbps. so breathe, bestie π«Άβ¨
and that's the whole page, mwah π this one came from the Debian build of the manual, dated May 17, 2019 β shoutout to that timestamp for holding it down all this time π stay fast, stay Ethernet, and always read your diagnostics before you panic π¦
π¦ 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 Stanislav Sedov <stas@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms