0

I encounter an issue. I have a jack stereo headset/microphone plugged into a 4-pin 3.5mm (TRRS) jack on my laptop. The headphone stereo is working, but the headphone microphone is not working. Laptop built-in microphone is working.

Hardware / Software Name
OS Ubuntu 22.04 (Windows 11 dual boot)
Laptop brand & model Asus UX3402ZA
Sound card  sof-hda-dsp
Audio chipset Realtek ALC294
Headset & mic Sennheiser GSP 302 (yes, it works on Windows)

Nota bene : I had to previously fix the output sound that was not working either on the built-in speakers using this patch. Everything audio related is working well except the mic input from the built-in combo jack. Built-in mic is working as well.

Pulseaudio

I commented the following in etc/pulse/default.pa as the " Headphones Stereo Microphone " source state was SUSPENDED ; suspend cause : IDLE.

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle

The combo jack's input is recognized by pulseaudio according to the following :

  • index 4: combo jack's input (not working)
  • index 5 : built-in microphone (working)
> $ pacmd
>>> list-sources

[...]

  • index: 4 name: <alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source> driver: <module-alsa-card.c> flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: RUNNING suspend cause: (none) priority: 9032 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.33 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stéréo used by: 1 linked by: 1 configured latency: 40.00 ms; range is 0.50 .. 341.33 ms card: 0 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic> module: 7 properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "" alsa.id = "HDA Analog (*)" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "0" alsa.card = "0" alsa.card_name = "sof-hda-dsp" alsa.long_card_name = "ASUSTeKCOMPUTERINC.-ZenbookUX3402ZA_UX3402ZA-1.0-UX3402ZA" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "51c8" device.string = "_ucm0001.hw:sofhdadsp" device.buffering.buffer_size = "65536" device.buffering.fragment_size = "16384" device.access_mode = "mmap+timer" device.profile.name = "HiFi: hw:sofhdadsp: source" device.profile.description = "Headphones Stereo Microphone" alsa.mixer_device = "_ucm0001.hw:sofhdadsp" device.description = "sof-hda-dsp Headphones Stereo Microphone" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" ports: [In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: unknown) properties:

    active port: <[In] Mic2>

    index: 5 name: <alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source> driver: <module-alsa-card.c> flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY state: RUNNING suspend cause: (none) priority: 9031 volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 base volume: 30419 / 46% / -20.00 dB volume steps: 65537 muted: no current latency: 0.46 ms max rewind: 0 KiB sample spec: s16le 2ch 48000Hz channel map: front-left,front-right Stéréo used by: 1 linked by: 1 configured latency: 40.00 ms; range is 0.50 .. 341.33 ms card: 0 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic> module: 7 properties: alsa.resolution_bits = "16" device.api = "alsa" device.class = "sound" alsa.class = "generic" alsa.subclass = "generic-mix" alsa.name = "" alsa.id = "DMIC (*)" alsa.subdevice = "0" alsa.subdevice_name = "subdevice #0" alsa.device = "6" alsa.card = "0" alsa.card_name = "sof-hda-dsp" alsa.long_card_name = "ASUSTeKCOMPUTERINC.-ZenbookUX3402ZA_UX3402ZA-1.0-UX3402ZA" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "51c8" device.string = "_ucm0001.hw:sofhdadsp,6" device.buffering.buffer_size = "65536" device.buffering.fragment_size = "16384" device.access_mode = "mmap+timer" device.profile.name = "HiFi: hw:sofhdadsp,6: source" device.profile.description = "Digital Microphone" alsa.mixer_device = "_ucm0001.hw:sofhdadsp" device.description = "sof-hda-dsp Digital Microphone" module-udev-detect.discovered = "1" device.icon_name = "audio-card-pci" ports: [In] Mic1: Digital Microphone (priority 100, latency offset 0 usec, available: unknown) properties:

    active port: <[In] Mic1>

Pavucontrol shows the device as well but there's no input detected.

Alsa

Alsa should catch the output of the combo jack mic under "HDA Analog 0" but doesn't.

https://i.stack.imgur.com/S4ctu.png

I've tried to update the codecs at /etc/modprobe.d/alsa-base.conf using the following options one by one, I didn't combine them. The headset plugged in the combo jack kept working, but still no input detected.

#options snd-hda-intel model=asus-zenbook
#options snd-hda-intel model=dell-headset-multi
#options snd-hda-intel model=aspire-headset-mic

HDAJackRetask

HdaJackRetask on Realtek ALC294 shows only 2 pins connected :

  • ID 0x17 : Internal Speaker
  • ID 0x21 : Black Headphone, Right side (but stereo is working correctly)

There's no connected pin neither "internal microphone" nor "headset microphone". (Remember, internal mic is working).

The following unconnected pins show "Microphone" option :

  • ID 0x19
  • ID 0x1a
  • ID 0x1b

I've tried overriding (understand "install boot override") the following :

  • 0x19 (alone)
  • 0x1a & 0x1b

After reboot, reopening HDAJackRetask doesn't show them as connected. I bet there's an issue with it, but I can't tell.

Any hint is welcomed, I've spent days working on this.

I think the problem is coming from Alsa, as pulseaudio seems to recognize and run the combo jack's input (displayed in pavucontrol) but Alsa doesn't (not display in alsamixer).

Thank you for your time !

Sources :
https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Correctly_detect_microphone_plugged_in_a_4-pin_3.5mm_(TRRS)_jack
https://docs.kernel.org/sound/hd-audio/notes.html#hd-audio-codec
https://doc.ubuntu-fr.org/audio_intel_hda

  • Do you want https://askubuntu.com/q/868817/1004020 ? – Daniel T Jan 30 '24 at 11:00
  • Adding a null sink to collect this inputs doesn't help. The headset microphone is still detected (selectable) from the created virtual channels but doesn't catch any sound input. Thank you for trying, I'll keep digging – AlexMrsh Jan 30 '24 at 11:28

0 Answers0