Ubuntu – Volume range is narrow in 12.04


I have upgraded to Ubuntu 12.04 and I have a problem with the volume. The problem is that the volume is 0 when the volume bar is between 0% and 66% more or less, so the actual volume range is only between 66% and 100%. If I open the sound configuration menu, the position in the volume bar that makes the sound begin sounding (66% more or less) is placed where it says "no amplification".

Can anyone help me?

Thank you.

Best Answer

This is probably due to a bug in alsa with the 3.2 kernel and the way it recognizes the hardware. As alsa gets is wrong, it cannot communicate correctly with Pulse Audio. It has been reported that this is fixed in the 3.3 kernel. In the meantime, the work around is to setup the hardware manually.

This is documented in the Ubuntu Community Help Wiki, but as the wiki claims to be outdated, and covers more that the problem at hand, the valid points are as follows:

  1. Edit the file /etc/modprobe.d/alsa-base.conf as root using the editor of your choice.
  2. Add the line options snd-hda-intel model=[Your Model Specifier] to the end of the file if it doesn't already exist. If this option is already specified, you simply need to change the model to the appropriate one.
  3. Save the file and Reboot for the changes to take effect.

The hard part is finding out which model to specify. You can find which hardware you are using with cat /proc/asound/card0/codec* | grep Codec at the terminal. If you get multiple lines of output you will need to determine which sound card is giving you trouble. You can then lookup the resulting hardware in the file /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz. As this file is compressed, you can uncompress it with gzip -dc /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz > HD-Audio-Models.txt this will create a new uncompressed file in the current directory.

The difficulty for me was that my hardware (Conexant CX20549 (Venice)) is not on the list. Evidently, this is the same as the Conexant 5045 so the Model Option Line for my hardware is: options snd-hda-intel model=laptop-hpmicsense. For those wondering, the hp-part in laptop-hpmicsense has nothing to do with the brand hewlet packard.

Once I put everything together, made the relevant changes and rebooted, everything works fine.

Thanks to user Rhino in https://askubuntu.com/a/140992/60904 for putting the last (and most important)piece to the puzzle together.

I hope this helps.

Related Question