Headphone microphone not working (jack)

Hi,
I have an Acer Switf X14 with an i7-13700H. The sound is working perfectly as well as the internal microphone. When I insert my headphone (jack), the sound is correctly working but the microphone doesn’t.
What I’ve found is that the headphone microphone is always displayed if the headphone is inserted or not. I’ve tried various sound mixer and recorder but the microphone never worked.
Could you help me to investigate this ?


OS version: f40
Kernel: 6.9.8-200.fc40.x86_64
DE: KDE Plasma 6.1.2
Raptor Lake-P/U/H cAVS Headphones Stereo Microphone

➜  ~ sudo dmesg | grep sof-audio
[    5.293138] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.293155] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    5.293181] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.293300] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    5.293342] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.299797] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    5.333912] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[    5.333914] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    5.333917] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    5.360936] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[    5.360940] sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/sof-rpl.ri
[    5.360942] sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-hda-generic-2ch.tplg
[    5.379057] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    5.379060] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    5.379065] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    5.475855] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    5.475861] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    5.490771] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
➜  ~ inxi -Ax --vs
inxi 3.3.34-00 (2024-04-13)
Audio:
  Device-1: Intel Raptor Lake-P/U/H cAVS vendor: Acer Incorporated ALI
    driver: sof-audio-pci-intel-tgl bus-ID: 0000:00:1f.3
  Device-2: NVIDIA vendor: Acer Incorporated ALI driver: snd_hda_intel
    v: kernel bus-ID: 0000:01:00.1
  API: ALSA v: k6.9.8-200.fc40.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.7 status: active

Thank you

Welcome to the Fedora Community!

Did you try the middle button ‘Headphone Stereo microphone’ on the devices tab, just in case? When you use a headset connected to headphone jack or a USB port, audio profile will be set to ‘Duplex’, which means input and output comes from the same device.

If this doesn’t work, please let me know. i use a KDE Plasma for video call and tutorial using various external devices.

Thank you Hank for your answer.
Of course I’ve set it during my tests but without luck. As you can see there no progress meter as for the embedded microphone.
As I’m dual booting with Windows 11, I’m sure that the headset is working perfectly.


Thank you

pactl info:

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 865
Tile Size: 65472
User Name: ahaloui
Host Name: fedora-1.home
Server Name: PulseAudio (on PipeWire 1.0.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
Default Source: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source
Cookie: 6bcd:e4fb

pactl list cards:

Card #358
        Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "RPL-SwiftSFX14_71G-V1.04-Fabia_RTH"
                api.alsa.card.name = "sof-hda-dsp"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
                device.description = "Raptor Lake-P/U/H cAVS"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
                device.nick = "sof-hda-dsp"
                device.plugged.usec = "5597747"
                device.product.id = "0x51ca"
                device.product.name = "Raptor Lake-P/U/H cAVS"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
                device.vendor.id = "0x8086"
                device.vendor.name = "Intel Corporation"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "49"
                object.id = "66"
                object.serial = "358"
                object.path = "alsa:pcm:1"
                alsa.card = "1"
                alsa.card_name = "sof-hda-dsp"
                alsa.long_card_name = "RPL-SwiftSFX14_71G-V1.04-Fabia_RTH"
                alsa.driver_name = "snd_soc_skl_hda_dsp"
                alsa.mixer_name = "Realtek ALC245"
                alsa.components = "HDA:8086281f,80860101,00100000 HDA:10ec0245,10251670,00100001 cfg-dmics:2"
                alsa.id = "sofhdadsp"
                device.string = "1"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 8000, available: yes)
                pro-audio: Pro Audio (sinks: 5, sources: 3, priority: 1, available: yes)
        Active Profile: HiFi
        Ports:
                [Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, availability group: HDMI/DP,pcm=5, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "HDMI/DP,pcm=5"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                        Part of profile(s): HiFi
                [Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, availability group: HDMI/DP,pcm=4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "HDMI/DP,pcm=4"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): HiFi
                [Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "HDMI/DP,pcm=3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): HiFi
                [Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "speaker"
                                device.icon_name = "audio-speakers"
                                card.profile.port = "3"
                        Part of profile(s): HiFi
                [Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, available)
                        Properties:
                                port.type = "headphones"
                                port.availability-group = "Headphone"
                                device.icon_name = "audio-headphones"
                                card.profile.port = "4"
                        Part of profile(s): HiFi
                [In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, availability unknown)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Mic"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "5"
                        Part of profile(s): HiFi
                [In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "mic"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "6"
                        Part of profile(s): HiFi

Card #359
        Name: alsa_card.pci-0000_01_00.1
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "HDA NVidia at 0x67000000 irq 17"
                api.alsa.card.name = "HDA NVidia"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:01:00.1"
                device.description = "HDA NVidia"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_01_00.1"
                device.nick = "HDA NVidia"
                device.plugged.usec = "5210278"
                device.product.id = "0x22be"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
                device.vendor.id = "0x10de"
                device.vendor.name = "NVIDIA Corporation"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "49"
                object.id = "67"
                object.serial = "359"
                object.path = "alsa:pcm:0"
                alsa.card = "0"
                alsa.card_name = "HDA NVidia"
                alsa.long_card_name = "HDA NVidia at 0x67000000 irq 17"
                alsa.driver_name = "snd_hda_intel"
                alsa.mixer_name = "Nvidia GPU a7 HDMI/DP"
                alsa.components = "HDA:10de00a7,10251670,00100100"
                alsa.id = "NVidia"
                device.string = "0"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes)
        Active Profile: off
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

May be this could be helpful with the warning on the piprewire service:

➜  ~ systemctl -l --user status pipewire.socket pipewire.service
● pipewire.socket - PipeWire Multimedia System Sockets
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
     Active: active (running) since Sun 2024-07-14 14:45:16 CEST; 48s ago
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
             /run/user/1000/pipewire-0-manager (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

Jul 14 14:45:16 fedora-1.home systemd[2216]: Listening on pipewire.socket - PipeWire Multimedia System Sockets.

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
             /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Sun 2024-07-14 14:45:17 CEST; 47s ago
TriggeredBy: ● pipewire.socket
   Main PID: 2607 (pipewire)
      Tasks: 3 (limit: 38054)
     Memory: 9.7M (peak: 10.4M)
        CPU: 268ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─2607 /usr/bin/pipewire

Jul 14 14:45:17 fedora-1.home systemd[2216]: Started pipewire.service - PipeWire Multimedia Service.
Jul 14 14:45:17 fedora-1.home pipewire[2607]: mod.jackdbus-detect: Failed to receive jackdbus reply: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Jul 14 14:46:01 fedora-1.home pipewire[2607]: mod.client-node: 0x558b2943c470: unknown peer 0x558b297b8370 fd:78

Some logs from pipewire after reboot and jack plugging:

➜  ~ journalctl --user-unit=pipewire --user-unit=wireplumber --user-unit=pipewire-pulse -n 10 --no-pager
-- Boot a55dbc543ad64b3cb67ba988fc08577f --
Jul 14 14:55:05 fedora-1.home systemd[2205]: Started pipewire.service - PipeWire Multimedia Service.
Jul 14 14:55:05 fedora-1.home systemd[2205]: Started wireplumber.service - Multimedia Service Session Manager.
Jul 14 14:55:05 fedora-1.home systemd[2205]: Started pipewire-pulse.service - PipeWire PulseAudio.
Jul 14 14:55:05 fedora-1.home pipewire[2569]: mod.jackdbus-detect: Failed to receive jackdbus reply: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Jul 14 14:55:05 fedora-1.home wireplumber[2570]: spa.alsa: Path Capture is not a volume or mute control
Jul 14 14:55:05 fedora-1.home wireplumber[2570]: [0:00:20.320459217] [2570]  WARN IPAManager ipa_manager.cpp:154 No IPA found in '/usr/lib64/libcamera'
Jul 14 14:55:05 fedora-1.home wireplumber[2570]: [0:00:20.320524061] [2570]  INFO Camera camera_manager.cpp:313 libcamera v0.3.0
Jul 14 14:55:05 fedora-1.home wireplumber[2570]: wp-event-dispatcher: <WpAsyncEventHook:0x561d65c77a10> failed: <WpSiStandardLink:0x561d65c41480> link failed: some node was destroyed before the link was created

You might want to wait for other helpers to interpret pactl info and pipewire services.

When a headset is plugged in, the KDE Plasma should detect two devices like below;

Screenshot_20240714_165405

What is the brand and model of your headset?

This is not my case unfortunately.
My headset is Sony MDR-ZX310APB.

I see your headphone is without a microphone. So, the screenshot of mine is irrelevant. Sorry for confusion. In this case, the headphone microphone shouldn’t be displayed.

Reset audio settings to the original / default mode might be the next step. Please wait for more experienced helpers to come back. Thanks.

p.s) Did you try different audio profiles on your ‘digital microphone’? I never messed with the configuration files of PipeWire/WirePlumber.

Seems to be a kernel based driver as I checked with Live versions of Ubuntu and deepin and I have the same issue :frowning_face:
Time to chosse another headset :smiley:

Even the mic of my new bluetooth headset is not working :frowning: I’m guessing that this is related to the Realtek ALC245.

Does no sound issue persist in a new installation?

Your sound profile doesn’t look like a default setup after installing the Fedora KDE Spin.
Reproducing issue must be identical;

  • Use a new installation and system update
  • No change in config file
  • No use of commands from other forums

You can also try troubleshooting steps in a virtual machine. Virt-manager GUI is handy.

The sound is working perfectly without trouble, only the headset’s microphone is not working. KDE (but gnome and deepin DE too) indicates that the headset’s microphone is always connected even if the headset is not connected. I’ve tried a new bluetooth headset and the microphone is not working too. This is clearly a driver/kernel problem with the realtek hardware specific to my laptop Acer Swift SFX14-71G

If you’re very familiar with using kernel patches, you might want to check this guide in Quick Docs.