* HDA/HiFi-mic.conf: Internal mic incorrectly gated by external Mic Jack on ALC287 without Input Source enum [not found] <18b9ac428ea57200-webhooks-bot@alsa-project.org> @ 2026-06-16 21:15 ` GitHub issues - reopened 0 siblings, 0 replies; 2+ messages in thread From: GitHub issues - reopened @ 2026-06-16 21:15 UTC (permalink / raw) To: alsa-devel alsa-project/alsa-ucm-conf issue #785 was reopened from fabianmartins: ### Machine - **Model:** Lenovo Legion Pro 7 16IAX10H (DMI product name: 83F5) - **Codec:** Realtek ALC287 (Vendor Id: 0x10ec0287, Subsystem Id: 0x17aa3906) - **Driver:** sof-hda-dsp - **BIOS:** Q7CN44WW - **alsa-ucm-conf version:** 1.2.16 ### Problem On this machine, the internal microphone (Node 0x12, Pin Default 0x90a60140: `[Fixed] Mic at Int N/A`) is reported as unavailable by PipeWire/WirePlumber because the UCM configuration assigns the wrong `JackControl`. The codec exposes: - `Internal Mic Phantom Jack` = on (always-on, internal mic present) - `Mic Jack` = off (external 3.5mm jack, nothing plugged in) - **No** `Input Source` or `Capture Source` enum control ### Root Cause In `ucm2/HDA/HiFi-mic.conf`, the `If.micsetup` condition checks for an `Input Source` / `Capture Source` enum. When neither exists, it enters the `True` branch which unconditionally sets: ``` DeviceMicJack "Mic Jack" ``` This associates the internal mic device with the external jack's availability. Since `Mic Jack` = off (no external mic plugged in), PipeWire's ACP marks the mic route as `available: no`, and GNOME reports no microphone available. The internal mic hardware works perfectly — direct ALSA recording (`arecord -D hw:1,0`) succeeds. ### Expected Behavior The internal mic should have no `JackControl` (or use `Internal Mic Phantom Jack`) so its availability is not tied to the external jack state. ### Proposed Fix In the `True` branch of `If.micsetup` (the "no source selector enum" fallback), add a condition: if `Internal Mic Phantom Jack` exists, don't assign `DeviceMicJack "Mic Jack"`. Something like: ``` True { Define { DeviceMicName "Mic" DeviceMicComment "Stereo Microphone" DeviceMicJack "Mic Jack" DeviceMicPriority 200 } If.internalmic_phantom { Condition { Type ControlExists Control "iface=CARD,name='Internal Mic Phantom Jack'" } True.Define.DeviceMicJack "" } } ``` This preserves the existing behavior for machines with only an external mic jack, while correctly handling machines where the sole capture device is the internal mic. ### Codec Dump (relevant excerpt) ``` Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In Pincap 0x00000020: IN Pin Default 0x90a60140: [Fixed] Mic at Int N/A Conn = Digital, Color = Unknown DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Pincap 0x00003724: IN Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x03a11030: [Jack] Mic at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x3, Sequence = 0x0 ``` ### ALSA Controls ``` Internal Mic Phantom Jack: values=on Mic Jack: values=off (No 'Input Source' or 'Capture Source' control exists) ``` Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/785 Repository URL: https://github.com/alsa-project/alsa-ucm-conf ^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <18b857154c001f00-webhooks-bot@alsa-project.org>]
* HDA/HiFi-mic.conf: Internal mic incorrectly gated by external Mic Jack on ALC287 without Input Source enum [not found] <18b857154c001f00-webhooks-bot@alsa-project.org> @ 2026-06-12 13:03 ` GitHub issues - opened 0 siblings, 0 replies; 2+ messages in thread From: GitHub issues - opened @ 2026-06-12 13:03 UTC (permalink / raw) To: alsa-devel alsa-project/alsa-ucm-conf issue #785 was opened from fabianmartins: ### Machine - **Model:** Lenovo Legion Pro 7 16IAX10H (DMI product name: 83F5) - **Codec:** Realtek ALC287 (Vendor Id: 0x10ec0287, Subsystem Id: 0x17aa3906) - **Driver:** sof-hda-dsp - **BIOS:** Q7CN44WW - **alsa-ucm-conf version:** 1.2.16 ### Problem On this machine, the internal microphone (Node 0x12, Pin Default 0x90a60140: `[Fixed] Mic at Int N/A`) is reported as unavailable by PipeWire/WirePlumber because the UCM configuration assigns the wrong `JackControl`. The codec exposes: - `Internal Mic Phantom Jack` = on (always-on, internal mic present) - `Mic Jack` = off (external 3.5mm jack, nothing plugged in) - **No** `Input Source` or `Capture Source` enum control ### Root Cause In `ucm2/HDA/HiFi-mic.conf`, the `If.micsetup` condition checks for an `Input Source` / `Capture Source` enum. When neither exists, it enters the `True` branch which unconditionally sets: ``` DeviceMicJack "Mic Jack" ``` This associates the internal mic device with the external jack's availability. Since `Mic Jack` = off (no external mic plugged in), PipeWire's ACP marks the mic route as `available: no`, and GNOME reports no microphone available. The internal mic hardware works perfectly — direct ALSA recording (`arecord -D hw:1,0`) succeeds. ### Expected Behavior The internal mic should have no `JackControl` (or use `Internal Mic Phantom Jack`) so its availability is not tied to the external jack state. ### Proposed Fix In the `True` branch of `If.micsetup` (the "no source selector enum" fallback), add a condition: if `Internal Mic Phantom Jack` exists, don't assign `DeviceMicJack "Mic Jack"`. Something like: ``` True { Define { DeviceMicName "Mic" DeviceMicComment "Stereo Microphone" DeviceMicJack "Mic Jack" DeviceMicPriority 200 } If.internalmic_phantom { Condition { Type ControlExists Control "iface=CARD,name='Internal Mic Phantom Jack'" } True.Define.DeviceMicJack "" } } ``` This preserves the existing behavior for machines with only an external mic jack, while correctly handling machines where the sole capture device is the internal mic. ### Codec Dump (relevant excerpt) ``` Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In Pincap 0x00000020: IN Pin Default 0x90a60140: [Fixed] Mic at Int N/A Conn = Digital, Color = Unknown DefAssociation = 0x4, Sequence = 0x0 Misc = NO_PRESENCE Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In Pincap 0x00003724: IN Detect Vref caps: HIZ 50 GRD 80 100 Pin Default 0x03a11030: [Jack] Mic at Ext Left Conn = 1/8, Color = Black DefAssociation = 0x3, Sequence = 0x0 ``` ### ALSA Controls ``` Internal Mic Phantom Jack: values=on Mic Jack: values=off (No 'Input Source' or 'Capture Source' control exists) ``` Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/785 Repository URL: https://github.com/alsa-project/alsa-ucm-conf ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-16 21:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <18b9ac428ea57200-webhooks-bot@alsa-project.org>
2026-06-16 21:15 ` HDA/HiFi-mic.conf: Internal mic incorrectly gated by external Mic Jack on ALC287 without Input Source enum GitHub issues - reopened
[not found] <18b857154c001f00-webhooks-bot@alsa-project.org>
2026-06-12 13:03 ` GitHub issues - opened
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox