You are not logged in.
Pages: 1
Topic closed
Hello,
with the Lenovo Thinkpad E485 i need a solution to fix a swapped muting of output channels.
failure:
- headphones plugged in: integrated speakers are unmuted and sound is playing over the speaker and the headphone jack is muted.
- headphones plugged out: headphone output unmuted and integrated speakers muted.
I am able to unmute and mute the headphone and speaker output with alsamixer, also able to set a new volume to the outputs to hear sound from it.
The outputs are labeled correct in alsamixer.
pavucontrol shows the plugged/unplugged status on headphone channel.
I tried to invert the jacks via snd_hda_codec. But it is a unknown parameter.
Tried to add the inv jack parameter to all loaded snd* modules. But it is not working
$ cat /etc/modprobe.d/snd_hda_core.conf
options snd_hda_codec_conexant inv_jack_detect=1
options snd_hda_codec_generic inv_jack_detect=1
options snd_hda_codec_hdmi inv_jack_detect=1
options snd_hda_intel inv_jack_detect=1
options snd_hda_codec inv_jack_detect=1
options snd_hda_core inv_jack_detect=1
options snd_hwdep inv_jack_detect=1
options snd_pcm inv_jack_detect=1
options snd_time inv_jack_detect=1
options snd inv_jack_detect=1
options soundcore inv_jack_detect=1
$ dmesg|grep jack
[ 2.703993] soundcore: unknown parameter 'inv_jack_detect' ignored
[ 2.735130] snd: unknown parameter 'inv_jack_detect' ignored
[ 2.767413] snd_pcm: unknown parameter 'inv_jack_detect' ignored
[ 2.770595] snd_hwdep: unknown parameter 'inv_jack_detect' ignored
[ 2.803639] snd_hda_core: unknown parameter 'inv_jack_detect' ignored
[ 2.838967] snd_hda_codec: unknown parameter 'inv_jack_detect' ignored
[ 2.860471] snd_hda_intel: unknown parameter 'inv_jack_detect' ignored
[ 2.887159] snd_hda_codec_hdmi: unknown parameter 'inv_jack_detect' ignored
[ 2.889648] snd_hda_codec_generic: unknown parameter 'inv_jack_detect' ignored
[ 2.897774] snd_hda_codec_conexant: unknown parameter 'inv_jack_detect' ignored
in the following output there is a diff between unplugged and plugged headphones ( cat /proc/asound/card1/codec#0 )
$ diff -y plugged unplugged
Codec: Conexant CX20753/4 Codec: Conexant CX20753/4
Address: 0 Address: 0
AFG Function Id: 0x1 (unsol 1) AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f15111 Vendor Id: 0x14f15111
Subsystem Id: 0x17aa5070 Subsystem Id: 0x17aa5070
Revision Id: 0x100101 Revision Id: 0x100101
No Modem Function Group found No Modem Function Group found
Default PCM: Default PCM:
rates [0x160]: 44100 48000 96000 rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24 bits [0xe]: 16 20 24
formats [0x1]: PCM formats [0x1]: PCM
Default Amp-In caps: N/A Default Amp-In caps: N/A
Default Amp-Out caps: N/A Default Amp-Out caps: N/A
State of AFG node 0x01: State of AFG node 0x01:
Power states: D0 D1 D2 D3 D3cold S3D3cold CLKSTOP EPSS Power states: D0 D1 D2 D3 D3cold S3D3cold CLKSTOP EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
GPIO: io=3, o=0, i=0, unsolicited=1, wake=0 GPIO: io=3, o=0, i=0, unsolicited=1, wake=0
IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=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 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
Control: name="Headphone Playback Volume", index=0, device= Control: name="Headphone Playback Volume", index=0, device=
ControlAmp: chs=3, dir=Out, idx=0, ofs=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Control: name="Headphone Playback Switch", index=0, device= Control: name="Headphone Playback Switch", index=0, device=
ControlAmp: chs=3, dir=Out, idx=0, ofs=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Device: name="CX20753/4 Analog", type="Audio", device=0 Device: name="CX20753/4 Analog", type="Audio", device=0
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1 Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
Amp-Out vals: [0x80 0x80] | Amp-Out vals: [0x37 0x37]
Converter: stream=5, channel=0 Converter: stream=5, channel=0
PCM: PCM:
rates [0x560]: 44100 48000 96000 192000 rates [0x560]: 44100 48000 96000 192000
bits [0xa]: 16 24 bits [0xa]: 16 24
formats [0x1]: PCM formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
Control: name="Speaker Playback Volume", index=0, device=0 Control: name="Speaker Playback Volume", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Control: name="Speaker Playback Switch", index=0, device=0 Control: name="Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1 Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
Amp-Out vals: [0x3a 0x3a] | Amp-Out vals: [0x80 0x80]
Converter: stream=5, channel=0 Converter: stream=5, channel=0
PCM: PCM:
rates [0x560]: 44100 48000 96000 192000 rates [0x560]: 44100 48000 96000 192000
bits [0xa]: 16 24 bits [0xa]: 16 24
formats [0x1]: PCM formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Node 0x12 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Ou Node 0x12 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Ou
Control: name="Beep Playback Volume", index=0, device=0 Control: name="Beep Playback Volume", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Control: name="Beep Playback Switch", index=0, device=0 Control: name="Beep Playback Switch", index=0, device=0
ControlAmp: chs=1, dir=Out, idx=0, ofs=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0 Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
Amp-Out vals: [0x05] Amp-Out vals: [0x05]
Node 0x13 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L Node 0x13 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
Device: name="CX20753/4 Analog", type="Audio", device=0 Device: name="CX20753/4 Analog", type="Audio", device=0
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1 Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
Amp-In vals: [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] Amp-In vals: [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
Converter: stream=1, channel=0 Converter: stream=1, channel=0
SDI-Select: 0 SDI-Select: 0
PCM: PCM:
rates [0x160]: 44100 48000 96000 rates [0x160]: 44100 48000 96000
bits [0xa]: 16 24 bits [0xa]: 16 24
formats [0x1]: PCM formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Connection: 3 Connection: 3
0x18* 0x1a 0x19 0x18* 0x1a 0x19
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
Device: name="CX20753/4 Alt Analog", type="Audio", device=2 Device: name="CX20753/4 Alt Analog", type="Audio", device=2
Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1 Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
Amp-In vals: [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a] Amp-In vals: [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
Converter: stream=0, channel=0 Converter: stream=0, channel=0
SDI-Select: 0 SDI-Select: 0
PCM: PCM:
rates [0x160]: 44100 48000 96000 rates [0x160]: 44100 48000 96000
bits [0xa]: 16 24 bits [0xa]: 16 24
formats [0x1]: PCM formats [0x1]: PCM
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Connection: 3 Connection: 3
0x19* 0x1a 0x15 0x19* 0x1a 0x15
Node 0x15 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In Node 0x15 [Audio Mixer] wcaps 0x20050b: Stereo Amp-In
Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1 Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
Amp-In vals: [0x00 0x00] [0x00 0x00] Amp-In vals: [0x00 0x00] [0x00 0x00]
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Connection: 2 Connection: 2
0x10 0x11 0x10 0x11
Node 0x16 [Pin Complex] wcaps 0x400581: Stereo Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
Pincap 0x0000001c: OUT HP Detect Pincap 0x0000001c: OUT HP Detect
Pin Default 0x03211040: [Jack] HP Out at Ext Left Pin Default 0x03211040: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Black Conn = 1/8, Color = Black
DefAssociation = 0x4, Sequence = 0x0 DefAssociation = 0x4, Sequence = 0x0
Pin-ctls: 0xc0: OUT HP Pin-ctls: 0xc0: OUT HP
Unsolicited: tag=01, enabled=1 Unsolicited: tag=01, enabled=1
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Connection: 2 Connection: 2
0x10* 0x11 0x10* 0x11
Node 0x17 [Pin Complex] wcaps 0x400501: Stereo Node 0x17 [Pin Complex] wcaps 0x400501: Stereo
Pincap 0x00000010: OUT Pincap 0x00000010: OUT
Pin Default 0x90170110: [Fixed] Speaker at Int N/A Pin Default 0x90170110: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0 DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT | Pin-ctls: 0x00:
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Connection: 2 Connection: 2
0x10 0x11* 0x10 0x11*
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0 Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
Amp-In vals: [0x00 0x00] Amp-In vals: [0x00 0x00]
Pincap 0x00001124: IN Detect Pincap 0x00001124: IN Detect
Vref caps: HIZ 80 Vref caps: HIZ 80
Pin Default 0x40f001f0: [N/A] Other at Ext N/A Pin Default 0x40f001f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0 DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE Misc = NO_PRESENCE
Pin-ctls: 0x00: VREF_HIZ Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0 Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0 Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
Amp-In vals: [0x00 0x00] Amp-In vals: [0x00 0x00]
Pincap 0x00001124: IN Detect Pincap 0x00001124: IN Detect
Vref caps: HIZ 80 Vref caps: HIZ 80
Pin Default 0x40f001f0: [N/A] Other at Ext N/A Pin Default 0x40f001f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0 DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE Misc = NO_PRESENCE
Pin-ctls: 0x00: VREF_HIZ Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=00, enabled=0 Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0 Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
Amp-In vals: [0x00 0x00] Amp-In vals: [0x00 0x00]
Pincap 0x00000020: IN Pincap 0x00000020: IN
Pin Default 0x40f001f0: [N/A] Other at Ext N/A Pin Default 0x40f001f0: [N/A] Other at Ext N/A
Conn = Unknown, Color = Unknown Conn = Unknown, Color = Unknown
DefAssociation = 0xf, Sequence = 0x0 DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE Misc = NO_PRESENCE
Pin-ctls: 0x00: Pin-ctls: 0x00:
Unsolicited: tag=00, enabled=0 Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0 Power: setting=D0, actual=D0
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
via diff the differences are in
- Node 0x17 (Pin-ctls), presumably plugged headphone?
- Node 0x10 (Amp-Out vals), via alsamixer checked with changed output volume, definitely headphone jack
- Node 0x11 (Amp-Out vals), via alsamixer checked with changed output volume, definitely internal speakers
a "$ cat /sys/class/sound/hwC1D0/init_pin_configs" shows the following
0x16 0x03211040
0x17 0x90170110
0x18 0x40f001f0
0x19 0x40f001f0
0x1a 0x40f001f0
Is it possible to change the pin configs to invert(?) the headphone jack?
thanks
Last edited by iamhermes (2018-12-20 12:51:26)
Offline
With my humble apologies to the community for this egregious necrobump...
I've been suffering with this problem on my own E485 for a while now and I've just discovered the solution: enable the onboard microphone in the firmware ("BIOS") options.
If the internal microphone is disabled then the headphone & speakers outputs are swapped, I have no idea why
Offline
Thanks for the contribution. I am closing this old topic now.
Offline
Pages: 1
Topic closed