DebuggingSoundProblems

Differences between revisions 40 and 41
Revision 40 as of 2009-10-15 21:56:48
Size: 8379
Editor: 128
Comment: formatting fail. last change was "how to identify HDA hardware"
Revision 41 as of 2009-10-15 21:58:33
Size: 8457
Editor: 128
Comment: clarify driver bug
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
The "Subsystem" line provides the subsystem ID for your device. This number is a useful starting place to determine if your bug and someone else's bug are the same. Often, many different pieces of hardware will exhibit the same symptoms while actually requiring different patches. If you are filing a bug and find one with the same symptom but a different SSID, assume they have different root causes and file your own bug. The "Subsystem" line provides the subsystem ID for your device. This number is a useful starting place to determine if your bug and someone else's bug are the same. Often, many different pieces of hardware will exhibit the same symptoms while actually requiring different patches. If you are filing a driver bug (ex: no sound at all, speakers not muting with headphones, broken mic) and find one with the same symptom but a different SSID, assume they have different root causes and file your own bug.

Debugging Central

This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages.

Notes for triagers:

  • General no-sound/low-sound/headphone-no-sound/etc. bugs should be marked against the "linux" source package.
  • Only assign bugs to the "alsa-driver" source package if the reporter states that he or she is using the alsa-source binary package with module-assistant OR if he or she is requesting a blacklist or index configuration addition.

In other words, if in doubt, the bug should be filed against linux and have the ubuntu-audio team subscribed to the bug report.

Basic troubleshooting

Identifying your hardware

If your lspci output includes a line similar to this 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) (note the "HD Audio" may also be "HDA"), the command lspci -nv | grep -A1 0403 will give output similar to this:

00:1b.0 0403: 8086:284b (rev 03)
        Subsystem: 1043:8284

The "Subsystem" line provides the subsystem ID for your device. This number is a useful starting place to determine if your bug and someone else's bug are the same. Often, many different pieces of hardware will exhibit the same symptoms while actually requiring different patches. If you are filing a driver bug (ex: no sound at all, speakers not muting with headphones, broken mic) and find one with the same symptom but a different SSID, assume they have different root causes and file your own bug.

Preliminary checks

  1. Is your sound system plugged in and switched on. I spent an hour trying to diagnose a sound issue when the problem was that I had switched off the speakers to answer a phone call and forgot that I had done so. Sad :-(

Checking volume levels

Before messing around with uninstalling and installing various sound programs to fix a problem, check your volume levels. It is often the case that a muted channel is the problem, even though the description may not sound immediately relevant. In this regard, muted Surround or Center channels are common culprits. So unmute and raise the volume of one channel at a time and check whether sound is then produced by a running sound application e.g. Rhythmbox.

You can access the volume levels for the various channels from the command line or the GUI.

  1. From command line: Open a terminal window and launch alsamixer. Then unmute as described above.

    • Note: Often you need to specify the card you want to control, do that by launching alsamixer -c0 or alsamixer -c1 etc, where the number after -c corresponds to your soundcard's index. To know what indexes your soundcards have, see below (under "Checking sound device assignment").

  2. From GUI: This can be done by running something like gnome-alsamixer from a terminal window or navigating to your your Volume Control. Then unmute as described above. Also check that your switches are set correctly - for instance that if you use the analog output the analog switch is set ON or that the digital or S/PDIF switch is set OFF. You can select which tracks/switches are visible in Volume Control (see above) under Edit->Preferences.

    • Note: These controls have equivalent functionality to alsamixer but with a graphical interface. Checking or unchecking devices in the these accomplishes the exact same thing as unmuting or muting devices, respectively, in alsamixer.
    • Starting with Ubuntu 7.04, the sound volume control is also accessible from Menu->Sound&Video->Volume Control. It may be hidden in your menus but can be shown by going to System > Preferences > Main Menu and under Applications > Sound&Video ticking Volume Control.

Checking sound device assignment

  1. Most sound applications output to card0 by default. In some cases, other audio devices (like a USB MIDI Keyboard) might be recognized as a soundcard and take card0, bumping your real soundcard to card1. To see which devices are connected to which cards, do the following:
    •  cat /proc/asound/cards
  2. You can manipulate the device number assignment by adding snd-usb-audio to /etc/modprobe.d/alsa-base . Next boot, the snd-usb-audio device will get index 1.
    •  options snd-usb-audio index=1

The index numbers (0, 1, ... 7) signify the priority of the device, with the highest priority device being 0, then 1, and so forth. In theory, applications should first attempt to use the highest priority device first, but if for some reason the application is unable to use the device, it will use the next highest priority device. For example, if you have a USB sound card that can get picked up with OSS, which browsers, flash, and skype may not output, if you set your USB card at first priority, it will play when using, say, Rhythmbox, but your other applications will play through your other soundcard. FIXME PLEASE: for more information go to ...

Checking permissions and resources

  1. Make sure that all users needing access to the Sound Device can "Use audio devices" in the "User Privileges" tab of users-admin (System->Administration->Users and Groups).

  2. Test different "Sound Servers": Go to System > Preferences > Sound ("Multimedia Systems Selector" in earlier editions of Ubuntu). From there, you can test the different options. In some scenarios several different sound servers may be installed, and only one may work. This is probably the origin of the problem if you cannot play audio with xine or rhythmbox, but you can with xmms or helix/realplayer.

  3. If you application sounds works, but your system sounds does not (login, logout, error sounds...) try removing the .asoundrc* files from your own directory (e.g. with 'rm .asoundrc*'). It should make the system sounds work without a reboot.
  4. If you can get absolutely no sound and you have an onboard sound chip you can try to disable it in the BIOS. This solves the problem is some cases.
  5. If you have no sound and you have a regular sound card type "lsmod | grep snd" in the terminal and see if there is more than one card listed. It's possible that you have a motherboard sound chip that is interfering. Add it to the bottom of the blacklist file. For example, sudo nano /etc/modprobe.d/blacklist then add "blacklist snd_via82xx" to the bottom.

Reporting Sound Bugs

Please do not report problems on this page; use the normal support channels instead. See http://www.ubuntu.com/support

If you feel you have encountered a software bug, please report the bug using the following command in a terminal:

ubuntu-bug -p alsa-base

This will submit a detailed bug report regarding your current system and will work on any release later than 9.04 (Jaunty Jackalope).

Automatic Sound Information Collection

In the event that you are not running Jaunty Jackalope (9.04) you can less automatically gather sound information using the following script http://alsa-project.org/alsa-info.sh . By default, the script uploads the information to alsa-project.org . This information can be used by ALSA developers to improve current support for some cards. If you do not wish your information to be uploaded, please use the --no-upload argument when running the script. The script was written to aid the alsa developers, and also to help the people in #alsa to sort out sound issues. Please download and run the script as follows:

  1.  bash alsa-info.sh
  2. The script will generate a URL. Please add this URL to your bug report.
  3. If for some reason the script does not generate a URL, please use the --pastebin option (our original upload method)
  4. The alsa-info.sh script can either be run as 'bash alsa-info.sh' _or_ made executable and run as './alsa-info.sh'.

Further sound troubleshooting

After reporting a bug you might want to see the community documentation:


CategoryDocumentation CategoryBugSquad CategoryDebugging

DebuggingSoundProblems (last edited 2014-07-26 11:08:14 by penalvch)