[alsa-devel] Plugged in headphones ignored

Tanu Kaskinen tanuk at iki.fi
Sat Jul 27 09:03:39 CEST 2019


On Fri, 2019-07-26 at 14:57 +0200, Paul Menzel wrote:
> Dear Linux folks,
> 
> 
> On 6/27/19 1:02 PM, Paul Menzel wrote:
> 
> > On a Dell OptiPlex 5040 with Linux 5.2-rc6 plugging in a
> > head phone into the front case connector, it is detected
> > just fine and Xfce shows a notification.
> > 
> > Then logging out, turning off the monitor connected over
> > DisplayPort at the end of the day, and turning the monitor
> > back on the next morning, logging in, the state is
> > forgotten. I need to unplug the head phone and plug it
> > back in.
> 
> This is still happening in Linux 5.3-rc1. Additionally, the
> problem also shows up, when starting the (powered-off)
> system with the headphones plugged in. No sound is played.
> After unplugging the headphones, the internal speaker
> outputs the sound. Plugging the headphones back in, sound
> comes over the headphones.
> 
> Here is the difference in of the states.
> 
> ```
> > diff -u alsa-info-1.txt alsa-info-2.txt 
> --- alsa-info-1.txt	2019-07-26 14:44:06.156811664 +0200
> +++ alsa-info-2.txt	2019-07-26 14:44:19.901891301 +0200
> @@ -3,7 +3,7 @@
>  !!ALSA Information Script v 0.4.64
>  !!################################
>  
> -!!Script ran on: Fri Jul 26 12:44:05 UTC 2019
> +!!Script ran on: Fri Jul 26 12:44:19 UTC 2019
>  
>  
>  !!Linux Distribution
> @@ -208,7 +208,7 @@
>    Control: name="Speaker Playback Volume", index=0, device=0
>      ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>    Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
> -  Amp-Out vals:  [0x57 0x57]
> +  Amp-Out vals:  [0x00 0x00]
>    Converter: stream=1, channel=0
>    PCM:
>      rates [0x60]: 44100 48000
> @@ -221,7 +221,7 @@
>      ControlAmp: chs=3, dir=Out, idx=0, ofs=0
>    Device: name="ALC3234 Analog", type="Audio", device=0
>    Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
> -  Amp-Out vals:  [0x00 0x00]
> +  Amp-Out vals:  [0x57 0x57]
>    Converter: stream=1, channel=0
>    PCM:
>      rates [0x60]: 44100 48000
> @@ -326,7 +326,7 @@
>    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]
> +  Amp-Out vals:  [0x80 0x80]
>    Pincap 0x00010014: OUT EAPD Detect
>    EAPD 0x2: EAPD
>    Pin Default 0x90170110: [Fixed] Speaker at Int N/A
> @@ -444,7 +444,7 @@
>    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:  [0x80 0x80]
> +  Amp-Out vals:  [0x00 0x00]
>    Pincap 0x0001001c: OUT HP EAPD Detect
>    EAPD 0x2: EAPD
>    Pin Default 0x0221101f: [Jack] HP Out at Ext Front
> @@ -587,8 +587,8 @@
>    Capabilities: pswitch
>    Playback channels: Front Left - Front Right
>    Mono:
> -  Front Left: Playback [off]
> -  Front Right: Playback [off]
> +  Front Left: Playback [on]
> +  Front Right: Playback [on]
>  Simple mixer control 'Headphone Mic',0
>    Capabilities: pvolume pswitch
>    Playback channels: Front Left - Front Right
> @@ -608,15 +608,15 @@
>    Playback channels: Front Left - Front Right
>    Limits: Playback 0 - 87
>    Mono:
> -  Front Left: Playback 0 [0%] [-65.25dB]
> -  Front Right: Playback 0 [0%] [-65.25dB]
> +  Front Left: Playback 87 [100%] [0.00dB]
> +  Front Right: Playback 87 [100%] [0.00dB]
>  Simple mixer control 'Speaker',0
>    Capabilities: pvolume pswitch
>    Playback channels: Front Left - Front Right
>    Limits: Playback 0 - 87
>    Mono:
> -  Front Left: Playback 87 [100%] [0.00dB] [on]
> -  Front Right: Playback 87 [100%] [0.00dB] [on]
> +  Front Left: Playback 0 [0%] [-65.25dB] [off]
> +  Front Right: Playback 0 [0%] [-65.25dB] [off]
>  Simple mixer control 'PCM',0
>    Capabilities: pvolume
>    Playback channels: Front Left - Front Right
> @@ -698,8 +698,8 @@
>  	control.1 {
>  		iface MIXER
>  		name 'Headphone+LO Playback Volume'
> -		value.0 0
> -		value.1 0
> +		value.0 87
> +		value.1 87
>  		comment {
>  			access 'read write'
>  			type INTEGER
> @@ -707,8 +707,8 @@
>  			range '0 - 87'
>  			dbmin -6525
>  			dbmax 0
> -			dbvalue.0 -6525
> -			dbvalue.1 -6525
> +			dbvalue.0 0
> +			dbvalue.1 0
>  		}
>  	}
>  	control.2 {
> @@ -725,8 +725,8 @@
>  	control.3 {
>  		iface MIXER
>  		name 'Headphone Playback Switch'
> -		value.0 false
> -		value.1 false
> +		value.0 true
> +		value.1 true
>  		comment {
>  			access 'read write'
>  			type BOOLEAN
> @@ -736,8 +736,8 @@
>  	control.4 {
>  		iface MIXER
>  		name 'Speaker Playback Volume'
> -		value.0 87
> -		value.1 87
> +		value.0 0
> +		value.1 0
>  		comment {
>  			access 'read write'
>  			type INTEGER
> @@ -745,15 +745,15 @@
>  			range '0 - 87'
>  			dbmin -6525
>  			dbmax 0
> -			dbvalue.0 0
> -			dbvalue.1 0
> +			dbvalue.0 -6525
> +			dbvalue.1 -6525
>  		}
>  	}
>  	control.5 {
>  		iface MIXER
>  		name 'Speaker Playback Switch'
> -		value.0 true
> -		value.1 true
> +		value.0 false
> +		value.1 false
>  		comment {
>  			access 'read write'
>  			type BOOLEAN
> ```
> 
> Is
> 
> ```
> -  Front Left: Playback [off]
> -  Front Right: Playback [off]
> +  Front Left: Playback [on]
> +  Front Right: Playback [on]
> ```
> 
> the cause?
> 
> > Please find the output alsa-config.sh for the non-working
> > (1) and replugged (2) situations attached.
> > 
> > Is that a Linux kernel problem, or a user space issue?

It looks more like a user space issue. If the kernel reports the
headphone status as unplugged when they're not, then that's a kernel
issue, but I didn't spot any jack status differences in the diff you
posted. You could report[1] a bug on PulseAudio (if you're using it),
and include a "pactl lsit" diff between working and not-working state.

[1] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/new

-- 
Tanu

https://www.patreon.com/tanuk
https://liberapay.com/tanuk



More information about the Alsa-devel mailing list