W dniu 04.12.2011 00:59, Raymond Yau pisze:
2011/12/2 Julian Sikorski belegdol@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.
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
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