Skip to content

Section 12 command line reference

madmedicnl edited this page Sep 30, 2026 · 3 revisions

12. Command-line reference

Option Description
--device <ARGS> SoapySDR device args, e.g. driver=hackrf (default: config, then first device).
--probe List devices and their probed capabilities, then exit.
--console Terminal (text) waterfall instead of the GUI.
--siggen Use the built-in signal generator instead of hardware.
--file <PATH> Play a raw interleaved CF32 IQ file instead of hardware.
--freq <HZ> Center frequency in Hz (default: where the last session was left, or 14,200,000 on a first run).
--rate <HZ> Sample rate in Hz (default: from config).
--gain <DB> Overall RX gain in dB (default: hardware AGC or a moderate value).
--mode <MODE> Initial mode, matched without regard to case: LSB, USB, CW, AM, SAM, NFM, WFM, DRM, HD RADIO, ADS-B, VDL2, AIS, DIGU, DIGL, DSB, ISB, SPEC, FT8, FT4, FT2, JS8, WSPR, PSK, RTTY, RTTY-FM, PACKET, PACKET-HF, APRS, SSTV, SSTV-FM, RIFP, WEFAX, NAVTEX, ACARS, OLIVIA, THOR, FSQ, ATCHAT, HELL, RFPAINT, RADE, HFDL. HD RADIO is the one name with a space in it, so it needs quoting on the command line: --mode "HD RADIO". Default: the mode the last session was left in.
--antenna <NAME> RX antenna port, as the device names it (LNAH, TX/RX — --probe lists them). Default: the port the last session was left on, and failing that whatever the driver selects.
--tx-antenna <NAME> TX antenna port, likewise (BAND1, BAND2).
--server Run as a server (web client + WebSocket streaming backend).
--connect <HOST[:PORT]> Connect as a native remote client to a running server.
--port <PORT> Server port (default: from config, 4950).
--web-root <DIR> Directory with the built web client (default: embedded assets).
--fft <SIZE> Spectrum FFT size (default 4096).
--fps <N> Console waterfall lines per second (default 15).
--db-floor <DBFS> Display floor in dBFS (default −110).
--db-ceil <DBFS> Display ceiling in dBFS (default −10).
--width <CHARS> Console spectrum width in characters (default 100).
--freedv-reporter-probe <SECS> Connect to FreeDV Reporter read-only for SECS seconds and print what arrives. Uses the server's view role, so nothing is reported and you do not appear on the site. Needs no radio.
--freedv-reporter-host <HOST[:PORT]> FreeDV Reporter host for the probe (default qso.freedv.org).
--record-iq <PATH> Write every raw IQ sample the receiver delivers to PATH, in the same interleaved CF32 format --file reads back. For capturing a band to work on offline — see 5.6. Large: 8 bytes a sample, so about 16 MB a second at 2 Msps, and it runs until you quit. Radio 0 only.
--swl Start in SWL mode (Short Wave Listener): hide every transmit control for this run. The same as ticking Start in SWL mode in Settings → UI, without changing the stored preference.
--oob-tx Allow transmit on any frequency the hardware supports, not just the amateur bands. See below.

Testing without a radio: --siggen (built-in signal generator), --file (replay an IQ recording), --probe (list SoapySDR devices), and --console (a text-mode waterfall) are handy for trying things out. --record-iq is the other half of --file: capture a band once and replay it as often as a decoder needs.

Transmitting outside the amateur bands: --oob-tx

sdroxide refuses to key up outside the amateur allocations. That lockout is the last thing standing between a mistyped frequency and an out-of-band transmission, so it is on by default and there is no button in the interface to turn it off.

--oob-tx lifts it for that run only. It overrides tx_ham_only in config.toml and cannot be saved, so lifting the lockout is a deliberate act every single time sdroxide starts:

sdroxide --oob-tx

A warning appears in the middle of the window on startup and stays there until you dismiss it by hand. I UNDERSTAND dismisses it for that run, and it comes back on the next launch, because the flag has to be passed again on the next launch. Tick Don't show again beside that button instead and the acknowledgement is remembered on that screen: the lockout is still off while the engine runs with --oob-tx, but the page is not shown again.

The flag can only ever loosen the lockout, never tighten it: without it, sdroxide behaves exactly as it always has.

This is for licensed out-of-band use — MARS/CAP, a commercial or experimental licence, a service-monitor or dummy-load bench — where you are authorised to use the frequencies you are about to key on. Transmitting outside your licence is an offence in every country that issues one, and the penalty for interfering with aeronautical, maritime or emergency traffic is not a fine.

Running --server --oob-tx lifts the lockout for every client that connects, local or remote, and each of them gets the warning: the licence at risk belongs to whoever is at the controls, who need not be whoever started the engine.



From the User Manual. Home.

Clone this wiki locally