Skip to content

ff400.sh: driver skips same-value mixer writes after a JACK restart — readback can lie about applied state #454

Description

@mkovero

Split out of #444 (PR #450 architect re-entry, 2026-09-14 comment on #444).

Observed on pupu, 2026-09-15 (architect's note on #444): after a JACK restart, the FF400 driver skips a mixer write whose value matches its cached value, so ff400.sh's level/gain/routing/mute writes can leave the device at driver defaults while amixer cget readback shows the requested value. The script (and its show mode) has no way to tell "written and applied" from "written and skipped, cache stale."

Architect's note (issue #444, re-entry): "silent-config defect... belongs in a separate issue, not this one."

This is the same failure class as the phantom-power cache issue #441 already worked around with a toggle-write restore (per MEMORY.md: "pupu logout deletes the JACK socket... the fixing restart resets FF400 to defaults while ALSA readback lies — toggle-write baseline"). Fix direction likely the same toggle-write pattern, generalized to whichever controls this script sets, or an explicit note that readback after this script cannot be trusted post-restart.

Not urgent enough to block #450; filed per qa's "bug found outside PR scope → open new issue" rule.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingscope-nonedaemon, CLI, wire, build, docs — nothing a standard governs

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions