lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPpJ_ed8NiqJHz8uFRdpqs0Sf_DKLUWJyb213oHyLUyXEdPXKA@mail.gmail.com>
Date:   Mon, 9 Apr 2018 11:01:41 +0800
From:   Jian-Hong Pan <jian-hong@...lessm.com>
To:     Takashi Iwai <tiwai@...e.de>
Cc:     alsa-devel@...a-project.org, Hui Wang <hui.wang@...onical.com>,
        linux@...lessm.com, Jaroslav Kysela <perex@...ex.cz>,
        Kailang Yang <kailang@...ltek.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ALSA: hda/realtek: Enable audio line out on ASUS D640SA

2018-04-03 17:04 GMT+08:00 Takashi Iwai <tiwai@...e.de>:
> On Tue, 03 Apr 2018 10:43:02 +0200,
> Jian-Hong Pan wrote:
>>
>> 2018-04-02 19:29 GMT+08:00 Takashi Iwai <tiwai@...e.de>:
>> >
>> > On Mon, 02 Apr 2018 09:33:13 +0200,
>> > Jian-Hong Pan wrote:
>> > >
>> > > This ASUS D640SA desktop whose mother board is D640MB has
>> > > - two jacks which are a headphone and a mic on the front panel,
>> > > - three jacks which are a mic, a line out and a line in on the rear panel
>> > > - one internal speaker.
>> > >
>> > > If I plug a headphone to the front headphone jack, there will be sound
>> > > through the headphone jack, and no sound through the internal speaker.
>> > > If I unplug the headphone from the the headphone jack, there will be
>> > > sound through the internal speaker.  And always no sound through rear
>> > > line out, when I plug a headphone or an externel speaker to the rear
>> > > line out jack.
>> > >
>> > > Besides, I had checked and toggled the Auto-Mute Mode in alsamixer, but
>> > > the rear line out still was not working.  Then I checked the sound
>> > > settings in GUI, and found there was no "Line Out" could be chosen, only
>> > > the "Headphones" and "HDMI/DisplayPort".
>> > > However, system does know that there is an "Intel PCH Line Out".
>> > >
>> > > [   10.089082] snd_hda_codec_realtek hdaudioC0D0: autoconfig for
>> > > ALC887-VD: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
>> > > [   10.089083] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=1
>> > > (0x1a/0x0/0x0/0x0/0x0)
>> > > [   10.089084] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1
>> > > (0x1b/0x0/0x0/0x0/0x0)
>> > > [   10.089085] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
>> > > [   10.089086] snd_hda_codec_realtek hdaudioC0D0:    inputs:
>> > > [   10.089087] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
>> > > [   10.089088] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
>> > > [   10.089089] snd_hda_codec_realtek hdaudioC0D0:      Line=0x15
>> > > [   10.104387] input: HDA Intel PCH Rear Mic as
>> > > /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
>> > > [   10.104416] input: HDA Intel PCH Front Mic as
>> > > /devices/pci0000:00/0000:00:1f.3/sound/card0/input10
>> > > [   10.104441] input: HDA Intel PCH Line as
>> > > /devices/pci0000:00/0000:00:1f.3/sound/card0/input11
>> > > [   10.104467] input: HDA Intel PCH Line Out as
>> > > /devices/pci0000:00/0000:00:1f.3/sound/card0/input12
>> > > [   10.104494] input: HDA Intel PCH Front Headphone as
>> > > /devices/pci0000:00/0000:00:1f.3/sound/card0/input13
>> > >
>> > > Consequently, I checked the pin widgets' default configuration values:
>> > > - Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
>> > >     Pin Default 0x01014010: [Jack] Line Out at Ext Rear
>> > >
>> > > - Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
>> > >     Pin Default 0x02214030: [Jack] HP Out at Ext Front
>> > >
>> > > Because the headphone jack (Node ID:0x1b) locates on the desktop's front
>> > > panel, not rear panel, I change the headphone jack's configuration from
>> > > primary chassis to separate chassis.  So, the configuration value of
>> > > Node ID:0x1b should be 0x22214030.
>> >
>> > This is OK, but...
>> >
>> > > Additionally, I toggle the Auto-Mute Mode of Realtek codecs to “Speaker
>> > > Only” which makes signal outputs through line out jack when the "Line
>> > > Out" is chosen in the sound settings.
>> >
>> > ... this is a matter of taste, and I don't think it good to set a
>> > different default from others.  You can change it once and save it via
>> > alsactl.
>>
>> The default state of Auto-Mute Mode of Realtek codec on this machine is
>> "Line Out + Speaker".
>> This disallows to output audio signal through the line out jack, even I already
>> choose the "Line Out" as the audio output device in the sound settings.
>> It means there is no way to use the line out jack in "Line Out + Speaker" state
>> of Auto-Mute Mode on this machine.
>
> It's a setup issue by PA, and it's not specific to this device at
> all.  If PA wants the independent output, it can change to auto-mute
> off by itself.
>
>> To enhance the user experience, especially the new one who first uses Linux,
>> changing this machine's Auto-Mute Mode to "Speaker Only" state, which allows
>> to output the audio signal through the line out jack, will be the better choice.
>>
>> By the way, if the "Headphones" is chosen as the audio output device in the
>> sound settings, the audio signal will not output through the line out jack
>> automatically.
>>
>> Therefore, I think this part of the quirk is still needed on this machine.
>
> Again, this isn't about the machine configuration, but a generic PA
> problem.  Fixing it in a device-specific fixup is no right way.

Thanks for the hint which is about the PulseAudio.
I will try to figure out the fix for the Auto-Mute problem with
PulseAudio first.
And the pin configuration fixup may be not need or still needed, after the try.

Thanks,

Jian-Hong Pan

>
> thanks,
>
> Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ