usb_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) com-
     pliant  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.


API

     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
     Use the /kernel/drv/usb_ac.conf  (original  USBA  framework)
     and /kernel/drv/usba10_usb_ac.conf (USBA 1.0 framework) con-
     figuration files to configure the USB  audio  driver.  These
     files  determine  whether the audio mixer is enabled or dis-
     abled. See the mixer(7I) manual page for  details.  You  can
     change  the  audio  mixer mode at any time by using the mix-
     erctl(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 sup-
     port 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 compa-
     tibility mode.

     Sample Rate       Encoding       Precision     Channels        Mode
        8000 Hz     u-Law or A-Law        8          1 or 2        M and C
        9600 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
       18900 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
       33075 Hz     u-law or A-law        8          1 or 2        M and C
       37800 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
        9600 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
       18900 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
       33075 Hz         linear         8 or 16       1 or 2        M and C
       37800 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 for original USBA framework.*

     /kernel/drv/sparcv9/usb_ac
           64 bit ELF kernel module for original USBA framework.*
           (SPARC only).

     /kernel/drv/usb_ac.conf
           usb_ac audio driver configuration file.

     /kernel/drv/usba10_usb_ac
           32 bit ELF kernel module for USBA 1.0 framework.*

     /kernel/drv/sparcv9/usba10_usb_ac
           64 bit ELF kernel  module  for  USBA  1.0  framework.*
           (SPARC only).

     /kernel/drv/usba10_usb_ac.conf
           usba10_usb_ac 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.

     *Please see  www.sun.com/desktop/whitepapers.html  for  more
     information  regarding  USB  dual  framework implementation,
     USBA 1.0, and USB 2.0


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE       |        ATTRIBUTE VALUE       |
    |____________________________|______________________________|
    | Architecture               |  PCI-based systems           |
    |____________________________|______________________________|
    | Availability               |  SUNWusb (All  architectures)|
    |                            |  SUNWusbx (SPARC only)       |
    |____________________________|______________________________|
    | 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 2.0

     Universal Serial Bus Device Class Definition for Audio  Dev-
     ices, Release 1.0

     System Administration: Basic Administration

     http://www.sun.com/desktop/whitepapers.html

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

     or

     Warning: <device path> (usba10_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.


disconnect and reconnect.

     Device is not identical to the previous one on this port.  Please
           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 new
           USB device and reconnect the original  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, 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 3rd party audio applica-
     tions available on Solaris work well with USB audio devices.
     For details of the application behavior with USB audio  dev-
     ices, visit www.sun.com/io.


Man(1) output converted with man2html