You are not logged in.

#1 2020-08-05 21:32:34

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Speaker unavailable when microphone is plugged in.

Every time I plugged in an external microphone into the 3.5mm jack, I can't listen to anything. Model is Thinkpad X390, it has its own internal microphone and speaker.
The plugged in microphone seems to work, but it is also detected as headphone output.

On pavucontrol, under "Output Devices", there are:

  1. Speakers (unavailable)

  2. Headphones (plugged in)

On pavucontrol, under "Input Devices", there are:

  1. Internal Microphone

  2. Microphone (plugged)

The "Microphone (plugged)" seems to react as expected when I clapped.

From arecord -l:

**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC257 Analog [ALC257 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

From pacmd list-sources:

2 source(s) available.
  * index: 0
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo.monitor>
	driver: <module-alsa-card.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 1030
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max rewind: 6 KiB
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 2
	linked by: 2
	configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
	monitor_of: 0
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		device.description = "Monitor of Built-in Audio Analog Stereo"
		device.class = "monitor"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xc973c000 irq 170"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9dc8"
		device.product.name = "Cannon Point-LP High Definition Audio Controller"
		device.form_factor = "internal"
		device.string = "0"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
    index: 1
	name: <alsa_input.pci-0000_00_1f.3.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 9039
	volume: front-left: 39329 /  60% / -13.31 dB,   front-right: 39329 /  60% / -13.31 dB
	        balance 0.00
	base volume: 6554 /  10% / -60.00 dB
	volume steps: 65537
	muted: no
	current latency: 2.46 ms
	max rewind: 0 KiB
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC257 Analog"
		alsa.id = "ALC257 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xc973c000 irq 170"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9dc8"
		device.product.name = "Cannon Point-LP High Definition Audio Controller"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "Built-in Audio Analog Stereo"
		alsa.mixer_name = "Realtek ALC257"
		alsa.components = "HDA:10ec0257,17aa2288,00100001 HDA:8086280b,80860101,00100000"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "audio-input-microphone"
	active port: <analog-input-mic>

On alsamixer, for "default" sound card, there are:

  1. Master

  2. Capture

On alsamixer, for "HDA Intel PCH" sound card, there are:

  1. Master

  2. Headphone

  3. Speaker: unmuted when "Speakers (unavailable)" is selected with pavucontrol, doesn't work even unmuted

  4. PCM

  5. Mic Boost

  6. Mic Boost: shows up twice

  7. Mic Mute-LED Mode

  8. S/PDIF

  9. S/PDIF 1-4

  10. Capture

  11. Auto-Mute Mode: Enabled

  12. Internal Mic Boost

  13. Internal Mic Boost: shows up twice

Any idea how to fix it?

Last edited by E3LDDfrK (2020-08-05 21:33:32)

Offline

#2 2020-08-05 23:53:50

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,104

Re: Speaker unavailable when microphone is plugged in.

Disable the Auto-Mute mode in ALSA mixer, that should keep the speakers alive regardless.

Offline

#3 2020-08-06 00:34:05

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Re: Speaker unavailable when microphone is plugged in.

Thanks for the suggestion.

I tried it. It doesn't change anything. Pavucontrol still lists "Speakers (unavailable)" and "Headphones (plugged in)" as output devices. I tried rebooting too.

And just to be clear when I selected "Speakers (unavailable)" in pavucontrol, it will mute "Headphone" and unmute "Speaker" in alsamixer. Still no sound though. 
And vice versa when I selected "Headphones (plugged in)" as output device in pavucontrol.

The laptop has working speaker and internal microphone. I bought an external clip-on microphone just to improve the sound quality during voice chat. Plugging in external speaker to the 3.5 mm jack works as expected. The internal mic still picks up my voice. The only problem is when plugging in this external microphone.

Offline

#4 2020-08-07 16:03:07

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Re: Speaker unavailable when microphone is plugged in.

Just to want to share more info. Using an audio splitter, as in a cable to turn 1 3.5mm jack to 2 3.5mm jacks, I can make both external microphone and speaker work. But I unplug one of the external microphone  or speaker, then the laptop's own microphone or speaker won't work.

Offline

#5 2020-08-11 09:35:21

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Re: Speaker unavailable when microphone is plugged in.

I tried it with a different mic, still the same behaviour. The laptop speaker doesn't work when mic is plugged in.
Found this bug report which is the other way around: https://bugs.launchpad.net/ubuntu/+sour … ug/1025388 Internal mic doesn't work when a headset (even with no mic) is plugged in.

A few more output when the mic is plugged in:

$ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=PCH
    HDA Intel PCH, ALC257 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC257 Analog
    Front output / input
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
$ amixer -c0
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 51 [59%] [-27.00dB] [on]
Simple mixer control 'Headphone',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]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  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
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 1 [33%] [10.00dB]
  Front Right: 1 [33%] [10.00dB]
Simple mixer control 'Mic Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
  Item0: 'Follow Mute'
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',4
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]

Last edited by E3LDDfrK (2020-08-11 09:41:50)

Offline

#6 2020-08-14 07:11:58

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Re: Speaker unavailable when microphone is plugged in.

More info.

I tried a TRRS to TRS adapter. It doesn't work. Same behavior. Laptop's speaker doesn't work when the external mic is plugged in. 

I also tried recording my voice with `ffmpeg -f pulse -ac 2 -i 1 test.mp3`, the sound quality of the laptop's own mic is better than the external mic. I couldn't figure out why. Edit: there are some ideas in https://wiki.archlinux.org/index.php/Pu … _recording , but this is a secondary problem.

Last edited by E3LDDfrK (2020-08-14 22:30:35)

Offline

#7 2020-08-14 22:29:48

E3LDDfrK
Member
Registered: 2019-10-24
Posts: 70

Re: Speaker unavailable when microphone is plugged in.

So, I tried the hdajackretask from the alsa-tools package.

Just to recap, when external mic is plugged in, internal speaker doesn't work. It seems the mic is detected as an output, labeled "Headphone (plugged in)" in pavucontrol.

So I tried to apply an override using the hdajackretask. Basically setting the entry "Black Headphone, Right Side" as "Not connected". I rebooted, and there is now only one output "Speaker" in pavucontrol. But it still doesn't play sounds as long as the external mic is plugged in. When the mic is unplugged, it works as expected. As an added bonus, external speaker doesn't work while the override is applied. Because sometime I want to connect my external speaker to my laptop, even if this solution worked, it's not ideal.

Last edited by E3LDDfrK (2020-08-14 22:33:23)

Offline

#8 2020-12-04 20:38:52

cogeary
Member
Registered: 2012-09-16
Posts: 22

Re: Speaker unavailable when microphone is plugged in.

Wanted to bump this since I'm experiencing what looks like the same problem (different device, Thinkpad X1 Carbon 5th generation), and the OP was never resolved — but sorry for the minor necro-bump. My use case here is that my internal mic has failed, so I'd like to use an external mic but still have control over the speakers.

Perhaps important to clarify is that e.g. in pavucontrol, the built-in audio device lists two "ports" not two separate devices. With an external mic plugged into the jack, Output Devices gives two options for port under Built-in Audio Analog Stereo: "Headphones (plugged in)" and "Speakers (unavailable)." Similarly the two ports in Input Devices are listed as "Microphone (plugged in)" and "Internal Microphone (unplugged)." Of course, the first option for each goes away when the external mic is unplugged, and the Speakers become available.

pacmd list-sources (external mic plugged in)

2 source(s) available.
    index: 0
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo.monitor>
	driver: <module-alsa-card.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 1030
	volume: front-left: 0 /   0% / -inf dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 1.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max rewind: 0 KiB
	sample spec: s16le 2ch 48000Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	monitor_of: 0
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		device.description = "Monitor of Built-in Audio Analog Stereo"
		device.class = "monitor"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xec340000 irq 135"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9d71"
		device.product.name = "Sunrise Point-LP HD Audio (ThinkPad X1 Carbon 5th Gen)"
		device.form_factor = "internal"
		device.string = "0"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
  * index: 1
	name: <alsa_input.pci-0000_00_1f.3.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9039
	volume: front-left: 7967 /  12% / -54.91 dB,   front-right: 7967 /  12% / -54.91 dB
	        balance 0.00
	base volume: 13076 /  20% / -42.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max rewind: 0 KiB
	sample spec: s16le 2ch 48000Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "CX8200 Analog"
		alsa.id = "CX8200 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xec340000 irq 135"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9d71"
		device.product.name = "Sunrise Point-LP HD Audio (ThinkPad X1 Carbon 5th Gen)"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "384000"
		device.buffering.fragment_size = "192000"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "Built-in Audio Analog Stereo"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-input-microphone"
		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-input-microphone"
	active port: <analog-input-internal-mic>

pacmd list-sinks (external mic plugged in)

1 sink(s) available.
  * index: 0
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9039
	volume: front-left: 51116 /  78% / -6.48 dB,   front-right: 51116 /  78% / -6.48 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 0
	sample spec: s16le 2ch 48000Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 0 <alsa_card.pci-0000_00_1f.3>
	module: 6
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "CX8200 Analog"
		alsa.id = "CX8200 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xec340000 irq 135"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9d71"
		device.product.name = "Sunrise Point-LP HD Audio (ThinkPad X1 Carbon 5th Gen)"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "384000"
		device.buffering.fragment_size = "192000"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "Built-in Audio Analog Stereo"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-speakers"
		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "audio-headphones"
	active port: <analog-output-speaker>

diff between list-sources for plugged vs unplugged external mic

50c50
< 	volume: front-left: 43948 /  67% / -10.41 dB,   front-right: 43948 /  67% / -10.41 dB
---
> 	volume: front-left: 7967 /  12% / -54.91 dB,   front-right: 7967 /  12% / -54.91 dB
98c98
< 		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: no)
---
> 		analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
101c101
< 		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: yes)
---
> 		analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
104c104
< 	active port: <analog-input-mic>
---
> 	active port: <analog-input-internal-mic>

diff between list-sinks for plugged vs unplugged external mic

9c9
< 	volume: front-left: 58409 /  89% / -3.00 dB,   front-right: 58409 /  89% / -3.00 dB
---
> 	volume: front-left: 51116 /  78% / -6.48 dB,   front-right: 51116 /  78% / -6.48 dB
59c59
< 		analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: no)
---
> 		analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
62c62
< 		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
---
> 		analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
65c65
< 	active port: <analog-output-headphones>
---
> 	active port: <analog-output-speaker>

I'd hope that manually setting the active port might do something?

pactl set-sink-port 0 analog-output-speaker

But although that does change the active port, its availability remains "no," and still no output through the speakers. hmm

Edit: also wanted to note that this same behavior exists in Windows. Inserting the mic-only into the jack forces the audio sink to be headphones, with no apparent way to change.

Last edited by cogeary (2020-12-05 05:15:59)

Offline

Board footer

Powered by FluxBB