UATH(4)
π UATH(4) π
okay bestie, sit down, hydrate, because we're doing the uath(4) page from the Kernel Interfaces Manual and it's actually iconic. it's the manual for a wireless USB driver and yes i'm gonna make you care about it π¦
β¨ NAME β¨
uath β Atheros USB IEEE 802.11a/b/g wireless network device
no cap, that's the whole vibe: it's the driver for a lil USB wifi stick.
π SYNOPSIS π
so if you wanna bake this driver into the kernel, you drop these lines into your kernel configuration file, like, exactly these:
device ehci
device uhci
device ohci
device usb
device uath
device wlan
or, if you're feeling modular and wanna load it as a module at boot time instead, you put this single line in loader.conf(5):
if_uath_load="YES"
either way you're eating π
πΈ DESCRIPTION πΈ
so uath supports USB 2.0 wireless network devices built on Atheros Communications' fifth generation AR5005UG and AR5005UX chipsets. fifth gen. she's grown. π
let's break the chipsets down, because they're lowkey the whole plot:
- the AR5005UG chipset is made of an AR5523 multiprotocol MAC/baseband processor plus an AR2112 Radio-on-a-Chip that can operate between 2300 and 2500 MHz (802.11b/g).
- the AR5005UX chipset is made of an AR5523 multiprotocol MAC/baseband processor plus an AR5112 dual band Radio-on-a-Chip that can operate between 2300 and 2500 MHz (802.11b/g) or 4900 and 5850 MHz (802.11a). dual band, she contains multitudes β¨
and here's the fun part: the AR5005UG and AR5005UX chipsets both have an integrated 32-bit MIPS R4000-class processor that runs a firmware and manages, among other things, the automatic control of the transmit rate and the calibration of the radio. yes bestie, there's a whole tiny computer in there doing math for you π
uath supports station and monitor mode operation. and listen β only one virtual interface may be configured at any time. one. singular. don't be greedy π for more info on configuring this device, go see ifconfig(8).
π§ FIRMWARE π§
uath requires firmware that is downloaded to the device. she can't run on vibes alone, sadly.
this is normally done by the uathload(8) utility, which gets launched by devd(8) when the device is inserted. uathload includes the firmware in the binary program. and good news: this firmware is licensed for general use and is included in the base system. no sketchy downloads, we love a legal queen π«Ά
π HARDWARE π
the uath driver should work with the following adapters:
- Compex WLU108AG β AR5005UX
- Compex WLU108G β AR5005UG
- D-Link DWL-G132 β AR5005UG
- IODATA WN-G54/US β AR5005UG
- MELCO WLI-U2-KAMG54 β AR5005UX
- Netgear WG111T β AR5005UG
- Netgear WG111U β AR5005UX
- Netgear WPN111 β AR5005UG
- Olitec 000544 β AR5005UG
- PLANET WDL-U357 β AR5005UX
- Siemens Gigaset 108 β AR5005UG
- SMC SMCWUSBT-G β AR5005UG
- SMC SMCWUSBT-G2 β AR5005UG
- SparkLAN WL-785A β AR5005UX
- TP-Link TL-WN620G β AR5005UG
- TRENDware International TEW-444UB β AR5005UG
- TRENDware International TEW-504UB β AR5005UX
- Unex Technology UR054ag β AR5005UX
- ZyXEL XtremeMIMO M-202 β AR5005UX
an up to date list can be found at http://customerproducts.atheros.com/customerproducts/default.asp. (yes the manpage really is sending you to a URL. it's 2009 in spirit, let her live π)
π EXAMPLES π
this is the part you actually came for, bestie. copy-paste and slay.
join an existing BSS network (i.e., connect to an access point):
ifconfig wlan create wlandev uath0 inet 192.168.0.20 \
netmask 0xffffff00
join a specific BSS network with network name βmy_netβ:
ifconfig wlan create wlandev uath0 ssid my_net up
join a specific BSS network with 64-bit WEP encryption:
ifconfig wlan create wlandev uath0 ssid my_net \
wepmode on wepkey 0x1234567890 weptxkey 1 up
join a specific BSS network with 128-bit WEP encryption:
ifconfig wlan create wlandev uath0 wlanmode adhoc ssid my_net \
wepmode on wepkey 0x01020304050607080910111213 weptxkey 1
π¦ DIAGNOSTICS π¦
these are the messages she might hit you with. read them, know them, don't panic.
uath%d: could not send command (error=%s)β an attempt to send a command to the firmware failed. πuath%d: timeout waiting for command replyβ a read command was sent to the firmware but the firmware failed to reply in time. she ghosted you, fr fr.uath%d: device timeoutβ a frame dispatched to the hardware for transmission did not complete in time. the driver will reset the hardware. and per the original: this should not happen. so if you see it, that's a vibe check failure π
β SEE ALSO β
go read these too, iykyk:
netintro(4), usb(4), wlan(4), wlan_ccmp(4), wlan_tkip(4), wlan_wep(4), devd(8), ifconfig(8), uathload(8), wpa_supplicant(8)
π HISTORY π
the uath driver first appeared in OpenBSD 4.0. vintage, but make it fashion π
π AUTHORS π
the uath driver was written by Weongyo Jeong <weongyo@FreeBSD.org> and Sam Leffler <sam@FreeBSD.org>. it is distantly related to a driver written by Damien Bergamini <damien@openbsd.org>. family tree? complicated. respect all around π«Ά
π CAVEATS π
okay these are the important ones, don't skip:
Atheros proprietary 108 Mbps mode (aka Super AG mode) is not supported. she simply does not do that.
Dual-band adapters are presently not working; to workaround, restriction operation to 2.4GHz channels. not a drill, not a typo β that's the workaround.
and that's the whole page, bestie π this one's from the Debian edition of the manual, dated April 7, 2009. old money, timeless energy. go forth and configure your wifi πΈβ¨
π¦ 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) 2006 Damien Bergamini <damien.bergamini@free.fr>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms