usb_ac - USB audio control driver
sound-control@unit-address
The usb_ac driver is a USBA (Solaris USB Architecture) compliant client driver that supports the USB Audio Class 1.0 specification.
The audio control driver is a USB class driver and offers functionality similar to the audiocs (sun4u) and audiots (Sun Blade 100) drivers which use the Solaris audio mixer framework (mixer(7I)). Unlike the audiocs and audiots drivers, the USB audio device may have play-only or record-only capability.
Drivers corresponding to other USB audio interfaces on the device, including the usb_as(7D) audio streaming driver or the hid(7D) driver, are plumbed under the USB audio control driver and do not directly interface with user applications.
The usb_ac driver supports USB audio class compliant devices with a feature unit. For a list of recommended devices, visit: www.sun.com/io.
This interface is described in the mixer(7I) and audio(7I) man pages.
Applications that open /dev/audio may use the AUDIO_GETDEV ioctl() to determine which audio device is being used. The USB audio driver returns the string "USB Audio" in the name field of the audio_device structure. The version field displays the version number and the config field displays the string "external."
The USB audio device provides support for an external speaker and microphone.
The configuration file /kernel/drv/usb_ac.conf is used to configure the USB audio driver and determines whether the audio mixer is enabled or disabled. See the mixer(7I) manual page for details. You can change the audio mixer mode at any time by using the mixerctl(1) or sdtaudiocontrol(1) applications.
The USB audio device supports 8-bit µ-law and A-law, 8-bit linear and 16-bit linear encodings in mono and stereo. With the mixer enabled, a continuous range of sample rates from 8000 to 48000 Hz is supported. With the mixer disabled, the following sample rates are supported: 8000, 9600, 11025, 16000, 18900, 22050, 32000, 33075, 37800, 4410, and 48000 Hz if the device supports these frequencies.
As described in the audio(7I) and mixer(7I) man pages, it is possible to request asynchronous notification of changes in the state of an audio device.
If a device is hot-removed while it is active, all subsequent opens will return EIO. All other errors are defined in the audio(7I) man page.
/kernel/drv/usb_ac
/kernel/drv/amd64/usb_ac
/kernel/drv/sparcv9/usb_ac
/kernel/drv/usb_ac.conf
/dev/audio
/dev/audioctl
/dev/sound/[0-N]
/dev/sound/[0-N]ctl
See attributes(5) for descriptions of the following attributes:
|
mixerctl(1), cfgadm_usb(1M), ioctl(2), attributes(5), hid(7D), usba(7D), usb_as(7D), audio(7I), mixer(7I), streamio(7I), usb_ah(7M)
Writing Device Drivers
Universal Serial Bus Specification 1.0 and 1.1
Universal Serial Bus Device Class Definition for Audio Devices, Release 1.0
System Administration: Basic Administration
http://www.sun.com/io
In addition to being logged, the following messages may appear on the system console. All messages are formatted in the following manner:
Warning: <device path> (usb_ac<instance num>): Error Message...
Failure to plumb audio streams drivers.
Device was disconnected while open. Data may have been lost.
Cannot access device. Please reconnect <name>.
Device is not identical to the previous one on this port. Please disconnect and reconnect.
Busy device has been reconnected.
The following messages may be logged into the system log. They are formatted in the following manner:
<device path><usb_ac>): message...
Unit topology too complex, giving up.
Mixer registration failed.
More than 2 streaming interfaces (play and/or record) currently not supported.
Upon the initial open() of the audio device, the driver resets the data format of the device to the default state of 8-bit, 8Khz, mono u-Law data. If the device is already open and a different audio format is set, this will not be possible on some devices. With the exception of some devices that only support a limited number of sample rates, audio applications should explicitly set the encoding characteristics to match the audio data requirements rather than depend on the default configuration.
The USB audio device will be power managed if the device is idle.
If a USB audio device is hot-removed while active, it prints a console warning message requesting you to put the device back in the same port and informing you that there may be data loss. Hot-removal of an active audio device is strongly discouraged.
Close all applications before hot-removing or hot-inserting a device. If an application is open when a device is hot-removed, inserting the device in a different port will create new /dev/sound links but /dev/audio will not be affected. Hotplugging an active device is not recommended.
On slower IA machines and with higher frequency sample rates, you may encounter some audio quality problems.
To make a USB audio device the primary audio device (for example: /dev/audio), close all audio applications, disconnect all USB audio devices and then simply reconnect the USB audio device. This causes /dev/audio to point to the USB audio /dev/usb/audio entry.
Most Solaris audio applications and 3rd party audio applications available on Solaris work well with USB audio devices. For details of the application behavior with USB audio devices, visit www.sun.com/io.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |