The setup instructions for Digirigs call for disabling of AGC in the properties of the codec’s recording device. This ensures that the level slider in adjacent tab is actually setting the sensitivity of Digirig’s input. Linux has the “Auto Gain Control” switch in alsamixer however macOS has neither: the controls exist in the CM108B chip, but Apple’s USB audio driver has no UI for them, not even an input level slider. This comes up every time someone runs Direwolf or VARA on a Mac and the input is too hot with nothing to adjust.
Both the Windows checkbox and the Linux switch work by sending a standard USB audio class request to the chip, so the same request can be sent directly by a command line utility without touching Apple’s driver. Attached is a Python script that does this:
brew install libusb
pip3 install pyusb
python3 cmagc.py status # current AGC / gain / mute readings
python3 cmagc.py agc off
python3 cmagc.py volume max # capture gain, up to +23dB
python3 cmagc.py defaults # warn if Digirig is set as the default sound device
The chip doesn’t store the settings, so they reset on replug; daemon mode (--daemon) reapplies them automatically, launchd setup is in the included README.
The script checks out against Digirig’s USB descriptors, but I haven’t run it on Macs. If you are on macOS please give it a try and post your results: macOS version, Intel or Apple Silicon, output of status before and after agc off, and whether the change shows in your app’s level meter. If you get a permission error, retry with sudo and mention that too.
cmagc-0.1.zip (18.7 KB)



