My new machine has six audio jacks on the back (shown in the figure) and two on the front.
I used alsamixer to unmute and set output to 0dB for the 'Headphone' (front green jack) and the 'Speaker' (rear green jack) channels, but the volume off the green jacks was barely audible at the maximum settings and with speakers set to maximum output. Plugging the speakers into the the grey side speaker (#1) jack produced sound at reasonable volume. The following command gives the device [bus:slot.func] numbers, then the second command used this number to reveal which kernel modules were used by my card. (This
snd_hda_intel howto was very helpful in sorting this out, despite the warning at the top that the information is outdated).
$> lspci | grep Audio
00:14.2 Audio device: Advanced Micro Devices [AMD] FCH Azalia Controller (rev 01)
$> lspci -v -s00:14.2
00:14.2 Audio device: Advanced Micro Devices [AMD] FCH Azalia Controller (rev 01)
Subsystem: Hewlett-Packard Company Device 2ae0
Flags: bus master, slow devsel, latency 32, IRQ 16
Memory at feb40000 (64-bit, non-prefetchable) [size=16K]
Capabilities:
Kernel driver in use: snd_hda_intel
A little Google and a lot of reading suggested the problem was with the snd_hda_intel module, and was fixed as follows (Note these instructions are only useful for cards relying on the snd_hda_intel module): First get the sound card model.
$> cat /proc/asound/card0/codec* | grep Codec
Codec: IDT 92HD73E1X5
My card model is 92HD73E1X5. I checked
HD Audio Models and found this entry was the closest match.
SSTAC92HD73*
===========
ref Reference board
no-jd BIOS setup but without jack-detection
intel Intel DG45* mobos
dell-m6-amic Dell desktops/laptops with analog mics
dell-m6-dmic Dell desktops/laptops with digital mics
dell-m6 Dell desktops/laptops with both type of mics
dell-eq Dell desktops/laptops
alienware Alienware M17x
auto BIOS setup (default)
My computer is an HP Pavilion P7-1439 Desktop and HPs are not on this list. I decided to try a few configurations, so as ROOT I added the following as the last line of my /etc/modprobe.d/alsa-base.conf file.
...
options snd-hda-intel model=[MODEL]
I iterated [MODEL] through the options available for the SSTAC92HD73 series. After each [MODEL] change I reloaded alsa
ROOT$> alsa force-reload
then opened alsamixer to unmute and increase volume to 0.0dB for all outputs. I played music or ran the command
speaker-test -c 2 -t wav
while I moved the speaker plug to each jack, and tested headphone jack detection on the front jack by plugging/unplugging in headphones for each speaker plug location. I found that dell-m6 provided good volume levels from front green jack and rear black jack (with jack detection) for headphones and rear blue 'in' jack for speakers, but no volume from other jacks. Not listing a model option in the config file produced speaker output from the 'side' (grey), 'rear' (black), and 'csub' (orange) jacks, but the volume from the front headphone jack was extremely low, although it did have jack detection. Since I have a simple pair of old DELL PC speakers, using the dell-m6 model and plugging the speakers into the blue jack works for me. However if you have surround sound you'll have to choose between that and audible headphone volume.
A little investigating revealed this
snd_hda_intel low volume bug, and posts 13-16 show a difference in the GPIO IO[0] data pin when the volume is correct and when it is not. I did the following: Comment out the options snd-hda-intel model=dell-m6 in /etc/modprobe.d/alsa-base.conf so that the model loads as default, then
ROOT$> alsa force-reload
ROOT$> cat /proc/asound/card0/codec#3 > auto.txt
Then uncomment that same line in /etc/modprobe.d/alsa-base.conf and
ROOT$> alsa force-reload
ROOT$> cat /proc/asound/card0/codec#3 > dellm6.txt
So I could compare all differences. I've made the outputs for
default,
dell-eq, and
dell-m6 available. My GPIO IO[0] data=0 with models that produce low headphone jack volume and GPIO IO[0] data=1 for models that produced normal headphone jack volume. the nodes are different for the headphone outputs as well, but I'm not sure that's important. Because I don't have surround sound speakers, I didn't persist further with the hd-verb to manually change the data pin.
Just to verify my card does produce surround sound, I commented out the options snd-hda-intel model=dell-m6 in /etc/modprobe.d/alsa-base.conf to load the default model then ran
speaker-test -D surround71 -c 6 -t wav
while moving the speaker plug to the 'side' (grey), 'rear' (black), and 'csub' (orange) jacks. "Front Left" and "Front Right" played from the respective speakers when plugged into the grey jack, "Rear Left" and "Rear Right" played from the respective speakers when plugged into the black jack, and "Front Center" and Rear Center" played from the respective speakers when plugged into the orange jack, so my surround sound works on this card.