Audio Mixer
The Audio Mixer page, under OS Configuration in the sidebar, shows the host’s live ALSA
mixer controls — the same settings as alsamixer, in the web UI. It isn’t a service or
manifest, so it’s always there as long as hamctl is running.
It’s useful because a sound codec that’s just been enabled usually comes up with its
capture switches muted (playback on, capture off). An FRN or digital-voice client then
opens the device, gets no audio, and quits — for example AFRN’s FATAL: Audio is not
responding. The mixer page lets you turn the capture source on, set ADC/mic gain and
output levels, and pick routes without SSHing in to run amixer.
Using it
- If the host has more than one card, pick it from the Sound card dropdown.
- Controls are grouped into Playback, Capture, and Other, and rendered by type:
- switches become toggles (e.g.
Line In Capture Switch) - volumes and gains become sliders with a live readout (e.g.
Line Out Playback Volume) - routes become dropdowns (e.g.
Line Out Source Playback Route)
- switches become toggles (e.g.
- Changes apply as you make them, like a hardware mixer. Each control shows a brief ✓ when applied, or an error if it was rejected.
- Click Persist across reboot to run
alsactl store, which saves the card’s state to/var/lib/alsa/asound.stateforalsa-restoreto replay at boot. Without it, the live changes are lost on the next reboot.
Notes
- The page reads and writes through
amixerandalsactl. On a host without them, or with no sound card, it shows an empty state. - Persist across reboot writes a system file and may need root; if hamctl runs unprivileged the action reports the error instead of failing silently.
- Values are checked before they reach
amixer: volumes are clamped to the control’s range, switches are on or off, and a route must be one of the listed options.