Fedora stopped detecting internal laptop microphone

Hi,

A few months ago, still with F36, one of the kernel updates has led to my system stop detecting my internal microphone (Lenovo G500), which previously had worked for years with previous versions. I never managed to solve this issue, and unfortunately now that the problem still persists with F37 I am considering switching from using Fedora.

Symptoms/things I’ve tried:

  1. The microphone doesn’t show up in input devices at all, and using pavu it shows up as “unplugged”.
  2. In alsamixer I am able to choose “HDA Intel PCH” and a microphone appears there but choosing it, unmuting it or playing with the intensity does nothing.
  3. I’ve tried different settings for /etc/modprobe.d/snd-hda-intel.conf that appear on the internet, the most common being “options snd-hda-intel enable_msi=1” but also “probe_mask=1” etc.
  4. “wpctl status” gives the following relevant results:
        73. PulseAudio Volume Control                                   
             46. monitor_FR     
             48. input_FL        < CX20757 Analog:capture_FL	[active]
             62. input_FR        < CX20757 Analog:capture_FR	[active]
             78. monitor_FL    

      and
       ├─ Sources:
       │      71. Built-in Audio Analog Stereo        [vol: 1.00]
  1. “pactl list cards” gives:
Card #41
	Name: alsa_card.pci-0000_00_1b.0
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.card.longname = "HDA Intel PCH at 0xd8710000 irq 30"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "hw:1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.description = "Built-in Audio"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "26947905"
		device.product.id = "0x1e20"
		device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "32"
		object.id = "40"
		object.serial = "41"
		object.path = "alsa:pcm:1"
		alsa.card = "1"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xd8710000 irq 30"
		alsa.driver_name = "snd_hda_intel"
		device.string = "1"
	Profiles:
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
		output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
		input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: no)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
	Active Profile: output:analog-stereo+input:analog-stereo
	Ports:
		analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability group: Legacy 1, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 1"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "0"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability group: Legacy 2, availability unknown)
			Properties:
				port.type = "speaker"
				port.availability-group = "Legacy 2"
				device.icon_name = "audio-speakers"
				card.profile.port = "1"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 3, not available)
			Properties:
				port.type = "headphones"
				port.availability-group = "Legacy 3"
				device.icon_name = "audio-headphones"
				card.profile.port = "2"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo

  1. pactl list sources
Source #122
	State: SUSPENDED
	Name: alsa_output.pci-0000_00_1b.0.analog-stereo.3.monitor
	Description: Monitor of Built-in Audio Analog Stereo
	Driver: PipeWire
	Sample Specification: s32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	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
	Monitor of Sink: alsa_output.pci-0000_00_1b.0.analog-stereo.3
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "CX20757 Analog"
		alsa.long_card_name = "HDA Intel PCH at 0xd8710000 irq 30"
		alsa.name = "CX20757 Analog"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0xd8710000 irq 30"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "front:1"
		api.alsa.pcm.card = "1"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "3"
		device.api = "alsa"
		device.class = "monitor"
		device.id = "40"
		device.profile.description = "Analog Stereo"
		device.profile.name = "analog-stereo"
		device.routes = "2"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Built-in Audio"
		node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo.3"
		node.nick = "CX20757 Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:1:front:1:playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "18"
		clock.quantum-limit = "8192"
		client.id = "32"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "43"
		object.serial = "122"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "1024"
		api.alsa.period-num = "32"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "26947905"
		device.product.id = "0x1e20"
		device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "1"
	Formats:
		pcm

Source #123
	State: SUSPENDED
	Name: alsa_input.pci-0000_00_1b.0.analog-stereo
	Description: Built-in Audio Analog Stereo
	Driver: PipeWire
	Sample Specification: s32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	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
	Monitor of Sink: n/a
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "CX20757 Analog"
		alsa.long_card_name = "HDA Intel PCH at 0xd8710000 irq 30"
		alsa.name = "CX20757 Analog"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0xd8710000 irq 30"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "front:1"
		api.alsa.pcm.card = "1"
		api.alsa.pcm.stream = "capture"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "0"
		device.api = "alsa"
		device.class = "sound"
		device.id = "40"
		device.profile.description = "Analog Stereo"
		device.profile.name = "analog-stereo"
		device.routes = "1"
		factory.name = "api.alsa.pcm.source"
		media.class = "Audio/Source"
		device.description = "Built-in Audio"
		node.name = "alsa_input.pci-0000_00_1b.0.analog-stereo"
		node.nick = "CX20757 Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:1:front:1:capture"
		priority.driver = "2009"
		priority.session = "2009"
		factory.id = "18"
		clock.quantum-limit = "8192"
		client.id = "32"
		node.driver = "true"
		factory.mode = "split"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "71"
		object.serial = "123"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "1024"
		api.alsa.period-num = "32"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "26947905"
		device.product.id = "0x1e20"
		device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "1"
	Ports:
		analog-input-mic: Microphone (type: Mic, priority: 8700, availability group: Legacy 1, not available)
	Active Port: analog-input-mic
	Formats:
		pcm

Any ideas for how to get my microphone working again would be greatly appreciated!

Had similar problem and this worked for me:

(run what works)
sudo dnf swap pipewire-media-session wireplumber
sudo dnf swap wireplumber pipewire-media-session

systemctl --user restart pipewire-media-session

2 Likes