SunOS man pages : usb_ac (7)
Devices usb_ac(7D)
NAME
usb_ac - USB audio control driver
SYNOPSIS
usb_ac@unit-address
DESCRIPTION
The usb_ac driver is a USBA (Solaris USB Architecture) com-
pliant client driver that supports the USB Audio Class 1.0
specification.
The audio control driver is a class driver that offers func-
tionality similar to the audiocs (sun4u) and audiots (Sun
Blade 100) drivers which use the Solaris audio mixer frame-
work (mixer(7I)). Unlike the audiocs and audiots drivers,
the USB audio driver may have play-only or record-only capa-
bility.
Drivers corresponding to other USB audio interfaces, includ-
ing 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.
APPLICATION PROGRAM INTERFACE
This interface is described in the mixer(7I) and audio(7I)
man pages.
Driver Versions
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.
Audio Mixer Mode
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) appli-
cations.
Audio Data Formats
SunOS 5.9 Last change: 22 May 2001 1
Devices usb_ac(7D)
The USB audio device supports the audio data formats shown
below. In addition, it must support all of the following
sampling frequencies. In the table below, mode "M" indicates
that mixer mode is enabled, while "C" indicates that mixer
mode is disabled or in compatibility mode.
Sample Rate Encoding Precision Channels Mode
8000 Hz u-Law or A-Law 8 1 or 2 M and C
11025 Hz u-law or A-law 8 1 or 2 M and C
16000 Hz u-law or A-law 8 1 or 2 M and C
22050 Hz u-law or A-law 8 1 or 2 M and C
32000 Hz u-law or A-law 8 1 or 2 M and C
44100 Hz u-law or A-law 8 1 or 2 M and C
48000 Hz u-law or A-law 8 1 or 2 M and C
8000 Hz linear 8 or 16 1 or 2 M and C
11025 Hz linear 8 or 16 1 or 2 M and C
16000 Hz linear 8 or 16 1 or 2 M and C
22050 Hz linear 8 or 16 1 or 2 M and C
32000 Hz linear 8 or 16 1 or 2 M and C
44100 Hz linear 8 or 16 1 or 2 M and C
48000 Hz linear 8 or 16 1 or 2 M and C
Audio Status Change Notification
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.
ERRORS
If a device is hot-removed while it is active, all subse-
quent opens will return EIO. All other errors are defined in
the audio(7I) man page.
FILES
/kernel/drv/usb_ac
32 bit ELF kernel module.
/kernel/drv/sparcv9/usb_ac
64 bit ELF kernel module.
/kernel/drv/usb_ac.conf
USB audio driver configuration file.
/dev/audio
Symlink to the system's primary audio device, not
necessarily a USB audio device.
/dev/audioctl
/dev/audio control device.
/dev/sound/[0-N]
Represents the audio devices on the system and is not
SunOS 5.9 Last change: 22 May 2001 2
Devices usb_ac(7D)
necessarily a USB audio device.
/dev/sound/[0-N]ctl
/dev/sound audio control device.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | Limited to PCI-based systems|
|_____________________________|_____________________________|
| Availability | SUNWuaud, SUNWuaudx |
|_____________________________|_____________________________|
| Stability level | Evolving |
|_____________________________|_____________________________|
SEE ALSO
mixerctl(1), sdtaudiocontrol(1), ioctl(2), attributes(5),
ohci(7D), uhci(7D), usb_as(7D), usba(7D), usb_mid(7D),
audio(7I), mixer(7I), streamio(7I)
Writing Device Drivers
Universal Serial Bus Specification 1.0 and 1.1
Universal Serial Bus Device Class Definition for Audio Dev-
ices, Release 1.0
DIAGNOSTICS
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.
The usb audio streaming driver (usb_as(7D)) or the hid
driver (hid(7D)) could not be plumbed under the audio con-
trol driver and the device is not usable.
Device was disconnected while open. Data may have been lost.
The device has been hot-removed or powered off while it was
open and a possible data transfer was in progress. The job
will be aborted.
SunOS 5.9 Last change: 22 May 2001 3
Devices usb_ac(7D)
Cannot access device. Please reconnect <name>.
There was an error in accessing the device during recon-
nect. Please reconnect the device.
Device is not identical to the previous one on this port.
Please disconnect and reconnect.
A USB audio device was hot-removed while open. A new device
was hot-inserted which is not identical to the original USB
audio device. Please disconnect the USB device and reconnect
the device to the same port.
Busy device has been reconnected.
A device that was hot-removed from a USB port has been re-
inserted again.
NOTES
The USB audio device will be power managed if the device is
idle.
If the USB audio control driver instance is busy, a system
suspend will fail.
USB audio devices do not have line out or port control.
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 frequence sample
rates, you may encounter some audio performance problems.
To make a USB audio device the primary audio device (for
example: /dev/audio), close all audio applications, discon-
nect all USB audio devices, modunload all other audio
drivers and then simply reconnect the USB audio device. This
will cause /dev/audio to point to the USB audio /dev/sound
entry.
Most Solaris audio applications and third party audio appli-
cations available on Solaris work well with USB audio dev-
ices. For details of the application behavior with USB audio
SunOS 5.9 Last change: 22 May 2001 4
Devices usb_ac(7D)
devices, visit www.sun.com/io.
SunOS 5.9 Last change: 22 May 2001 5
|
 |
|
|