snd_uaudio —
USB audio and MIDI device
driver
device sound
device usb
device snd_uaudio
In
rc.conf(5):
kld_list="snd_uaudio"
In
sysctl.conf(5):
hw.usb.uaudio.buffer_ms
hw.usb.uaudio.default_bits
hw.usb.uaudio.default_channels
hw.usb.uaudio.default_rate
hw.usb.uaudio.handle_hid
hw.usb.uaudio.debug
A USB audio device consists of a number of components: input
terminals (e.g. USB digital input), output terminals (e.g. speakers), and a
number of units in between (e.g. volume control).
If the device supports multiple configurations, and there have
been no user-supplied values specified through the
sysctl(8) interface, the driver will select the best matching
configuration supported by the device during attach. "Best" means
the configuration with the most channels and highest quality in sample rate
and sample size.
Refer to the ‘USB Audio Class
Specification’ for more information.
The snd_uaudio driver provides support for
USB audio class devices and USB MIDI class devices.
The following settings can be entered at the
loader(8) prompt or in
loader.conf(5) and can also be changed at runtime with the
sysctl(8) command. For a change to take effect during
runtime, the device has to be re-attached.
- hw.usb.uaudio.buffer_ms
- Period of audio data processed at once, in milliseconds, from 1 to 8
(default is 4). Lower values mean less latency, but this can result in
audible gaps due to frequent CPU wakeups.
- hw.usb.uaudio.default_bits
- Preferred sample size in bits, from 0 to 32 (default is 0). A value of 0
sets the sample size to the maximum supported sample size.
Set this to select a smaller sample size if the device
supports multiple sample sizes.
- hw.usb.uaudio.default_channels
- Preferred number of sample channels, from 0 to 64 (default is 0). USB 1.1
devices are limited to 4 channels due to bandwidth constraints, unless a
higher value is explicitly requested. A value of 0 sets the sample
channels to the maximum supported channel number.
Set this to select a smaller channel number if the device
supports multiple channel configurations.
- hw.usb.uaudio.default_rate
- Preferred sample rate in Hz (default is 0). If set to 0, the device's
highest supported sample rate will be used.
Note that if VCHANs are enabled, the sample rate will be
overridden by dev.pcm.%d.[play|rec].vchanrate
(see
sound(4)), which can also be used to adjust the sample
rate during runtime.
If hw.usb.uaudio.default_rate is
non-zero, dev.pcm.%d.[play|rec].vchanrate will
use it as its maximum allowed value.
- hw.usb.uaudio.handle_hid
- Let
snd_uaudio handle HID volume keys, if any
(default is 1).
- 0
- Disabled.
- 1
- Enabled.
If
usb(4) has been compiled with USB_DEBUG
on, the following setting is also available:
- hw.usb.uaudio.debug
- Debug output level (default is 0).
The snd_uaudio driver first appeared in
FreeBSD 4.7.
This manual page was adopted from NetBSD
1.6 and modified for FreeBSD by
Hiten Pandya
<hmp@FreeBSD.org>.
The PCM framework in FreeBSD currently
does not support the full set of USB audio mixer controls. Some mixer
controls are only available as dev.pcm.%d.mixer
sysctls.