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

Takashi Iwai tiwai at suse.de
Wed Jul 17 09:49:16 CEST 2013


At Wed, 17 Jul 2013 01:23:29 +0200,
Tormen wrote:
> 
> Dear Takashi,
> 
> On 16/07/13 21:24, Takashi Iwai wrote:
> > 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".
> I would have to look how to do that.
> 
> >
> >> [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.
> Sure:
> 
> http://www.alsa-project.org/db/?f=c8e8a56c21101322df1f5d847f8d1a37c7d44baf
> 
>       < Master >
>       Headphone
>       Speaker
>       Surround
>       Center
>       LFE
>       Mic
>       Mic Boost
>       Mic 1
>       Mic Boost 1
>       Beep
>       Auto-Mute Mode    Enabled
>       Channel Mode      2ch
> 
> echo "multi_io = no" 
>  >/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/reconfigure
> 
> http://www.alsa-project.org/db/?f=8494525c7988dc528a45cc1e45134666f3793d7a
> 
>    < Master >
>    Headphone
>    Speaker
>    Mic
>    Mic Boost
>    Mic 1
>    Mic Boost 1
>    Beep
>    Auto-Mute Mode    Enabled
> 
> AT THIS POINT IT WORKED !
> 
> But not automatically though ?!
> I have to manually put in the hint.

Hm, so something clears the flag again (or prevents the flag
working).  Could you try to figure out when and where no_multi_io flag
is set and cleared, e.g. by adding printk()s in the code path?


thanks,

Takashi


> 
> Tormen.
> 
> >
> >> [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