On Mon, 14 Mar 2016 19:39:26 +0100, moosotc@xxxxxxxxx wrote: > > Takashi Iwai <tiwai@xxxxxxx> writes: > > > On Mon, 14 Mar 2016 18:16:11 +0100, > > moosotc@xxxxxxxxx wrote: > >> > >> Takashi Iwai <tiwai@xxxxxxx> writes: > >> > >> > On Mon, 14 Mar 2016 09:11:10 +0100, > >> > moosotc@xxxxxxxxx wrote: > >> >> > >> >> [1 Output of alsa-info.sh <application/octet-stream (base64)>] > >> >> > >> >> > >> >> `amixer set Speaker unmute' makes no difference > >> >> physically unplugging the headphone jack from the socket does, i.e. > >> >> `amixer set Speaker (un)mute' does the right thing. > >> > > >> > Could you give more details? The description is too concise and > >> > vague. > >> > > >> > >> I have a script to toggles sound emission by the built-in speaker: > >> > >> #!/bin/sh > >> amixer get Speaker | grep -q "\[on\]" && onoff="mute" || onoff="unmute" > >> amixer set Speaker $onoff > >> echo "$onoff" > >> > >> As we speak: > >> > >> `--> atoggle > >> Simple mixer control 'Speaker',0 > >> Capabilities: pvolume pswitch > >> Playback channels: Front Left - Front Right > >> Limits: Playback 0 - 127 > >> Mono: > >> Front Left: Playback 127 [100%] [0.00dB] [on] > >> Front Right: Playback 127 [100%] [0.00dB] [on] > >> unmute > >> > >> This setting is ignored when (i.e. speaker is always silent) if the > >> headphone jack is plugged in. > >> > >> This used to work in prior kernels, I believe I've shared my bisection > >> results with you in one of the earlier (personal) e-mails, if there's a > >> better way to achieve the desired result (i.e. control sound emission by > >> the speaker regardless of the headphone jack plug-status) I'll happily > >> use that instead. > > > > As mentioned, make sure that you disable auto-mute mode: > > amixer set "Auto-Mute Mode" "Disabled" > > > > If you still have no speaker output even after that, give alsa-info.sh > > output with non-working state, and also the alsa-info.sh output from > > the working state on the earlier kernel. > > > > > jack | speaker | auto-mute | spaker emits sound > 000 unplugged | muted | disabled | no > 001 unplugged | muted | enabled | no > 010 unplugged | unmuted | disabled | yes > 011 unplugged | unmuted | enabled | yes > 100 plugged | muted | disabled | no > 101 plugged | muted | enabled | no > 110 plugged | unmuted | disabled | no > 111 plugged | unmuted | enabled | no > > alsa-info outputs can be found in the attached archive Thanks. This seems to be the missing GPIO setup when the auto-mute is disabled. Could you give the patch below? Takashi --- diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index c1c855a6c0af..a47e8ae0eb30 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -174,8 +174,12 @@ static void cs_automute(struct hda_codec *codec) snd_hda_gen_update_outputs(codec); if (spec->gpio_eapd_hp || spec->gpio_eapd_speaker) { - spec->gpio_data = spec->gen.hp_jack_present ? - spec->gpio_eapd_hp : spec->gpio_eapd_speaker; + if (spec->gen.automute_speaker) + spec->gpio_data = spec->gen.hp_jack_present ? + spec->gpio_eapd_hp : spec->gpio_eapd_speaker; + else + spec->gpio_data = + spec->gpio_eapd_hp | spec->gpio_eapd_speaker; snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, spec->gpio_data); } _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel