No sound in headphones or speakers

From Salix OS
Jump to: navigation, search

Most of the time, this is a problem with the sound output being muted, or the volume set to zero, so run

 alsamixer

and make sure everything is OK. You can select a different output with the left/right arrow keys, adjust the volume with the up/down arrow keys and mute/unmute an output with the M key.

Another common issue is that you may have more than one sound card in your PC and the system doesn't default to the one you want to use. See this page on how to set the default sound card.

Also, make sure you don't have an ~/.asoundrc file. These usually complicate matters and are most likely to cause you more grief, especially if you just blindly copied their content from another source without really understanding it.

Sometimes though, with certain intel soundcard models and usually with laptops, it happens that you get sound through the speakers, but not through the headphone jack or the opposite. This is due to the soundcard model not being detected properly by the kernel.

You can usually fix that, by creating an /etc/modprobe.d/snd-hda-intel.conf file in your system with your favourite text editor (for example vi). First su to root:

 su

and then create the file:

 vi /etc/modprobe.d/snd-hda-intel.conf

and put the following contents in it:

 options snd-hda-intel model=auto

After a reboot your problem will most probably be fixed. If it isn't, you'll probably have to be more specific for what model should be used. A list of all possible models for any chipset is listed in file /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt. If that file is not present in your system, you'll need to install the kernel-source package first.

You can find out which chipset your soundcard uses, by running

 aplay -l

For example in the following output the chipset is "ALC833":

 **** List of PLAYBACK Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
 card 0: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
   Subdevices: 1/1
   Subdevice #0: subdevice #0

Search for your chipset in the HD-Audio-Models.txt file and you'll find a list of models. For example, for "ALC833", you'll find this entry (in kernel 3.10.17):

 ALC882/883/885/888/889
 ======================
   acer-aspire-4930g     Acer Aspire 4930G/5930G/6530G/6930G/7730G
   acer-aspire-8930g     Acer Aspire 8330G/6935G
   acer-aspire           Acer Aspire others
   inv-dmic      Inverted internal mic workaround
   no-primary-hp         VAIO Z/VGC-LN51JGB workaround (for fixed speaker DAC)

Replace

 model=auto

in the file you created in the beginning with one of those until you find one that works.

Instead of having to reboot your system to test if another model works, you can just unload the sound card module and then load it again with the specified model, for example:

 modprobe -r snd-sda-intel
 modprobe snd-sda-intel model=acer-aspire

After you find a model that works, put it in the /etc/modprobe.d/snd-hda-intel.conf file as described above.