ATH_HAL(4)

πŸ’– ath_hal β€” the Atheros Hardware Access Layer (HAL), section 4 of the Kernel Interfaces Manual

okay bestie, pull up a chair because we're talking about ath_hal, the Atheros Hardware Access Layer, aka the HAL. it's a kernel interfaces manual page, it's iconic, and it's giving "wifi but make it vintage." let's go πŸ¦‹


✨ NAME ✨

ath_hal β€” the Atheros Hardware Access Layer (HAL). that's the whole name, no notes, periodt πŸ’…


🌸 SYNOPSIS 🌸

okay so there are literally two ways to set this up and you pick one, you don't do both, i'm serious.

route one, the "just give me everything" route:

device ath_hal
options AH_SUPPORT_AR5416

or, route two, the "i am a control freak and i respect that" route:

device ath_ar5210
device ath_ar5211
device ath_ar5212
device ath_rf2413
device ath_rf2417
device ath_rf2425
device ath_rf5111
device ath_rf5112
device ath_rf5413
device ath_ar5416
device ath_ar9130
device ath_ar9160
device ath_ar9280
device ath_ar9285
device ath_ar9287
device ath_ar9300
options AH_SUPPORT_AR5416

yes the second one is longer. yes you still need options AH_SUPPORT_AR5416 at the end. it's not a typo, it's the vibe check and the vibe passed πŸ”₯


πŸŽ€ DESCRIPTION πŸŽ€

so the hal provides hardware support for wireless network adapters based on the Atheros chips, and here is the full guest list: AR5210, AR5211, AR5212, AR5213, AR2413, AR2417, AR2425, AR5413, AR5416, AR5418, AR5424, AR9160, AR9220, AR9280, AR9285, AR9287, AR9380, AR9390, AR9580, AR9590, AR9562 and QCA9565 β€” plus their companion RF/baseband parts, because they never travel alone πŸ’«

this code is part of the ath(4) driver but it's configured separately, which is a whole choice but honestly slay β€” it means you get fine-grained control over exactly which set of chips you're supporting. main character energy.

selecting ath_hal enables support for all PCI and Cardbus devices. heads up though, and this is important so don't scroll past it: this includes AR5416, AR5418, AR9130, AR9160, AR9220, AR9280, AR9285 and AR9287 devices, and it must be accompanied by the AH_SUPPORT_AR5416 option to enable the extended hardware descriptor format used by AR5416 and later devices. no option, no descriptor, no wifi. that's the rule 🫢

some devices come in Cardbus/MiniPCI/PCI format. others β€” for example AR2413, AR2427, AR5418, AR9280, AR9285, AR9287 β€” come in PCIe, Mini-PCIe or ExpressCard format. so many little outfits, honestly adorable.

and now for the lore 🧚 historically this code has been released in a binary-only form and packaged as a separate module. but with the release of source code for the hal, that is no longer true, and the code is tightly integrated with the driver. glow up complete, we love to see it ✨


πŸ‘‘ HARDWARE πŸ‘‘

the following cards are among those supported by the ath_hal module β€” and bestie, the list is long, we're listing every single one, no skipping, i don't play like that:

  • Aztech WL830PC β€” chip AR5212, bus CardBus, standard b/g
  • D-Link DWL-A650 β€” chip AR5210, bus CardBus, standard a
  • D-Link DWL-AB650 β€” chip AR5211, bus CardBus, standard a/b
  • D-Link DWL-A520 β€” chip AR5210, bus PCI, standard a
  • D-Link DWL-AG520 β€” chip AR5212, bus PCI, standard a/b/g
  • D-Link DWL-AG650 β€” chip AR5212, bus CardBus, standard a/b/g
  • D-Link DWL-G520B β€” chip AR5212, bus PCI, standard b/g
  • D-Link DWL-G650B β€” chip AR5212, bus CardBus, standard b/g
  • Elecom LD-WL54AG β€” chip AR5212, bus Cardbus, standard a/b/g
  • Elecom LD-WL54 β€” chip AR5211, bus Cardbus, standard a
  • Fujitsu E5454 β€” chip AR5212, bus Cardbus, standard a/b/g
  • Fujitsu FMV-JW481 β€” chip AR5212, bus Cardbus, standard a/b/g
  • Fujitsu E5454 β€” chip AR5212, bus Cardbus, standard a/b/g
  • HP NC4000 β€” chip AR5212, bus PCI, standard a/b/g
  • I/O Data WN-AB β€” chip AR5212, bus CardBus, standard a/b
  • I/O Data WN-AG β€” chip AR5212, bus CardBus, standard a/b/g
  • I/O Data WN-A54 β€” chip AR5212, bus CardBus, standard a
  • Linksys WMP55AG β€” chip AR5212, bus PCI, standard a/b/g
  • Linksys WPC51AB β€” chip AR5211, bus CardBus, standard a/b
  • Linksys WPC55AG β€” chip AR5212, bus CardBus, standard a/b/g
  • NEC PA-WL/54AG β€” chip AR5212, bus CardBus, standard a/b/g
  • Netgear WAG311 β€” chip AR5212, bus PCI, standard a/b/g
  • Netgear WAB501 β€” chip AR5211, bus CardBus, standard a/b
  • Netgear WAG511 β€” chip AR5212, bus CardBus, standard a/b/g
  • Netgear WG311 (aka WG311v1) β€” chip AR5212, bus PCI, standard b/g
  • Netgear WG311v2 β€” chip AR5212, bus PCI, standard b/g
  • Netgear WG311T β€” chip AR5212, bus PCI, standard b/g
  • Netgear WG511T β€” chip AR5212, bus CardBus, standard b/g
  • Orinoco 8480 β€” chip AR5212, bus CardBus, standard a/b/g
  • Orinoco 8470WD β€” chip AR5212, bus CardBus, standard a/b/g
  • Proxim Skyline 4030 β€” chip AR5210, bus CardBus, standard a
  • Proxim Skyline 4032 β€” chip AR5210, bus PCI, standard a
  • Samsung SWL-5200N β€” chip AR5212, bus CardBus, standard a/b/g
  • SMC SMC2735W β€” chip AR5210, bus CardBus, standard a
  • Sony PCWA-C700 β€” chip AR5212, bus Cardbus, standard a/b
  • Sony PCWA-C300S β€” chip AR5212, bus Cardbus, standard b/g
  • Sony PCWA-C500 β€” chip AR5210, bus Cardbus, standard a
  • 3Com 3CRPAG175 β€” chip AR5212, bus CardBus, standard a/b/g
  • TP-LINK TL-WDN4800 β€” chip AR9380, bus PCIe, standard a/b/g/n
and yeah, Fujitsu E5454 shows up twice in the list. that's not me being messy, that's the source. i keep every detail, even the twins πŸ’€

🌈 SEE ALSO 🌈

  • ath(4) β€” go read it, it's the bestie page πŸ’œ

⭐ HISTORY ⭐

the ath_hal module first appeared in FreeBSD 5.2. ancient. legendary. still here. iykyk ✨


πŸ’€ BUGS πŸ’€

see ath(4) for known bugs. that's it, that's the whole section, the bugs are living over there, not here πŸ™ˆ


and that's the page!! this one was written on July 22, 2013, and it comes to you from Debian β€” ath_hal(4), section 4, Kernel Interfaces Manual. thanks for reading bestie, go configure your wireless adapter, you're gonna do great πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from