On 18.04.12 14:16, Takashi Iwai wrote:
Yes, but it alone doesn't help for analysis because it's already an abstracted mixer element. We need to figure out which pin corresponds to the speaker output. It must be either 0x0f or 0x11.
BTW, any reason to set the "Speaker" volume so low? It's almost inaudible. Raise this volume.
No reason. I tried again with all volume sliders to the max, still no sound.
If raising volume doesn't change, and if you can still run the older kernel, try to change the pin control via hda-verb like: # hda-verb /dev/snd/hwC0D0 0x0f SET_PIN_WID 0x00 and check whether the speaker still works. If 0x0f doesn't change, try 0x11, # hda-verb /dev/snd/hwC0D0 0x11 SET_PIN_WID 0x00
If the pin 0x0f actually changes the speaker output, use the patch below instead of the previous one.
By older kernel, you mean 3.3? If I do # hda-verb /dev/snd/hwC0D0 0x0f SET_PIN_WID 0x00 on 3.3, sound disappears. On both speakers and headphones. Doing # hda-verb /dev/snd/hwC0D0 0x0f SET_PIN_WID 0x40 turns sound back on. That means we have our pin, right?
Well, I tried the new patch which sets 0x0f as the speaker pin, no sound. Attached is alsa-info with this patch.
Also, there's only one capture control now.
This is correct. When there are only internal and external mics, the driver enables the auto-mic switching mode.
Shouldn't I be able to choose whether to capture from internal or external mic?
Just plugging the mic jack should switch to the external mic automatically just like the headphone/speaker switch.
Ah interesting, that's good info to have.
So what now? Neither of the patches work. Does the fact that pin 0x0f controls both speakers and headphones on kernel 3.3 provide a clue?
Regards, Uroš