The Radio Setup dialog is the master per-radio configuration window. It contains tabs for radio information, network settings, GPS, TX configuration, Phone/CW, RX calibration, audio, antenna names, filters, calibration, transverters, USB cables, peripherals, serial ports, APD, themes, SmartLink pinned certificate management, and KiwiSDR receivers.
Chassis serial number. Click the copy button next to the value to copy the serial number to the clipboard.
Region
Regulatory region (USA by default).
HW Version
Hardware version string.
Options
Licensed radio options.
FlexControl
Detected state of FlexControl hardware.
multiFLEX
multiFLEX enabled state.
Model
Radio model.
Each read-only value field has a copy button. Click the clipboard icon to copy the value to the system clipboard. A brief "Copied" popup confirms the action. Copy buttons are visually dimmed when the value is empty or unavailable.
The License Info section displays subscription status, expiration date, radio ID, and licensed version. Each field includes a clipboard copy button next to the value.
Opens a file dialog for a SmartSDR installer (.msi, .exe) or pre-extracted .ssdr firmware file. Passes the selected path to FirmwareStager which extracts .ssdr payload and emits progress.
Upload Firmware
Starts firmware upload with progress bar and status.
Firmware status
Empty until a firmware upload begins, then shows progress and result text.
Reboots the connected radio with a confirmation dialog. AetherSDR disconnects and (on LAN) auto-reconnects once booting finishes.
New in v26.8.4 (#4448). Only enabled when connected and the backend supports a client reboot (e.g. HL2 is RX-only so the button is disabled). On SmartLink/WAN the operator must reconnect manually after the reboot.
Agent Automation (MCP):
Enables the in-app automation bridge so an AI coding assistant (via the MCP server) can introspect and drive the running app. Off by default; the operator opts in.
New in v26.8.4 (#3646). Persisted via AutomationBridgeSettings. The AETHER_AUTOMATION launch environment variable force-enables the bridge regardless of this toggle and disables the control in the UI. Transmit-keying stays blocked unless AETHER_AUTOMATION_ALLOW_TX is set.
Access Token:
Read-only display of the MCP access token; paste it into the assistant's AETHER_MCP_TOKEN environment variable. Stored in the OS secret store.
New in v26.8.4. Auto-mints a 128-bit hex token when the bridge is enabled without one. Placeholder '(loading…)' until the keychain read lands.
Copy (Access Token)
Copies the access token to the clipboard.
New in v26.8.4.
Rotate (Access Token)
Generates a new token and applies it immediately, locking out any client still using the old one.
New in v26.8.4.
Allow TX via MCP: Enable transmit control
Lets an MCP client key the transmitter (MOX/PTT/TUNE/ATU/CWX). Off by default; first enable raises an operator-responsibility confirmation.
New in v26.8.4. Enforced in the bridge; no client can flip it. Overridden by AETHER_AUTOMATION_ALLOW_TX (force on) and AETHER_AUTOMATION_NO_TX (pinned off). A force-unkey watchdog limits bridge-originated TX.
Observe only: Read-only (block all driving)
Makes the bridge observe-only: MCP clients can read state but every mutating verb (set/invoke/connect/tune/capture) is refused.
New in v26.8.4 (#4188). Enforced in the app, so a client cannot bypass it. AETHER_AUTOMATION_READONLY launch variable pins it on for headless/CI runs.
VITA-49 RX buffer:
Snap-to-preset slider setting the kernel receive buffer (SO_RCVBUF) for the VITA-49 stream socket; larger absorbs panadapter/waterfall bursts so packets aren't dropped.
New in v26.8.4 (#3810). Presets 256 KB to 4 MB. The system caps the grant at net.core.rmem_max; a live 'granted: ' label shows what the kernel actually granted.
granted: (VITA-49 RX buffer)
Shows the buffer size the kernel actually granted (vs the requested preset).
New in v26.8.4. Shows '(applies on connect)' when no connection is active.
### SmartLink tab
The SmartLink tab manages pinned SmartLink TLS certificates. Lists each pinned certificate with host, SHA-256 fingerprint, and pinned date. Cert-pin mismatch now hard-pauses the handshake with a modal dialog.
Open Settings > Radio Setup... and click the RX tab.
Enter a known-accurate reference frequency in Cal Frequency (MHz):.
Click Start. The button changes to Busy and is disabled while calibration runs. A status label to the right of the button shows progress text.
"Starting…" appears immediately.
If you leave the Cal Frequency (MHz): field empty and click Start, the status label shows "Enter cal frequency" in amber and the calibration does not start.
Wait for the status label to indicate completion. The Start button re-enables automatically.
Confirm or adjust the result using Freq Offset (ppb):.
Control
Description
Notes
Cal Frequency (MHz):
Frequency used for calibration, entered in MHz to six decimal places.
Sent to the radio as radio set cal_freq=<value>.
Start
Begins the calibration sweep. Disabled and labelled Busy while a calibration is in progress.
Resets freq_error_ppb to 0 before starting. Requires a non-empty cal frequency.
**Freq Offset (pp
⚡ Athena AetherSDR Assistant
Hi! I'm Athena, the AetherSDR AI assistant. Ask me anything about installation, configuration, or troubleshooting.