Sun Microsystems Logo
Products & Services
 
Support & Training
 
 

Previous Previous     Contents     Index     Next Next

ProcedureHow to Change the Primary USB Audio Device

Follow these steps if you remove or change your USB audio devices and you want to make one particular audio device the primary audio device. The procedure changes the primary audio device to the onboard audio device as an example.

  1. Become superuser.

  2. Close all audio applications.

  3. Verify that the audio and USB drivers are loaded.

    # modinfo | grep -i audio
    124 780e6a69   bb6e   -   1  audiosup (Audio Device Support 1.12)
    # modinfo  | grep -i usb
     48  13dba67  18636 199   1  ohci (USB OpenHCI Driver 1.31)
     49 78020000  1dece   -   1  usba (USBA: USB Architecture 1.37)
     50  12e5f1f    35f 195   1  hubd (USB Hub Driver 1.4)
     51  13ef53d   5e26 194   1  hid (USB HID Client Driver 1.16)
     54  13f67f2   1b42  10   1  usbms (USB mouse streams 1.6)
     56  127bbf0   2c74  11   1  usbkbm (USB keyboard streams 1.17)
    # 

  4. Load and attach the onboard audio driver.

    # devfsadm -i audiocs

    The onboard audio driver is audiocs on a Sunblade 1000, and audiots on a Sunblade 100.

  5. Verify that the primary audio device link is pointing to the onboard audio.

    # ls -lt /dev/audio*
    lrwxrwxrwx   1 root     other        7 Jul 23 15:49 /dev/audio -> sound/0
    lrwxrwxrwx   1 root     other       10 Jul 23 15:49 /dev/audioctl -> 
    sound/0ctl
    # ls -lt /dev/sound/*
    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
    #

  6. Confirm the onboard audio is the primary audio device.

    % audioplay /usr/demo/SOUND/sounds/bark.au

    The audioplay command defaults to the onboard audio device.

  7. (Optional) Unload all the audio drivers that can be unloaded before plugging in another USB audio device.

    1. Close all the audio applications.

    2. Display the audio driver information to verify that no audio drivers are currently loaded.

      # modinfo | grep -i audio
       60 78048000   bb6e   -   1  audiosup (Audio Device Support 1.12)
       61 78152000  39a97   -   1  mixer (Audio Mixer 1.49)
       62 78118000   bf9f   -   1  amsrc1 (Audio Sample Rate Conv. #1 1.3)
      128 7805e000  14968  54   1  audiocs (CS4231 mixer audio driver 1.21)
      # 

    3. Unload the audio drivers.

      # modunload -i 0
      # modinfo | grep -i audio
       60 78048000   bb6e   -   1  audiosup (Audio Device Support 1.12)
       61 78152000  39a97   -   1  mixer (Audio Mixer 1.49)
      #

      At this point, audiocs, the onboard audio driver, has been unloaded and guaranteed not to be open. However, the primary audio device, /dev/audio, does not change if it is held open by an application.

  8. (Optional) Plug in a USB audio device.

  9. (Optional) Examine the new audio links.

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

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.

  • When you plug in a USB audio device and you are logged in on the console, the console is the owner of the /dev/* entries. This situation means you can use the audio device as long as you are logged into the console.

  • If you are not logged into the console when you plug in a USB audio device, root becomes the owner of the device. However, if you log into the console and attempt to access the USB audio device, device ownership changes to the console. For more information, see logindevperm(4).

  • When you remotely login with the rlogin command and attempt to access the USB audio device, the ownership does not change. This means that, for example, unauthorized users cannot listen to conversations over a microphone owned by someone else.

Hot-Plugging USB Devices With the cfgadm Command (Task Map)

Task

Description

For Instructions

Display USB bus information

Display information about USB devices and buses.

How to Display USB Bus Information (cfgadm) 

Unconfigure a USB device

Logically unconfigure a USB device that is still physically connected to the system.

How to Unconfigure a USB Device 

Configure a USB device

Configure a USB device that was previously unconfigured.

How to Configure a USB Device 

Logically disconnect a USB device

You can logically disconnect a USB device if you are not physically near the system.

How to Logically Disconnect a USB Device 

Logically connect a USB device

Logically connect a USB device that was previously logically disconnected or unconfigured.

How to Logically Connect a USB Device 

Disconnect a USB device subtree

Disconnect a USB device subtree, which is the hierarchy (or tree) of devices below a hub.

How to Logically Disconnect a USB Device Subtree 

Reset a USB device

Reset a USB device to logically remove and recreate the device.

How to Reset a USB Device 

Change the default configuration of a multi-configuration USB device

Change the default configuration of a multi-configuration USB device.

How to Change the Default Configuration of a Multi-Configuration USB Device 

Previous Previous     Contents     Index     Next Next