Split out of #444 (PR #450 architect re-entry, 2026-09-14 comment on #444).
scripts/ff400.sh's header promises no hardware loopback ("Analog inputs/ADAT inputs are muted in the DSP mixer"), and the script mutes mixer:analog-source-gain (numid 9..26) and mixer:adat-source-gain (numid 45..62) to zero. It never touches mixer:spdif-source-gain (numid 27..44). S/PDIF input can still loop back to the outputs even after a fresh init.
Architect's note (issue #444, re-entry): "silent-config defect... belongs in a separate issue, not this one."
Fix should mute numid 27..44 the same way as 9..26/45..62, using the live-width read-and-check pattern PR #450 introduces for the other three families (width per upstream former_ctls.rs: 18 × 2, i.e. 2 wide per row, not 8 or 18 — verify against amixer cget before trusting).
Not urgent enough to block #450; filed per qa's "bug found outside PR scope → open new issue" rule.
Split out of #444 (PR #450 architect re-entry, 2026-09-14 comment on #444).
scripts/ff400.sh's header promises no hardware loopback ("Analog inputs/ADAT inputs are muted in the DSP mixer"), and the script mutesmixer:analog-source-gain(numid 9..26) andmixer:adat-source-gain(numid 45..62) to zero. It never touchesmixer:spdif-source-gain(numid 27..44). S/PDIF input can still loop back to the outputs even after a fresh init.Architect's note (issue #444, re-entry): "silent-config defect... belongs in a separate issue, not this one."
Fix should mute numid 27..44 the same way as 9..26/45..62, using the live-width read-and-check pattern PR #450 introduces for the other three families (width per upstream
former_ctls.rs: 18 × 2, i.e. 2 wide per row, not 8 or 18 — verify againstamixer cgetbefore trusting).Not urgent enough to block #450; filed per qa's "bug found outside PR scope → open new issue" rule.