System Administration Guide: Devices and File Systems

Using USB Audio Devices (Task Map)

Task 

Description 

For Instructions 

Add USB audio devices 

Add a USB microphone and speakers. 

How to Add USB Audio Devices

Identify your system's primary audio device 

Identify which audio device is your primary audio device. 

How to Identify Your System's Primary Audio Device

Change the primary USB audio device 

You might want to make one particular audio device the primary audio device if you remove or change your USB audio devices. 

How to Change the Primary USB Audio Device

Remove unused USB device links 

If you remove a USB audio device while the system is powered off, the /dev/audio device might be pointing to a /dev/sound/* device that doesn't exist.

How to Remove Unused USB Device Links

Solve USB audio problems 

Use this section if no sound comes from the USB speakers. 

Solving USB Audio Problems

Using USB Audio Devices

This Solaris release provides USB audio support that is implemented by a pair of cooperating drivers, usb_ac and usb_as. The audio control driver, usb_ac, is a USBA (Solaris USB Architecture) compliant client driver that provides the controlling interface to user applications. The audio streaming driver, usb_as, is provided to process audio data messages during play and record. It sets sample frequency and precision, and encodes requests from the usb_ac driver. Both drivers comply to the USB audio class 1.0 specification.

Some audio devices can set volume under software control. A STREAMS module, usb_ah, is pushed on top of the HID driver for managing this function.

Solaris supports USB audio devices that are play-only, record-only, or record and play. Hot-plugging of USB audio devices is supported.

The primary audio device is /dev/audio. You can verify that /dev/audio is pointing to USB audio by using the following command:


% mixerctl
Device /dev/audioctl:
  Name    = USB Audio
  Version = 1.0
  Config  = external

Audio mixer for /dev/audioctl is enabled

After you connect your USB audio devices, you access them with the audioplay and audiorecord command through the /dev/sound/N device links.

Note that the /dev/audio and /dev/sound/N devices can refer to speakers, microphones, or combo devices. If you refer to the incorrect device type, the command will fail. For example, the audioplay command will fail if you try to use it with a microphone.

You can select a specific default audio device for most Sun audio applications, such as audioplay and audiorecord, by setting the AUDIODEV shell variable or by specifying the -d option for these commands. However, setting AUDIODEV does not work for third-party applications that have /dev/audio hardcoded as the audio file.

When you plug in a USB audio device, it automatically becomes the primary audio device, /dev/audio, unless /dev/audio is in use. For instructions on changing /dev/audio from onboard audio to USB audio and vice versa, refer to How to Change the Primary USB Audio Device, and usb_ac(7D).

Hot-Plugging Multiple USB Audio Devices

If a USB audio device is plugged into a system, it becomes the primary audio device, /dev/audio. It remains the primary audio device even after the system is rebooted. If additional USB audio devices are plugged in, the last one becomes the primary audio device.

For additional information on troubleshooting USB audio device problems, see usb_ac(7D).

ProcedureHow to Add USB Audio Devices

Use the following procedure to add USB audio devices.

Steps
  1. Plug in the USB speaker.

    The primary audio device, /dev/audio, points to the USB speaker.


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:46 /dev/audio -> usb/audio0
  2. (Optional) Remove the speaker. Then plug it back in.

    If you remove the speaker, the /dev/audio device reverts back to onboard audio.


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root   7 Feb 13 08:47 /dev/audio -> sound/0
  3. Add a USB microphone.


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:54 /dev/audio -> usb/audio1

ProcedureHow to Identify Your System's Primary Audio Device

This procedure assumes that you have already connected the USB audio devices.

Step

    Examine your system's new audio links.

    For example:


    % ls -lt /dev/audio*
    lrwxrwxrwx   1 root     root      7 Jul 23 15:46 /dev/audio -> usb/audio0
    lrwxrwxrwx   1 root     root     10 Jul 23 15:46 /dev/audioctl -> 
    usb/audioctl0/
    % ls -lt /dev/sound/*
    lrwxrwxrwx   1 root     root     74 Jul 23 15:46 /dev/sound/1 -> 
    ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:sound,a...
    lrwxrwxrwx   1 root     root     77 Jul 23 15:46 /dev/sound/1ctl -> 
    ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:sound,a...
    lrwxrwxrwx   1 root     other    66 Jul 23 14:21 /dev/sound/0 -> 
    ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audio
    lrwxrwxrwx   1 root     other    69 Jul 23 14:21 /dev/sound/0ctl -> 
    ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audioctl
    % 

    Notice that the primary audio device, /dev/audio, is pointing to the newly plugged in USB audio device, /dev/usb/audio0.

    You can also examine your system's USB audio devices with the prtconf command and look for the USB device information.


    % prtconf
    .
    .
    .
    usb, instance #0
       hub, instance #0
            mouse, instance #0
            keyboard, instance #1
            device, instance #0
                sound-control, instance #0
                sound, instance #0
                input, instance #0
    .
    .
    .

How to Change the Primary USB Audio Device

Troubleshooting USB Audio Device Problems

This section describes how to troubleshoot USB audio device problems.

Solving USB Audio Problems

Sometimes USB speakers do not produce any sound even though the driver is attached and the volume is set to high. Hot-plugging the device might not change this behavior.

The workaround is to power cycle the USB speakers.

Key Points of Audio Device Ownership

Keep the following key points of audio device ownership in mind when working with audio devices.