[alsa-devel] model needed for Clevo P150HM (Realtek ALC892)

Julian Sikorski belegdol at gmail.com
Thu Jun 30 20:09:49 CEST 2011


W dniu 30.06.2011 19:41, Takashi Iwai pisze:
> At Thu, 30 Jun 2011 19:00:44 +0200,
> Julian Sikorski wrote:
>>
>> W dniu 30.06.2011 08:54, Takashi Iwai pisze:
>>> At Thu, 30 Jun 2011 08:30:10 +0200,
>>> Julian Sikorski wrote:
>>>>
>>>> W dniu 30.06.2011 07:26, Takashi Iwai pisze:
>>>>> At Wed, 29 Jun 2011 21:29:38 +0200,
>>>>> Julian Sikorski wrote:
>>>>>>
>>>>>> I also tried merging sound-2.6/master with Linus's tree, but this also
>>>>>> did not help.
>>>>>
>>>>> It's really strange.  Are you sure that this is the kernel you
>>>>> modified properly?  Before further debugging, check two things:
>>>>>
>>>>> - Run "git log sound/pci/hda/patch_realtek.c" and the first few
>>>>>   entries, whether they come from sound git tree.  For example,
>>>>>   check the commit below is contained:
>>>>>
>>>>>   commit 7ec9c6ccc6007b14a916021d4ba7ffbcc7822ae3
>>>>>   Author: Takashi Iwai <tiwai at suse.de>
>>>>>   Date:   Mon Jun 27 15:53:38 2011 +0200
>>>>>
>>>>>     ALSA: hda - Fix volume-init for ALC259 with invalid widget caps
>>>>
>>>> commit 0b0c8490670a77b937f502491ae9d5236aa4054a
>>>> Author: Takashi Iwai <tiwai at suse.de>
>>>> Date:   Tue Jun 28 12:45:47 2011 +0200
>>>>
>>>>     ALSA: hda - Create snd_hda_get_conn_index() helper function
>>>>
>>>>     Create snd_hda_get_conn_index() helper function for obtaining the
>>>>     connection index of the widget.  Replaced the similar codes used in
>>>>     several codec-drivers with this common helper.
>>>>
>>>>     Signed-off-by: Takashi Iwai <tiwai at suse.de>
>>>>
>>>> commit 4f574b7b1a1cc8aac617e938459e8f03a641e678
>>>> Author: Takashi Iwai <tiwai at suse.de>
>>>> Date:   Mon Jun 27 16:17:07 2011 +0200
>>>>
>>>>     ALSA: hda - More volume-init fixes for ALC267 codec
>>>>
>>>>     More similar fixes like previous commits: handle the exceptional case
>>>>     like ALC267 where no volume amp is found in ADC widget but in the
>>>>     capsrc widget instead.
>>>>
>>>>     Also minor checks for avoiding possible erros: no connection-select
>>>>     when the pin has a single selection, and add beep verbs only when the
>>>>     0x1d is used for beep.
>>>>
>>>>     Signed-off-by: Takashi Iwai <tiwai at suse.de>
>>>>
>>>> To be even more sure, I re-synced your branch again and built a new
>>>> kernel. I am attaching patch_realtek.c file being built. Fresh
>>>> alsa-info.sh is here:
>>>> http://www.alsa-project.org/db/?f=5051b2cb788b1db4273e06e98a78783dd0ec679f
>>>
>>> OK, then it's correct.
>>>
>>>>>     
>>>>> - Confirm the running kernel is what you really built and installed.
>>>>>   You can modify the suffix via $CONFIG_LOCALVERSION in .config file.
>>>>>   Name it uniquely, rebuild, re-install and reboot.  The new suffix
>>>>>   should appear in the output of "uname -r".
>>>>
>>>> belegdol4 is the suffix I added:
>>>> $ uname -r
>>>> 3.0-0.rc5.git0.1.belegdol4.fc15.x86_64
>>>>
>>>>> - Once when these are correct, check /proc/asound/card0/codec#0:
>>>>>   the widget NID 0x02 should contain "Speaker Playback Volume" instead
>>>>>   of "Headphone Playback Volume" with the latest driver.
>>>>
>>>> Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
>>>>   Control: name="Headphone Playback Volume", index=0, device=0
>>>>
>>>> Perhaps I need to specify a correct model to enable this code?
>>>
>>> No, you shouldn't pass any model option.
>>>
>>> Could you apply the patch below to add some debug prints, and give
>>> the relevant kernel messages you get?  Just grep lines with 'XXX'.
>>>
>>>
>>> Takashi
>>
>> Here you go:
>>
>> $ dmesg | grep XXX
>> [   12.789557] XXX alc662_auto_fill_dac_nids called
>> [   12.789716] XXX filled dacs: 2/0/0/0/0, hp 0, ext 0/0/0
>> [   12.789718] XXX swap primary out to HP
>> [   12.789719] XXX alc662_auto_fill_dac_nids called
>> [   12.789845] XXX filled dacs: 2/0/0/0/0, hp 0, ext 0/0/0
> 
> OK, at this point, something is wrong.
> 
> Could you try the patch again (after reverting the previous debug patch)?
> This will give a bit more outputs.
> 
> I have a vague idea what could be wrong now.  Maybe the connection list
> is differently returned from the real hardware unlike the emulator.
> But I need to see it in more details.
> 
> 
> thanks,
> 
> Takashi

No problem:

$ dmesg | grep XXX
[   14.813013] XXX alc662_auto_fill_dac_nids called
[   14.813015] XXX line_outs=1, 14/0/0
[   14.813016] XXX hp_outs=1, 1b/0/0
[   14.813018] XXX spk_outs=0, 0/0/0
[   14.813186] XXX filled dacs: 2/0/0/0/0, hp 0, ext 0/0/0
[   14.813187] XXX swap primary out to HP
[   14.813188] XXX spk=14
[   14.813190] XXX line=1b
[   14.813191] XXX alc662_auto_fill_dac_nids called
[   14.813192] XXX line_outs=1, 1b/0/0
[   14.813194] XXX hp_outs=0, 0/0/0
[   14.813195] XXX spk_outs=1, 14/0/0
[   14.813311] XXX filled dacs: 2/0/0/0/0, hp 0, ext 0/0/0
[   14.813560] XXX added multi-io pin 1a, dac 3
[   14.813814] XXX added multi-io pin 18, dac 4
[   14.813818] XXX create mixer ch 0 pin 1b dac 2 mix c
[   14.813821] XXX create mixer ch 1 pin 1a dac 3 mix d
[   14.813825] XXX create mixer ch 2 pin 18 dac 4 mix e

Julian


More information about the Alsa-devel mailing list