[alsa-devel] No sound with Sony VAIO VPCZ1 (ALC889)

Takashi Iwai tiwai at suse.de
Tue Jul 16 21:24:59 CEST 2013


At Tue, 16 Jul 2013 20:37:19 +0200,
Tormen wrote:
> 
> On 16/07/13 11:15, Takashi Iwai wrote:
> > It doesn't look like the driver patched properly.
> > Try to put some printk() in the patched code path to confirm that
> > you're really testing the patched driver.
> >
> >
> > Takashi
> I am not 100% sure if it was or not, because I had applied the patch not 
> with "quilt"
> ... but now I am:
> I put in some printk()'s and it still shows speaker_outs=0 :(

This doesn't matter at all from the beginning.
You see a line "line_outs=1 (type: speaker)" before that.  So, the
speaker output is assigned as the primary output there.

The problem is, instead, that the primary DAC (thus its selector
widget) is assigned to the headphone.  Check whether NID 0x0c is
assigned to "Speaker" volume, not for "Headphone".
The no_primary_hp flag should have achieved it, but it turned out that
5.1 surround setup blocks it.  That's why you got "Headphone" on NID
0x0c, and 0x0d/0x0e for the rest speaker and possible surrounds.

The new flag, no_multi_io prevents the creation of 5.1 setup, so that
the speaker will be assigned to NID 0x0c, together with the
combination of no_primary_hp.


> I was wondering if it's a problem that the speaker_outs=0 is printed way 
> before all the "fill_and_eval_dacs" changes of yours are executed?
> 
> I attached you my patch so that you can see what output corresponds to 
> what piece of code.
> 
> alsa-info.sh:
> http://www.alsa-project.org/db/?f=c644b65a9e25fd1cef5b4b53d6d806d45526e5b2
> 
> And the complete output of my debug messages:
> 
> FIRST just loading the modules:
>      modprobe snd debug=2
>      modprobe snd_hda_intel
> 
> [10263.731133] snd_hda_intel 0000:00:1b.0: irq 45 for MSI/MSI-X
> [10263.747274] Tormen: alc882_fixup_no_primary_hp: AAA
> [10263.750059] Tormen: alc882_fixup_no_primary_hp: BBB ==> set 
> spec->no_multi_io = 1

OK, so far, so good.
Check whether NID 0x0c is assigned to "Speaker".

> [10263.752896] hda_codec: ALC889: SKU not ready 0x411111f0
> [10263.755938] ALSA hda_auto_parser.c:335 autoconfig: line_outs=1 
> (0x14/0x0/0x0/0x0/0x0) type:speaker
> [10263.758707] ALSA hda_auto_parser.c:339    speaker_outs=0 
> (0x0/0x0/0x0/0x0/0x0)
> [10263.761476] ALSA hda_auto_parser.c:343    hp_outs=1 
> (0x15/0x0/0x0/0x0/0x0)
> [10263.764246] ALSA hda_auto_parser.c:344    mono: mono_out=0x0
> [10263.767028] ALSA hda_auto_parser.c:348    inputs:
> [10263.769908] ALSA hda_auto_parser.c:352      Mic=0x18
> [10263.772632] ALSA hda_auto_parser.c:352      Mic=0x19
> [10263.775354] ALSA hda_auto_parser.c:352      Internal Mic=0x12

And this didn't work?  Did you adjust the mixer element again?
Since this changes the mixer configuration, some new mixer element may
come up.  Give alsa-info.sh output at this moment, please.


> [10263.778038] ALSA patch_realtek.c:466 realtek: No valid SSID, checking 
> pincfg 0x411111f0 for NID 0x1d
> [10263.780832] ALSA patch_realtek.c:549 realtek: Enable default setup 
> for auto mode as fallback
> [10263.783693] Tormen: parse_user_hints: val (from 'multi_io') == '-2'
> [10263.786078] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10263.787634] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10263.789531] Tormen: fill_and_eval_dacs: DDD
> [10263.790957] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10263.792364] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10263.793749] Tormen: fill_and_eval_dacs: DDD
> [10263.795150] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10263.796546] Tormen: fill_and_eval_dacs: DDD
> [10263.797932] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10263.799363] Tormen: fill_and_eval_dacs: DDD
> [10263.800759] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10263.802161] Tormen: fill_and_eval_dacs: AAA
> [10263.804110] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10263.805609] Tormen: fill_and_eval_dacs: BBB
> [10263.807265] Tormen: fill_and_eval_dacs: CCC
> [10263.810445] input: HDA Digital PCBeep as 
> /devices/pci0000:00/0000:00:1b.0/input/input25
> [10263.812063] Tormen: alc882_fixup_no_primary_hp: AAA
> [10263.818856] Tormen: alc882_fixup_no_primary_hp: AAA
> [10263.820812] Tormen: alc882_fixup_no_primary_hp: AAA
> [10263.822315] input: HDA Intel MID Mic as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input26
> [10263.823905] input: HDA Intel MID Mic as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input27
> [10263.825607] input: HDA Intel MID Headphone as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input28
> 
> THEN with manual set multi_io = yes:

No, you need to set multi_io=no, as mentioned.


Takashi

> 
> echo "multi_io = yes" 
>  >/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/hints
> echo "1" >/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/reconfig
> 
> [10462.452100] ALSA hda_hwdep.c:221 hda-codec: reconfiguring
> [10462.614742] Tormen: alc882_fixup_no_primary_hp: AAA
> [10462.618508] Tormen: alc882_fixup_no_primary_hp: AAA
> [10462.620912] Tormen: alc882_fixup_no_primary_hp: BBB ==> set 
> spec->no_multi_io = 1
> [10462.623365] hda_codec: ALC889: SKU not ready 0x411111f0
> [10462.626209] ALSA hda_auto_parser.c:335 autoconfig: line_outs=1 
> (0x14/0x0/0x0/0x0/0x0) type:speaker
> [10462.628736] ALSA hda_auto_parser.c:339    speaker_outs=0 
> (0x0/0x0/0x0/0x0/0x0)
> [10462.631345] ALSA hda_auto_parser.c:343    hp_outs=1 
> (0x15/0x0/0x0/0x0/0x0)
> [10462.633911] ALSA hda_auto_parser.c:344    mono: mono_out=0x0
> [10462.636543] ALSA hda_auto_parser.c:348    inputs:
> [10462.639122] ALSA hda_auto_parser.c:352      Mic=0x18
> [10462.640323] ALSA hda_auto_parser.c:352      Mic=0x19
> [10462.641419] ALSA hda_auto_parser.c:352      Internal Mic=0x12
> [10462.642554] ALSA patch_realtek.c:466 realtek: No valid SSID, checking 
> pincfg 0x411111f0 for NID 0x1d
> [10462.643700] ALSA patch_realtek.c:549 realtek: Enable default setup 
> for auto mode as fallback
> [10462.644841] Tormen: parse_user_hints: val (from 'multi_io') == '1'
> [10462.645988] Tormen: parse_user_hints: spec->no_multi_io == '1'
> [10462.647186] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10462.648520] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10462.649847] Tormen: fill_and_eval_dacs: DDD
> [10462.651038] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10462.652201] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10462.653352] Tormen: fill_and_eval_dacs: DDD
> [10462.654522] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10462.655673] Tormen: fill_and_eval_dacs: DDD
> [10462.656804] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10462.657944] Tormen: fill_and_eval_dacs: DDD
> [10462.659122] Tormen: fill_and_eval_dacs: 111 spec->no_multi_io == '0'
> [10462.660266] Tormen: fill_and_eval_dacs: AAA
> [10462.661392] Tormen: fill_and_eval_dacs: 222 spec->no_multi_io == '0'
> [10462.662576] Tormen: fill_and_eval_dacs: BBB
> [10462.664050] Tormen: fill_and_eval_dacs: CCC
> [10462.665700] input: HDA Digital PCBeep as 
> /devices/pci0000:00/0000:00:1b.0/input/input29
> [10462.667026] Tormen: alc882_fixup_no_primary_hp: AAA
> [10462.673168] Tormen: alc882_fixup_no_primary_hp: AAA
> [10462.674864] Tormen: alc882_fixup_no_primary_hp: AAA
> [10462.675957] input: HDA Intel MID Mic as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input30
> [10462.677133] input: HDA Intel MID Mic as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input31
> [10462.678328] input: HDA Intel MID Headphone as 
> /devices/pci0000:00/0000:00:1b.0/sound/card0/input32
> 
> 
> Tormen


More information about the Alsa-devel mailing list