You are not logged in.
Hi,
I am trying to get the microphone from a TRRS headset working on Arch Linux, but only the headphone output works. The internal laptop microphone works fine. The problem is specifically the headset microphone connected through the 3.5 mm combo jack.
System summary:
- Arch Linux
- PipeWire
- WirePlumber
- Kernel driver: snd_hda_intel
- Analog codec: Realtek ALC897
- AMD platform
Symptoms:
- Internal speakers: OK
- Headphone output through 3.5 mm jack: OK
- Internal microphone: OK
- Headset microphone through the same TRRS combo jack: not working
What I found so far:
- PipeWire/WirePlumber are working in general, because playback works and the internal mic captures audio correctly.
- The issue seems to be lower in the stack (kernel / ALSA / HDA jack handling), not a generic PipeWire problem.
- The system appears to expose an analog input path, but recording from it produces a silent file.
- The jack is detected, and ALSA shows controls related to "Headphone Mic".
Relevant mixer output:
Simple mixer control 'Headphone Mic',0
Simple mixer control 'Headphone Mic Boost',0
Simple mixer control 'Headphone Mic Jack Mode',0
Simple mixer control 'Capture',0
Simple mixer control 'Auto-Mute Mode',0
And the relevant values are:
numid=15,iface=CARD,name='Headphone Mic Jack'
: values=on
numid=11,iface=MIXER,name='Headphone Mic Boost Volume'
: values=0,0
numid=12,iface=MIXER,name='Headphone Mic Jack Mode'
; Item #0 'Headphone Out'
; Item #1 'Mic In'
: values=1
numid=10,iface=MIXER,name='Capture Switch'
: values=on,on
numid=9,iface=MIXER,name='Capture Volume'
: values=63,63
numid=8,iface=MIXER,name='Auto-Mute Mode'
; Item #0 'Disabled'
; Item #1 'Enabled'
: values=0
So ALSA seems to show:
- headphone mic jack detected
- jack mode set to Mic In
- capture enabled
- capture volume at maximum
Despite that, recording is still silent.
Tests performed:
1. Recording through PipeWire target source -> silent file
2. Recording directly through ALSA -> still silent
3. Headphone Mic Jack Mode is already set to "Mic In"
4. Capture is enabled and Capture volume is maxed
5. Headphone output works normally from the same jack
6. Internal mic works normally
The current working theory is:
- combo jack detection is only partially working
- or the headset mic path is not being routed correctly by snd_hda_intel / Realtek HDA handling
- or this machine needs a specific kernel quirk/fixup for ALC897 / combo jack mic support
What I would like help with:
- identifying whether this is a known ALC897 headset mic quirk
- checking whether a specific model= option for snd_hda_intel is appropriate
- confirming whether hdajackretask or pin retasking is the right next step
- determining whether this is a codec pin config / HDA fixup issue rather than PipeWire configuration
If needed, I can also provide:
- aplay -l / arecord -l
- wpctl status
- pactl list cards
- full amixer output
- /proc/asound/card*/codec*
- dmesg lines related to snd_hda_intel / hda / jack detection
Thanks.
Offline
Could not get headset mic working via TRRS jack with Realtek ALC897 (ALSA shows it, but input is always silent).
Likely a kernel/HDA issue, not PipeWire.
Workaround: use a USB-C → 3.5 mm adapter — mic works instantly.
Offline