Hallo,
ich habe einen Lenovo Thinkpad E485 mit Arch am laufen und benötige hier noch eine Lösung die das Fehlerbild behebt.
Fehlersymptom:
- Kopfhörerbuchse wird belegt: Lautsprecher schaltet laut und Kopfhörer stumm.
- Kopfhörerbuchse nicht belegt: Kopfhörerausgang schaltet laut und Lautsprecher stumm.
Im alsamixer kann ich den Kopfhörer- bzw Lautsprecherausgang entsprechend entmuten und hochregeln um den Ton darauf zu bekommen.
Die Ausgänge sind korrekt bezeichnet. Nur das Stummschalten ist genau verkehrt herum.
pavucontrol zeigt bei belegtem Kopfhörerstecker einen unbelegt/unverbunden Status (auf Kopfhörer) an. Die Lautstärke lässt sich jedoch Problemfrei anpassen
Nach weitergehender Forschung gibt es die Möglichkeit die Steckererkennung snd_hda_codec zu invertieren. (inv_jack_detect)
Hier weiß ich allerdings nicht wie ich dieses aktiviert bekomme. Mittels modprobe habe ich versucht den Parameter an alle
geladenen snd* Module zu übergeben, jedoch funktioniert dieses nicht.
$ 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.476300] soundcore: unknown parameter 'inv_jack_detect' ignored
[ 2.505538] snd: unknown parameter 'inv_jack_detect' ignored
[ 2.548907] snd_pcm: unknown parameter 'inv_jack_detect' ignored
[ 2.578669] snd_hwdep: unknown parameter 'inv_jack_detect' ignored
[ 2.595384] snd_hda_core: unknown parameter 'inv_jack_detect' ignored
[ 2.620969] snd_hda_codec: unknown parameter 'inv_jack_detect' ignored
[ 2.635729] snd_hda_intel: unknown parameter 'inv_jack_detect' ignored
[ 2.653896] snd_hda_codec_hdmi: unknown parameter 'inv_jack_detect' ignored
[ 2.667287] snd_hda_codec_generic: unknown parameter 'inv_jack_detect' ignored
[ 2.672486] snd_hda_codec_conexant: unknown parameter 'inv_jack_detect' ignored
Hier ist ein Diff zwischen angesteckt und nicht angestecktem Kopfhörer ( 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
In dem diff sieht man einen Unterschied im
- Node 0x17 (Pin-ctls), was vermutlich der gesteckte Kopfhörer ist?
- Node 0x10 (Amp-Out vals), mit alsamixer gegengeprüft mit Lautstärkeänderung, definitiv Kopfhörer
- Node 0x11 (Amp-Out vals), mit alsamixer gegengeprüft mit Lautstärkeänderung, definitiv Lautsprecher
ein "$ cat /sys/class/sound/hwC1D0/init_pin_configs" wirft folgendes hervor:
0x16 0x03211040
0x17 0x90170110
0x18 0x40f001f0
0x19 0x40f001f0
0x1a 0x40f001f0
Mittels des vorherigen cat ist es doch eventuell auch mögilch, irgendwie an der PIN-Belegung der Soundkarte zu korrigieren? Liege ich hier falsch?
Betroffen ist hier doch der node 0x17 der doch auf den anderen Ausgang umgeschrieben werden muss?
Lässt der sich irgendwie invertieren bzw umverlegen auf die andere Audioausgabe? (Kopfhörer anstatt aktuell Lautsprecher zur Problembehebung)
Vielen Dank schonmal