task-39: HiFi capture is silent; the DMIC needs the Q6 voice session
92133 frames at peak 0. Codec routing is correct and forcing the call profile's TX7 decimator changes nothing, so it is neither the decimator nor the front end - what is left in the 11-control diff is VoiceMMode1. Voice Call (Mic, Speaker) gives working mic plus speakerphone and is the workaround. Capture gain is UCM's to set; runtime amixer does not survive profile activation.
This commit is contained in:
parent
5f53bf7396
commit
2e23e4b260
1 changed files with 37 additions and 0 deletions
|
|
@ -135,3 +135,40 @@ that **native PulseAudio owns the phone audio stack** and `conflicts`/`replaces`
|
|||
pipewire, pipewire-audio and wireplumber — while the device is in fact running
|
||||
pipewire, pipewire-pulse and wireplumber. Reconcile which is true before
|
||||
building policy on either.
|
||||
|
||||
## The HiFi profile captures pure silence (measured 2026-08-02)
|
||||
|
||||
**`HiFi` capture is dead, and not subtly: 92133 frames, peak `0`.** Exactly
|
||||
zero, not a low level — the stream runs and the ADC delivers nothing. This is
|
||||
why STT on the keyboard has no microphone.
|
||||
|
||||
The codec routing in `HiFi` is *correct*, which is what makes it a real bug
|
||||
rather than a missing mixer line:
|
||||
|
||||
DMIC MUX5 = DMIC4 CDC_IF TX5 MUX = DEC5 ADC MUX5 = DMIC
|
||||
DEC5 Volume = 84 AIF1_CAP Mixer SLIM TX5 = on
|
||||
MultiMedia2 Mixer SLIMBUS_0_TX = on (front end, on in both profiles)
|
||||
|
||||
Forcing the capture onto the **TX7** decimator — the exact chain the call
|
||||
profile uses (`DMIC MUX7=5`, `CDC_IF TX7 MUX=2`, `DEC7 Volume=124`,
|
||||
`AIF1_CAP Mixer SLIM TX7=on`) — still yields peak `0`. So it is **not** the
|
||||
decimator, and not the front-end mixer.
|
||||
|
||||
Only **11** mixer controls differ between `HiFi` and `Voice Call (Mic, Speaker)`.
|
||||
After eliminating the TX5/TX7 pairs, what remains is
|
||||
`QUAT_TDM_RX_0 Voice Mixer VoiceMMode1` and
|
||||
`VoiceMMode1 Capture Mixer SLIMBUS_0_TX` — i.e. the DMIC only produces data
|
||||
while the **Q6 voice session** is up. That is the thing to chase; do not
|
||||
re-litigate the decimator, it is measured and ruled out.
|
||||
|
||||
**Working configuration today: `Voice Call (Mic, Speaker)`.** It carries the
|
||||
`Both CS35L36 amps, speakerphone` output *and* a live DMIC4 capture, and it
|
||||
survives a wireplumber restart. That is a workaround, not the answer — it holds
|
||||
the modem voice path open (`VoiceMMode1`) for ordinary media use, whose power
|
||||
and call-interaction cost is unmeasured.
|
||||
|
||||
**Capture gain belongs in the UCM.** The voice verb sets `DEC7 Volume=124`,
|
||||
which gives a flat noise floor at rms ~14000 with no speech variation at all;
|
||||
84 drops it to ~6200. A runtime `amixer cset` does **not** persist — activating
|
||||
the profile reapplies the UCM value, verified. Whatever gain STT wants has to
|
||||
land in `souveraine-ucm-blueline`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue