Fix headphone automute on Asus G50Vt laptops
PATCH 1/1 Fix headphone automute on Asus G50Vt laptops
On an Asus G50Vt laptop, plugging in the headphone jack mutes the internal speakers and the headphone jack too. Unplugging the jack unmutes both. This is a regression introduced between linux 2.6.27 and 2.6.28, and is still present in current alsa git sources.
The root cause is that the g50v hooks in the hda-intel/patch_reaktek driver call an automute function for a different model (m51va).
This patch has been sitting in the ALSA bug tracker for more than a year. Any chance int can finally be applied?
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4468 https://bugtrack.alsa-project.org/alsa-bug/file_download.php?file_id=2913&type=bug
Even with this patch applied, there's still a secondary problem of the master 'mute' toggling both headphone and speaker outputs (I'm still poking around with hda_analyzer to figure out why) but even that's a vast improvement over no sound output at all when something's plugged in.
Thanks!
- Solomon
Signature · 3 lines
Solomon Peachy pizza at shaftnet dot org Melbourne, FL ^^ (mail/jabber/gtalk) ^^ Quidquid latine dictum sit, altum viditur.
sound/pci/hda/patch_realtek.c +15 -2
@@ -15421,6 +15421,19 @@ AMP_IN_MUTE(0), bits); } +static void alc663_g50v_speaker_automute (struct hda_codec *codec) +{ +unsigned int present; +unsigned char bits; + + present =snd_hda_codec_read (codec,0x21 ,0 , +AC_VERB_GET_PIN_SENSE ,0 ) + &AC_PINSENSE_PRESENCE ; + bits = present ?HDA_AMP_MUTE :0 ; +snd_hda_codec_amp_stereo (codec,0x14 ,HDA_OUTPUT ,0 , +HDA_AMP_MUTE , bits); +} +static void alc663_21jd_two_speaker_automute (struct hda_codec *codec) {unsigned int present;
@@ -15723,7 +15736,7 @@ {switch (res >>26 ) {case ALC880_HP_EVENT : -alc663_m51va_speaker_automute (codec); +alc663_g50v_speaker_automute (codec);break ;case ALC880_MIC_EVENT :alc662_eeepc_mic_automute (codec);
@@ -15733,7 +15746,7 @@static void alc663_g50v_inithook (struct hda_codec *codec) { -alc663_m51va_speaker_automute (codec); +alc663_g50v_speaker_automute (codec);alc662_eeepc_mic_automute (codec); }
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Fri, 23 Apr 2010 16:08:14 -0400,
Quoted 12 lines · Solomon Peachy
On an Asus G50Vt laptop, plugging in the headphone jack mutes the internal speakers and the headphone jack too. Unplugging the jack unmutes both. This is a regression introduced between linux 2.6.27 and 2.6.28, and is still present in current alsa git sources.
The root cause is that the g50v hooks in the hda-intel/patch_reaktek driver call an automute function for a different model (m51va).
This patch has been sitting in the ALSA bug tracker for more than a year. Any chance int can finally be applied?
Quoted 8 lines
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4468 https://bugtrack.alsa-project.org/alsa-bug/file_download.php?file_id=2913&type=bugEven with this patch applied, there's still a secondary problem of the master 'mute' toggling both headphone and speaker outputs (I'm still poking around with
hda_analyzerto figure out why) but even that's a vast improvement over no sound output at all when something's plugged in.
Thanks for the patch.
The problem is that you change the amp of pin 0x14 while the Speaker mixer element also changes it. That's why changing Master unmutes again.
What about the patch below instead? This fixes the init verbs and sets the headphone DAC properly so that the speaker can be muted independently via the widget 0x0c.
Also, please give alsa-info.sh output (run with --no-upload option) so that I can check with hda-emu.
thanks,
Takashi
---
sound/pci/hda/patch_realtek.c +4 -2
@@ -17277,7 +17277,8 @@ static struct hda_verb alc663_g71v_init_verbs[] = {static struct hda_verb alc663_g50v_init_verbs[] = { {0x21 ,AC_VERB_SET_PIN_WIDGET_CONTROL ,PIN_HP }, {0x21 ,AC_VERB_SET_AMP_GAIN_MUTE ,AMP_OUT_UNMUTE }, - {0x21 ,AC_VERB_SET_CONNECT_SEL ,0x00 },/* Headphone */ + {0x21 ,AC_VERB_SET_CONNECT_SEL ,0x01 },/* 0x0d -> HP */ + {0x14 ,AC_VERB_SET_CONNECT_SEL ,0x00 },/* 0x0c -> SPK */ {0x18 ,AC_VERB_SET_UNSOLICITED_ENABLE ,AC_USRSP_EN |ALC880_MIC_EVENT }, {0x21 ,AC_VERB_SET_UNSOLICITED_ENABLE ,AC_USRSP_EN |ALC880_HP_EVENT },
@@ -18137,8 +18138,9 @@ static struct alc_config_preset alc662_presets[] = { [ALC663_ASUS_G50V] = { .mixers = { alc663_g50v_mixer }, .init_verbs = { alc662_init_verbs, alc663_g50v_init_verbs }, - .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .num_dacs = 1, .dac_nids = alc662_dac_nids, + .hp_nid = 0x03, .dig_out_nid = ALC662_DIGOUT_NID, .num_channel_mode = ARRAY_SIZE(alc662_3ST_6ch_modes), .channel_mode = alc662_3ST_6ch_modes,
Quoted 3 lines · Takashi Iwai
What about the patch below instead? This fixes the init verbs and sets the headphone DAC properly so that the speaker can be muted independently via the widget
0x0c.
This patch is pretty similar to what I did with manual hda-verb twiddling, but also suffers from the same problem; namely no headphone volume control and the mute toggles aren't quite right.
So I tweaked your patch a little to add a volume slider for the headphone channel too -- the "virtual master" slider+toggle now works, yay. Modified patch is attached.
There's still the problem that the 'speaker' and the 'headphone' playback mixer switch affecting both outputs instead of just the one, and I'm not sure why -- If I toggle the 'OUT' pin on node 0x14 (speaker) and 0x21 (headphone) it only affects that particular output. Same for their mute controls.
Quoted 2 lines
Also, please give
alsa-info.shoutput (run with --no-upload option) so that I can check with hda-emu.
I've attached it. (and it's against the 1.0.23 codebase plus the attached patch)
Thanks!
- Solomon
Signature · 3 lines
Solomon Peachy pizza at shaftnet dot org Melbourne, FL ^^ (mail/jabber/gtalk) ^^ Quidquid latine dictum sit, altum viditur.
pci/hda/patch_realtek.c renamed from pci/hda/patch_realtek.c.ORIG +5 -2
@@ -17018,6 +17018,7 @@static struct snd_kcontrol_new alc663_g50v_mixer[] = {HDA_CODEC_VOLUME ("Speaker Playback Volume" ,0x02 ,0x0 ,HDA_OUTPUT ),HDA_CODEC_MUTE ("Speaker Playback Switch" ,0x14 ,0x0 ,HDA_OUTPUT ), +HDA_CODEC_VOLUME ("Headphone Playback Volume" ,0x03 ,0x0 ,HDA_OUTPUT ),HDA_CODEC_MUTE ("Headphone Playback Switch" ,0x21 ,0x0 ,HDA_OUTPUT ),HDA_CODEC_VOLUME ("Mic Playback Volume" ,0x0b ,0x0 ,HDA_INPUT ),
@@ -17277,7 +17278,8 @@static struct hda_verb alc663_g50v_init_verbs[] = { {0x21 ,AC_VERB_SET_PIN_WIDGET_CONTROL ,PIN_HP }, {0x21 ,AC_VERB_SET_AMP_GAIN_MUTE ,AMP_OUT_UNMUTE }, - {0x21 ,AC_VERB_SET_CONNECT_SEL ,0x00 },/* Headphone */ + {0x21 ,AC_VERB_SET_CONNECT_SEL ,0x01 },/* 0x0d -> HP */ + {0x14 ,AC_VERB_SET_CONNECT_SEL ,0x00 },/* 0x0c -> SPK */ {0x18 ,AC_VERB_SET_UNSOLICITED_ENABLE ,AC_USRSP_EN |ALC880_MIC_EVENT }, {0x21 ,AC_VERB_SET_UNSOLICITED_ENABLE ,AC_USRSP_EN |ALC880_HP_EVENT },
@@ -18137,8 +18139,9 @@ [ALC663_ASUS_G50V] = { .mixers = { alc663_g50v_mixer }, .init_verbs = { alc662_init_verbs, alc663_g50v_init_verbs }, - .num_dacs = ARRAY_SIZE(alc662_dac_nids), + .num_dacs = 1, .dac_nids = alc662_dac_nids, + .hp_nid = 0x03, .dig_out_nid = ALC662_DIGOUT_NID, .num_channel_mode = ARRAY_SIZE(alc662_3ST_6ch_modes), .channel_mode = alc662_3ST_6ch_modes,
upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.58
!!################################
!!Script ran on: Mon Apr 26 15:00:02 UTC 2010
!!Linux Distribution
!!------------------
Fedora release 12 (Constantine) Fedora release 12 (Constantine) Fedora release 12 (Constantine) Fedora release 12 (Constantine)
!!DMI Information
!!---------------
Manufacturer: ASUSTeK Computer Inc. Product Name: G50VT
!!Kernel Information
!!------------------
Kernel release: 2.6.32.11-99.fc12.x86_64 Operating System: GNU/Linux Architecture: x86_64 Processor: x86_64 SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version: 1.0.23 Library version: 1.0.22 Utilities version: 1.0.22
!!Loaded ALSA modules
!!-------------------
snd_hda_intel
!!Sound Servers on this system
!!----------------------------
Pulseaudio:
Installed - Yes (/usr/bin/pulseaudio)
Running - Yes
aRts:
Installed - Yes (/usr/bin/artsd)
Running - No
Jack:
Installed - Yes (/usr/bin/jackd)
Running - No
!!Soundcards recognised by ALSA
!!-----------------------------
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xf9ff8000 irq 32
!!PCI Soundcards installed in the system
!!--------------------------------------
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
!!Advanced information - PCI Vendor/Device/Susbsystem ID's !!--------------------------------------------------------
00:1b.0 0403: 8086:293e (rev 03)
Subsystem: 1043:19a3
!!Loaded sound module options
!!--------------------------
!!Module: snd_hda_intel
bdl_pos_adj : 1,-1,-1,-1,-1,-1,-1,-1 beep_mode : 1,1,1,1,1,1,1,1 enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : -1 id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 model : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> patch : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> position_fix : 0,0,0,0,0,0,0,0 power_save : 0 power_save_controller : Y probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : 0,0,0,0,0,0,0,0 single_cmd : N
!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Realtek ALC663
Address: 0
Function Id: 0x1
Vendor Id: 0x10ec0663
Subsystem Id: 0x104319a3
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCMDefault Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=2, o=0, i=0, unsolicited=1, wake=0
IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
Control: name="Speaker Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Device: name="ALC663 Analog", type="Audio", device=0
Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
Amp-Out vals: [0x40 0x40]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
Control: name="Headphone Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0
Amp-Out vals: [0x40 0x40]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x41d: Stereo Amp-Out
Amp-Out caps: ofs=0x40, nsteps=0x40, stepsize=0x03, mute=0 Amp-Out vals: [0x40 0x40]
Converter: stream=0, channel=0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x611: Stereo Digital
Control: name="IEC958 Playback Con Mask", index=0, device=0
Control: name="IEC958 Playback Pro Mask", index=0, device=0
Control: name="IEC958 Playback Default", index=0, device=0
Control: name="IEC958 Playback Switch", index=0, device=0
Control: name="IEC958 Default PCM Playback Switch", index=0, device=0
Device: name="ALC663 Digital", type="SPDIF", device=1
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x07 [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x8b 0x8b]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x23Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
Control: name="Capture Switch", index=0, device=0
Control: name="Capture Volume", index=0, device=0
Device: name="ALC663 Analog", type="Audio", device=0 Amp-In caps: ofs=0x0b, nsteps=0x1f, stepsize=0x05, mute=1 Amp-In vals: [0x13 0x13]
Converter: stream=0, channel=0
SDI-Select: 0
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Control: name="Mic Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Control: name="Mic Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=In, idx=0, ofs=0
Control: name="i-Mic Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=1, ofs=0
Control: name="i-Mic Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=In, idx=1, ofs=0
Control: name="Line Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=In, idx=2, ofs=0
Control: name="Line Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=In, idx=2, ofs=0
Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
Amp-In vals: [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
Connection: 8
0x18 0x19 0x1a 0x1b 0x1d 0x14 0x15 0x16Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x80 0x80] [0x80 0x80]
Connection: 2
0x02 0x0b
Node 0x0d [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00]
Connection: 2
0x03 0x0b
Node 0x0e [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00 0x00] [0x00 0x00]
Connection: 2
0x04 0x0b
Node 0x0f [Audio Mixer] wcaps 0x20010a: Mono Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-In vals: [0x00] [0x80]
Connection: 2
0x02 0x0b
Node 0x10 [Audio Output] wcaps 0x611: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0x5e0]: 44100 48000 88200 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x11 [Pin Complex] wcaps 0x400700: Mono Digital
Pincap 0x00000010: OUT
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0 Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x10
Node 0x12 [Pin Complex] wcaps 0x400401: Stereo
Pincap 0x00000020: IN
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x13 [Pin Complex] wcaps 0x400401: Stereo
Pincap 0x00000020: IN
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0001003c: IN OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x99130110: [Fixed] Speaker at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 2
0x0c* 0x0dNode 0x15 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00]
Pincap 0x0001003c: IN OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 2
0x0c* 0x0d
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x00 0x00]
Pincap 0x00000034: IN OUT Detect
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x0e
Node 0x17 [Pin Complex] wcaps 0x40050c: Mono Amp-Out
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80]
Pincap 0x00000010: OUT
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x0f
Node 0x18 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
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: [0x80 0x80]
Pincap 0x00001734: IN OUT Detect
Vref caps: HIZ 50 GRD 80
Pin Default 0x01a19840: [Jack] Mic at Ext Rear
Conn = 1/8, Color = Pink
DefAssociation = 0x4, Sequence = 0x0
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=08, enabled=1
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x0e
Node 0x19 [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
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: [0x80 0x80]
Pincap 0x0000173c: IN OUT HP Detect
Vref caps: HIZ 50 GRD 80
Pin Default 0x99a30941: [Fixed] Mic at Int ATAPI
Conn = ATAPI, Color = Unknown
DefAssociation = 0x4, Sequence = 0x1
Misc = NO_PRESENCE
Pin-ctls: 0x24: IN VREF_80
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 3
0x0c* 0x0d 0x0e
Node 0x1a [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
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: [0x80 0x80]
Pincap 0x00001734: IN OUT Detect
Vref caps: HIZ 50 GRD 80
Pin Default 0x0181304f: [Jack] Line In at Ext Rear
Conn = 1/8, Color = Blue
DefAssociation = 0x4, Sequence = 0xf
Pin-ctls: 0x20: IN VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x0d
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
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 0x0000173c: IN OUT HP Detect
Vref caps: HIZ 50 GRD 80
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0xc0: OUT HP VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 3
0x0c* 0x0d 0x0e
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1d [Pin Complex] wcaps 0x400400: Mono
Pincap 0x00000020: IN
Pin Default 0x598301f0: [N/A] Line In at Int ATAPI
Conn = ATAPI, Color = Unknown DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x20: IN
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400780: Mono Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x99430120: [Fixed] SPDIF Out at Int ATAPI
Conn = ATAPI, Color = Unknown DefAssociation = 0x2, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 1
0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
Processing caps: benign=0, ncoeff=17
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Headphone Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0000001c: OUT HP Detect
Pin Default 0x0121441f: [Jack] HP Out at Ext Rear
Conn = 1/8, Color = Green
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=04, enabled=1
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 3
0x0c 0x0d* 0x0eNode 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00]
Connection: 10
0x18 0x19 0x1a 0x1b 0x1d 0x14 0x15 0x16 0x0b 0x12
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-In vals: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
Connection: 10
0x18 0x19 0x1a 0x1b 0x1d 0x14 0x15 0x16 0x0b 0x13
Codec: Nvidia MCP77/78 HDMI
Address: 2
Function Id: 0x1
Vendor Id: 0x10de0005
Subsystem Id: 0x10de0101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
rates [0x0]:
bits [0x0]:
formats [0x0]:Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital
Control: name="IEC958 Playback Con Mask", index=1, device=0
Control: name="IEC958 Playback Pro Mask", index=1, device=0
Control: name="IEC958 Playback Default", index=1, device=0
Control: name="IEC958 Playback Switch", index=1, device=0
Device: name="NVIDIA HDMI", type="HDMI", device=3
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCMNode 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x18560110: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x04
Node 0x06 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCMNode 0x07 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560121: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x1
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x06
Node 0x08 [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCMNode 0x09 [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560122: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x2
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x08
Node 0x0a [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCMNode 0x0b [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560123: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x3
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0a
Node 0x0c [Audio Output] wcaps 0x211: Stereo Digital
Converter: stream=0, channel=0
Digital:
Digital category: 0x0
PCM:
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCMNode 0x0d [Pin Complex] wcaps 0x400381: Stereo Digital
Pincap 0x00000014: OUT Detect
Pin Default 0x58560124: [N/A] Digital Out at Int HDMI
Conn = Digital, Color = Unknown DefAssociation = 0x2, Sequence = 0x4
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x0c
--endcollapse--
!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 0 Apr 26 10:55 /dev/snd/controlC0 crw-rw----+ 1 root audio 116, 4 Apr 26 10:55 /dev/snd/hwC0D0 crw-rw----+ 1 root audio 116, 6 Apr 26 10:55 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116, 24 Apr 26 10:57 /dev/snd/pcmC0D0c crw-rw----+ 1 root audio 116, 16 Apr 26 10:59 /dev/snd/pcmC0D0p crw-rw----+ 1 root audio 116, 17 Apr 26 10:57 /dev/snd/pcmC0D1p crw-rw----+ 1 root audio 116, 19 Apr 26 10:57 /dev/snd/pcmC0D3p crw-rw----+ 1 root audio 116, 1 Apr 26 10:55 /dev/snd/seq crw-rw----+ 1 root audio 116, 33 Apr 26 10:55 /dev/snd/timer
/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 60 Apr 26 10:55 .
drwxr-xr-x 3 root root 240 Apr 26 10:55 ..
lrwxrwxrwx 1 root root 12 Apr 26 10:55 pci-0000:00:1b.0 -> ../controlC0
!!ALSA configuration files
!!------------------------
!!User specific config file (~/.asoundrc)
# AUDIODEV=default1
# -ao alsa:device=default1
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
!!System wide config file (/etc/asound.conf)
#
# Place your global alsa-lib configuration here... #
@hooks [
{
func load
files [
"/etc/alsa/pulse-default.conf"
]
errors false
}]
!!Aplay/Arecord output
!!------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC663 Analog [ALC663 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC663 Digital [ALC663 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC663 Analog [ALC663 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [Intel]
Card hw:0 'Intel'/'HDA Intel at 0xf9ff8000 irq 32'
Mixer name : 'Nvidia MCP77/78 HDMI'
Components : 'HDA:10ec0663,104319a3,00100001 HDA:10de0005,10de0101,00100000'
Controls : 24
Simple ctrls : 11
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [0.00dB] [on]
Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [0.00dB] [on]
Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Line',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 23 [74%] [0.00dB] [off]
Front Right: Playback 23 [74%] [0.00dB] [off]
Simple mixer control 'Mic',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 23 [74%] [0.00dB] [off]
Front Right: Playback 23 [74%] [0.00dB] [off]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958 Default PCM',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 19 [61%] [12.00dB] [on]
Front Right: Capture 19 [61%] [12.00dB] [on]
Simple mixer control 'i-Mic',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 23 [74%] [0.00dB] [off]
Front Right: Playback 23 [74%] [0.00dB] [off]
!!Alsactl output
!!-------------
--startcollapse--
state.Intel {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 64'
comment.dbmin -6400
comment.dbmax 0
iface MIXER
name 'Speaker Playback Volume'
value.0 64
value.1 64
}
control.2 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Speaker Playback Switch'
value.0 true
value.1 true
}
control.3 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 64'
comment.dbmin -6400
comment.dbmax 0
iface MIXER
name 'Headphone Playback Volume'
value.0 64
value.1 64
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Headphone Playback Switch'
value.0 true
value.1 true
}
control.5 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Mic Playback Volume'
value.0 23
value.1 23
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Mic Playback Switch'
value.0 false
value.1 false
}
control.7 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'i-Mic Playback Volume'
value.0 23
value.1 23
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'i-Mic Playback Switch'
value.0 false
value.1 false
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -3450
comment.dbmax 1200
iface MIXER
name 'Line Playback Volume'
value.0 23
value.1 23
}
control.10 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Line Playback Switch'
value.0 false
value.1 false
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 31'
comment.dbmin -1650
comment.dbmax 3000
iface MIXER
name 'Capture Volume'
value.0 19
value.1 19
}
control.13 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.14 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.15 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.16 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
value false
}
control.17 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Default PCM Playback Switch'
value true
}
control.18 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 64'
comment.dbmin -6400
comment.dbmax 0
iface MIXER
name 'Master Playback Volume'
value 64
}
control.19 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.20 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Con Mask'
index 1
value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.21 {
comment.access read
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Pro Mask'
index 1
value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.22 {
comment.access 'read write'
comment.type IEC958
comment.count 1
iface MIXER
name 'IEC958 Playback Default'
index 1
value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
}
control.23 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'IEC958 Playback Switch'
index 1
value false
}
control.24 {
comment.access 'read write user'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
comment.tlv '0000000100000008ffffec1400000014'
comment.dbmin -5100
comment.dbmax 0
iface MIXER
name 'PCM Playback Volume'
value.0 255
value.1 255
}
}--endcollapse--
!!All Loaded Modules
!!------------------
Module
hidp
rfcomm
sco
bridge
stp
llc
bnep
l2cap
irnetppp_generic
slhcirtty_sirsir_devircomm_tty
ircomm
irdacrc_ccitt
autofs4
coretemp
sunrpccpufreq_ondemandacpi_cpufreqfreq_table
fusekvm_intel
kvm
uinputsnd_hda_codec_nvhdmisnd_hda_codec_realtek
arc4snd_hda_intelsnd_hda_codec
ecbsnd_hwdep
iwlagnsnd_seqsnd_seq_devicesnd_pcm
iwlcoresnd_timer
mac80211
uvcvideo
snd
soundcoresnd_page_alloc
cfg80211
btusb
videodevsdhci_pci
sdhciasus_laptop
bluetooth
r8169mmc_core
miiasus_oledv4l1_compatv4l2_compat_ioctl32
rfkilliTCO_wdtiTCO_vendor_support
joydevdm_multipath
video
outputfirewire_ohcifirewire_corecrc_itu_t
nouveau
ttmdrm_kms_helper
drmi2c_algo_biti2c_core
!!Sysfs Files
!!-----------
/sys/class/sound/hwC0D0/init_pin_configs:0x11 0x411111f00x12 0x411111f00x13 0x411111f00x14 0x991301100x15 0x411111f00x16 0x411111f00x17 0x411111f00x18 0x01a198400x19 0x99a309410x1a 0x0181304f0x1b 0x411111f00x1d 0x598301f00x1e 0x994301200x21 0x0121441f
/sys/class/sound/hwC0D0/driver_pin_configs:
/sys/class/sound/hwC0D0/user_pin_configs:
/sys/class/sound/hwC0D0/init_verbs:
/sys/class/sound/hwC0D2/init_pin_configs:0x05 0x185601100x07 0x585601210x09 0x585601220x0b 0x585601230x0d 0x58560124
/sys/class/sound/hwC0D2/driver_pin_configs:
/sys/class/sound/hwC0D2/user_pin_configs:
/sys/class/sound/hwC0D2/init_verbs:
!!ALSA/HDA dmesg
!!------------------
alloc kstat_irqs on node -1
HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
alloc irq_desc for 32 on node -1
alloc kstat_irqs on node -1
HDA Intel 0000:00:1b.0: irq 32 for MSI/MSI-X
HDA Intel 0000:00:1b.0: setting latency timer to 64
phy0: Selected rate control algorithm 'iwl-agn-rs'hda_codec: ALC663: SKU not ready 0x598301f0
input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input9
cfg80211: Calling CRDA for country: US
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Mon, 26 Apr 2010 11:20:29 -0400,
Quoted 9 lines · Solomon Peachy
Quoted 3 lines · Takashi Iwai
What about the patch below instead? This fixes the init verbs and sets the headphone DAC properly so that the speaker can be muted independently via the widget
0x0c.This patch is pretty similar to what I did with manual hda-verb twiddling, but also suffers from the same problem; namely no headphone volume control and the mute toggles aren't quite right.
Yeah, the headphone volume was missing, indeed.
Quoted 9 lines
So I tweaked your patch a little to add a volume slider for the headphone channel too -- the "virtual master" slider+toggle now works, yay. Modified patch is attached.
There's still the problem that the 'speaker' and the 'headphone' playback mixer switch affecting both outputs instead of just the one, and I'm not sure why -- If I toggle the 'OUT' pin on node
0x14(speaker) and0x21(headphone) it only affects that particular output. Same for their mute controls.
That's weird. So, changing the amp of only one of NIDs 0x02 or 0x03 influences really on both outputs...?
Quoted 5 lines
Quoted 2 lines
Also, please give
alsa-info.shoutput (run with --no-upload option) so that I can check with hda-emu.I've attached it. (and it's against the 1.0.23 codebase plus the attached patch)
Thanks.
Another thing you can try is to just use model=auto. With the latest version, it should work relatively well.
Takashi
Quoted 9 lines · Takashi Iwai
Quoted 6 lines
There's still the problem that the 'speaker' and the 'headphone' playback mixer switch affecting both outputs instead of just the one, and I'm not sure why -- If I toggle the 'OUT' pin on node
0x14(speaker) and0x21(headphone) it only affects that particular output. Same for their mute controls.That's weird. So, changing the amp of only one of NIDs
0x02or0x03influences really on both outputs...?
That's just it -- there's something going on here that I don't understand -- The mute swiches are defined as:
HDA_CODEC_MUTE("Speaker Playback Switch", 0x14, 0x0, HDA_OUTPUT), HDA_CODEC_MUTE("Headphone Playback Switch", 0x21, 0x0, HDA_OUTPUT),
If manually toggle these pins using hda-analyzer, only that specifc output is disabled/enabled. But if I use alsamixer to toggle these switches, both outputs are disabled/enabled. I don't know enough about the bowels of the ALSA codebase to even theorize why this could be happening (though I am using the v1.0.22 userspace stuff against a 1.0.23 kernel stack -- or maybe pulseaudio is mucking with something?)
Quoted 2 lines
Another thing you can try is to just use model=auto. With the latest version, it should work relatively well.
I've never specified a model=xxxx argument. Leaving model=xxxx off should be the same thing as model=auto, right?
(and by latest do you mean git head?)
In any case, the 'take3' patch is such an improvement over the former state of affairs that in my opinion it should be applied -- we can always apply another patch once the mute wonkiness is figued out.
Thanks!
- Solmon
Signature · 3 lines
Solomon Peachy pizza at shaftnet dot org Melbourne, FL ^^ (mail/jabber/gtalk) ^^ Quidquid latine dictum sit, altum viditur.
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Mon, 26 Apr 2010 12:21:52 -0400,
Quoted 18 lines · Solomon Peachy
Quoted 9 lines · Takashi Iwai
Quoted 6 lines
There's still the problem that the 'speaker' and the 'headphone' playback mixer switch affecting both outputs instead of just the one, and I'm not sure why -- If I toggle the 'OUT' pin on node
0x14(speaker) and0x21(headphone) it only affects that particular output. Same for their mute controls.That's weird. So, changing the amp of only one of NIDs
0x02or0x03influences really on both outputs...?That's just it -- there's something going on here that I don't understand -- The mute swiches are defined as:
HDA_CODEC_MUTE("Speaker Playback Switch", 0x14, 0x0, HDA_OUTPUT),HDA_CODEC_MUTE("Headphone Playback Switch", 0x21, 0x0, HDA_OUTPUT),
Quoted 6 lines
If manually toggle these pins using hda-analyzer, only that specifc output is disabled/enabled. But if I use alsamixer to toggle these switches, both outputs are disabled/enabled. I don't know enough about the bowels of the ALSA codebase to even theorize why this could be happening (though I am using the v1.0.22 userspace stuff against a 1.0.23 kernel stack -- or maybe pulseaudio is mucking with something?)
Hm, this doesn't appear on emulator, so I can't say what could be wrong. Try a naked system without PA once, just to be sure.
Quoted 6 lines
Quoted 2 lines
Another thing you can try is to just use model=auto. With the latest version, it should work relatively well.
I've never specified a model=xxxx argument. Leaving model=xxxx off should be the same thing as model=auto, right?
(and by latest do you mean git head?)
No, in your case, the specific model quirk is chosen. You need to pass model=auto explicitly.
Quoted 3 lines
In any case, the 'take3' patch is such an improvement over the former state of affairs that in my opinion it should be applied -- we can always apply another patch once the mute wonkiness is figued out.
Yes.
thanks,
Takashi