Reference

snd_uaudio(4)

USB audio and MIDI device driver

NAME

snd_uaudio – USB audio and MIDI device driver

SYNOPSIS

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

DESCRIPTION

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.

HARDWARE

The snd_uaudio driver provides support for USB audio class devices and USB MIDI class devices.

SYSCTL VARIABLES

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).

SEE ALSO

sound(4), usb(4), loader.conf(5), loader(8), sysctl(8) USB Audio Class Specifications, http://www.usb.org/developers/docs/devclass_docs/.

HISTORY

The snd_uaudio driver first appeared in FreeBSD 4.7.

AUTHORS

This manual page was adopted from NetBSD 1.6 and modified for FreeBSD by Hiten Pandya ⟨[email protected]⟩.

BUGS

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.

History