SND_UAUDIO(4)
π SND_UAUDIO(4) π
okay bestie, gather round, because we're talking about snd_uaudio from the Kernel Interfaces Manual β literally the driver that makes your USB headphones, your podcast mic, your lil MIDI keyboard situation all just work. no cap. π§β¨
β¨ NAME β¨
snd_uaudio β USB audio and MIDI device driver π
like. that's it. that's the whole vibe. USB audio AND MIDI. iconic.
πΈ SYNOPSIS πΈ
okay so there's two ways to get this baby into your life, and you gotta pick one. no wrong answers, just different eras. π
Way #1 β bake it into the kernel. drop these lines into your kernel configuration file, bestie:
device sound
device usb
device snd_uaudio
Way #2 β load it as a module at boot time. so much more chill, honestly. put this line in loader.conf(5):
snd_uaudio_load="YES"
slay. that's it. π«Ά
π¦ DESCRIPTION π¦
the snd_uaudio driver provides support for USB audio class devices and USB MIDI class devices. fr fr. it's giving "one driver, two whole personalities."
so a USB audio device isn't just one blob β it's actually a lil friend group of components:
- input terminals (e.g. USB digital input) β the ones bringing the sound in
- output terminals (e.g. speakers) β the ones sending the sound out
- a number of units in between (e.g. volume control) β the middle children doing the actual work
if you want the full lore, go read the βUSB Audio Class Specificationβ. iykyk. π
π₯ SEE ALSO π₯
sound(4)usb(4)- USB Audio Class Specifications,
http://www.usb.org/developers/docs/devclass_docs/.
π HISTORY π
the snd_uaudio driver first appeared in FreeBSD 4.7. a true OG. we stan a legend. β
π AUTHORS π
This manual page was adopted from NetBSD 1.6 and modified for FreeBSD by Hiten Pandya <hmp@FreeBSD.org>. π«‘ giving credit where credit is due, always.
π BUGS π
okay so. the not-so-cute part. but we gotta talk about it, bestie. π
The PCM framework in FreeBSD only supports synchronous device detach. That means all mixer and DSP character devices belonging to a given USB audio device must be closed when receiving an error on a DSP read, a DSP write or a DSP IOCTL request. Else the USB audio driver will wait for this to happen, preventing enumeration of new devices on the parenting USB controller.
translation: close your stuff when it errors out or everything downstream is stuck waiting. it's giving hostage situation. π
Some USB audio devices might refuse to work properly unless the sample rate is configured the same for both recording and playback, even if only simplex is used. See the dev.pcm.%d.[play|rec].vchanrate sysctls. annoying? yes. fixable? also yes. β¨
The PCM framework in FreeBSD currently doesn't support the full set of USB audio mixer controls. Some mixer controls are only available as dev.pcm.%d.mixer sysctls. so if you can't find a knob in the GUI, it's probably hiding in a sysctl. go look. π
π k bye π
that's the whole page, babes. this one came to you from Debian, November 12, 2016 β and honestly? it still eats. ππΈβ¨
now go plug something in and vibe check it. π¦
π¦ 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) 1999 The NetBSD Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms