[alsa-devel] Clevo P170HM / Sager NP8170 audio

Julian Sikorski belegdol at gmail.com
Sun Dec 4 13:41:02 CET 2011


W dniu 04.12.2011 00:59, Raymond Yau pisze:
> 2011/12/2 Julian Sikorski <belegdol at gmail.com>:
>> W dniu 02.12.2011 01:52, Raymond Yau pisze:
>>>>>>>
>>>>>>> $ aplay -l
>>>>>>> **** List of PLAYBACK Hardware Devices ****
>>>>>>> card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>> card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>> card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>> card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>> card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>> card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
>>>>>>>  Subdevices: 1/1
>>>>>>>  Subdevice #0: subdevice #0
>>>>>>>
>>>
>>> How many hdmi connectors on your nvidia ?
>>>
>>> From the viewpoint of the user, I expect only one PCM device for each
>>> hdmi connector
>>
>> There is one hdmi and one dvi. I did not try sending sound via hdmi, though.
>>
> 
> http://thread.gmane.org/gmane.linux.alsa.devel/92097

It seems like this patch requires hda-jack branch. Is there anything
particular I should keep in mind?

> 
>>>
>>>
>>> if you compled alsa-driver in debug mode, you should see the following
>>> message in system log.
>>>
>> How would I do that? Which config option do I need to change?
>>
>>> realtek: Enable HP auto-muting on NID 0x1b
>>> realtek: Enable Line-Out auto-muting on NID 0x17
>>>
> 
> configure --with-debug=verbose
> 
> In theory, , the driver can automatically mute IEC958 Playback Switch
> (turn off the red light for power saving) when you plug/unplug the
> side jack which share with spdif

There is no alsa-driver package in Fedora. As such, I have checked
configure.ac to see what config options are getting changed. It turns
out that CONFIG_SND_DEBUG, CONFIG_SND_DEBUG_VERBOSE and
CONFIG_SND_DEBUG_MEM are changed to y. Since I could not find
CONFIG_SND_DEBUG_MEM anywhere in 3.2 kernel, I only changed the other two:

[   10.631612] ALSA sound/pci/hda/patch_realtek.c:1504 hda_codec:
ALC892: Apply pincfg for Clevo P150HM
[   10.631631] ALSA sound/pci/hda/hda_codec.c:4957 autoconfig:
line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:line
[   10.631638] ALSA sound/pci/hda/hda_codec.c:4961    speaker_outs=1
(0x14/0x0/0x0/0x0/0x0)
[   10.631644] ALSA sound/pci/hda/hda_codec.c:4965    hp_outs=1
(0x1b/0x0/0x0/0x0/0x0)
[   10.631648] ALSA sound/pci/hda/hda_codec.c:4966    mono: mono_out=0x0
[   10.631652] ALSA sound/pci/hda/hda_codec.c:4969    dig-out=0x1e/0x0
[   10.631656] ALSA sound/pci/hda/hda_codec.c:4970    inputs:
[   10.631662] ALSA sound/pci/hda/hda_codec.c:4974  Mic=0x18
[   10.631667] ALSA sound/pci/hda/hda_codec.c:4974  Internal Mic=0x19
[   10.631671] ALSA sound/pci/hda/hda_codec.c:4974  Line=0x1a
[   10.631675] ALSA sound/pci/hda/hda_codec.c:4976
[   10.632857] Front playback volume 2 pin 14
[   10.632859] Front playback switch 14
[   10.632942] Surround playback volume 3 pin 1a
[   10.632944] Surround playback switch 1a
[   10.633111] Side playback volume 5 pin 17
[   10.633112] Side playback switch 17
[   10.633983] ALSA sound/pci/hda/patch_realtek.c:1342 realtek: No valid
SSID, checking pincfg 0x598301f0 for NID 0x1d
[   10.633985] ALSA sound/pci/hda/patch_realtek.c:1425 realtek: Enable
default setup for auto mode as fallback
[   10.634027] ALSA sound/pci/hda/patch_realtek.c:971 realtek: Enable HP
auto-muting on NID 0x1b
[   10.634081] ALSA sound/pci/hda/patch_realtek.c:985 realtek: Enable
Line-Out auto-muting on NID 0x17

Still, it is either all or nothing setting despite what alsamixer says.

> 
>>> The drawback is "Front Playback Volume" and "Front Playback Switch"
>>> does not control the "Headphone Jack" which used as "Front" jack
>>
>> Not really a drawback, since in an unpatched 3.1.2 kernel there are
>> separate "Speaker" and "Headphone" controls which are independent of
>> each other:
>>
>> http://www.alsa-project.org/db/?f=c8a6fc8ced6993631bad6f754249454323422d1a
>>
> 
> speaker test or pulseaudio expect the "front volume" control the front
> jack (i.e. your HP jack) in surround 40 , 51 or 71
> 
> 

I see.

>>>
>>>
>>> Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
>>>   Control: name="Headphone Playback Switch", index=0, device=0
>>>     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>>>   Control: name="Headphone Jack", index=0, device=0
>>>   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
>>>   Amp-In vals:  [0x00 0x00]
>>>   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
>>>   Amp-Out vals:  [0x00 0x00]
>>>   Pincap 0x0001373e: IN OUT HP EAPD Detect Trigger
>>>     Vref caps: HIZ 50 GRD 80 100
>>>   EAPD 0x0:
>>>   Pin Default 0x0121101f: [Jack] HP Out at Ext Rear
>>>     Conn = 1/8, Color = Black
>>>     DefAssociation = 0x1, Sequence = 0xf
>>>   Pin-ctls: 0xc0: OUT HP VREF_HIZ
>>>   Unsolicited: tag=01, enabled=1
>>>   Power states:  D0 D1 D2 D3
>>>   Power: setting=D0, actual=D0
>>>   Connection: 5
>>>      0x0c 0x0d 0x0e 0x0f 0x26*
>>>
>>> The other method is using  "hp_pin" instead of "speaker_pin" to assign
>>> "Front" dac 0x02
>>>
>>> but this method won't create "headphone playback volume" and
>>> "Headphone playback switch" since "hp_pin" is used to create "Front
>>> Playback Volume" and "Front Playback Switch"
>>>
>>>
>>>>>>> Summing up, when it comes to P150HM, the only missing piece is the
>>>>>>> internal subwoofer. I tried emailing Andrew, who started this thread,
>>>>>>> but got no answer so far. The problem might be that we might need to
>>>>>>> figure out what is that THX TruStudio PRO is doing under Windows that
>>>>>>> makes the internal subwoofer work.
>>>>>>
>>>>>>
>>>>>> Take a look at the removed model="targa_8ch_dig" which touch those gpio
>>>>>>
>>>>>> Have you ask the notebook vendor clevo support/engineer the subwoofer
>>>>>> is connected to which pin of alc892 ?
>>>>>
>>>>> I have just sent an email to Clevo UK Support. Let's see what they answer.
>>>>
>>>> I was forwarded to realtek. Is there any way to figure it out ourselves?
>>>>
>>>>>
>>>
>>> The remaining unused output pin is 0x15 and 0x16
>>
>> Yes, this is what we figured earlier already. If P170hm is any similar,
>> 0x16 is the sub:
>> http://mailman.alsa-project.org/pipermail/alsa-devel/2011-August/042981.html
>> The problem is that, as opposed to 0x17, simply switching the pin from
>> in to out and unmuting it does not make sound come out of the subwoofer.
>> Can it be because the center/lfe channel is already assigned to the mic
>> pin? Or do you think that THX is doing some sort of pre-amplification
>> which we need to emulate?
>>
>> Julian
>>
> 
> change one of the unused pin to  speaker pin by hda-jack-retask
> 
> http://thread.gmane.org/gmane.linux.alsa.devel/92229

This program does not work on Fedora due to lack of gksu, so I think I
am limited to plain hda-analyer.

> 
> assign hp to get dac 0x02 instead of speaker_pins[0]
> 
> you have to assign your 0x14 speaker and one of the unused pin of  to
> spec->extra_out
> and increase spec->speaker_outs from 1 to 2
> 
> 
> 8fa7ab48acb636d24669dab291807b487dfb2804
> 
> ALSA: hda - Fix surround/CLFE headphone and speaker pins order

This requires code changes, right? I am afraid this is beyond my
skillset, I am a biologist, after all.

Julian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.txt.xz
Type: application/x-xz
Size: 12236 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20111204/d5892828/attachment-0001.bin 


More information about the Alsa-devel mailing list