[alsa-devel] Plugged in headphones ignored
Dear Linux folks,
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.
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?
Kind regards,
Paul
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?
Kind regards,
Paul
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
participants (2)
-
Paul Menzel
-
Tanu Kaskinen