Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Devicesusb_ac(7D)


NAME

 usb_ac - USB audio control driver

SYNOPSIS

 
sound-control@unit-address

DESCRIPTION

 

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.

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

Audio Data Formats

 

The USB audio device supports the audio data formats shown below. Please note that at a minimum, the device must support a sampling frequency of 44100 Hz or 48000 Hz. 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 RateEncodingPrecisionChannelsMode
8000 Hzu-Law or A-Law81 or 2M and C
9600 Hzu-Law or A-Law81 or 2M and C
11025 Hzu-law or A-law81 or 2M and C
16000 Hzu-law or A-law81 or 2M and C
18900 Hzu-law or A-law81 or 2M and C
22050 Hzu-law or A-law81 or 2M and C
32000 Hzu-law or A-law81 or 2M and C
33075 Hzu-law or A-law81 or 2M and C
37800 Hzu-law or A-law81 or 2M and C
44100 Hzu-law or A-law81 or 2M and C
48000 Hzu-law or A-law81 or 2M and C
8000 Hzlinear8 or 161 or 2M and C
9600 Hzlinear8 or 161 or 2M and C
11025 Hzlinear8 or 161 or 2M and C
16000 Hzlinear8 or 161 or 2M and C
18900 Hzlinear8 or 161 or 2M and C
22050 Hzlinear8 or 161 or 2M and C
32000 Hzlinear8 or 161 or 2M and C
33075 Hzlinear8 or 161 or 2M and C
37800 Hzlinear8 or 161 or 2M and C
44100 Hzlinear8 or 161 or 2M and C
48000 Hzlinear8 or 161 or 2M 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 subsequent 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 necessarily a USB audio device.
/dev/sound/[0-N]ctl
/dev/sound audio control device.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
ArchitecturePCI-based systems
AvailabilitySUNWusb, SUNWusbx
Stability level Evolving

SEE ALSO

 

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

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 or the hid driver could not be plumbed under the audio control driver and the device is not usable.
Device was disconnected while open. Data may have been lost.
The device was hot-removed or powered off while it was open and a possible data transfer was in progress. The job was aborted.
Cannot access device. Please reconnect <name>.
There was an error in accessing the device during reconnect. 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.

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


SunOS 5.9Go To TopLast Changed 28 Dec 2001

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.