Skip to content

Command line

adswill edited this page Oct 16, 2026 · 1 revision

A headless receiver for logs, scripts and bring-up, built from the same library as the app.

onair-cli is the installed name of the program the source tree builds as dect2cli. It prints sync and level telemetry once per second and can play a service, record IQ, write a transport stream or serve the network tuner. dect2scan is a channel scanner. wbtool and isdbtgen are developer tools built with the tests.

Examples

# receive with a HackRF, tuned to 522 MHz, for 20 seconds
onair-cli --hackrf --freq 522 --secs 20

# play a service from a recording (10 Msps, 8-bit signed)
onair-cli --file capture.cs8 --rate 10 --format cs8 --play <service id>

# record 10 seconds of raw IQ (any radio, or --synthetic); "auto" names the file for you
onair-cli --record auto --secs 10

# Iridium bursts for iridium-toolkit
onair-cli --standard iridium --iridium-bits output.bits --secs 600

# TETRA network information
onair-cli --standard tetra --freq 392.5

# FM sound to a WAV file
onair-cli --standard fm --freq 98.5 --wav out.wav

A SigMF recording (.sigmf-meta) or a two-channel WAV IQ file gives its own rate, centre frequency and sample format; --rate, --format and --freq still override. --record does not work with --file.

Options

Option Meaning
--hackrf Use a HackRF.
--file path Read a recording. With --rate Msps and --format (cs8, cu8 or cf32).
--synthetic Use the built-in test signal. --demo makes synthetic DVB-T / ATSC carry the test-card programme. --snr dB sets its noise.
--freq MHz Tune. --bw MHz sets the channel width, --autobw finds it.
--lna dB, --vga dB, --amp, --gain dB Radio gains: HackRF stages, or the overall gain of other radios.
--radio key=value A setting of the radio (for example --radio iqformat=cs8 for a PlutoSDR with Tezuka).
--secs N How long to run.
--standard id t2, t, dvbt, atsc, atsc3, dab, isdbt, fm, or any mode or sub-mode id listed below.
--play id, --service id Play a service, or select the service for outputs.
--ts file, --udp host:port, --rtp, --no-null Write the transport stream to a file or send it over UDP / RTP, optionally without null packets.
--serve port, --lan Run the network tuner on a port; --lan lets other computers connect.
--record out Save raw samples to a file, a folder or auto (any radio or --synthetic, not --file).
--wav file, --listen FM: write the sound to a 48 kHz stereo WAV. --listen plays the sound of FM, voice, CW and ham modes (the command line is silent otherwise).
--compute cpu, gpu or auto Where error correction runs.
--ref lat lon The receiver position (ADS-B reference).
--isdbt-bw 6, 7, 8 or auto ISDB-T channel width.
--dvbc-sr Msym/s, --dvbc-qam n, --dvbc-annexc DVB-C: manual symbol rate, QAM order, J.83 annex C.
--dvbt-mode, --dvbt-gi, --dvbt-mod, --dvbt-rate Parameters of the synthetic DVB-T signal.
--dpmr-scan dPMR: scan the 16 PMR446 channels.
--orbcomm-downlinks 1 or 2 Orbcomm downlinks decoded at once.
--ble-channel 37, 38 or 39 Bluetooth LE advertising channel.
--atv-fm Analog TV: FM video (analog FPV links), 20 Msps.
--iridium-bits file Write Iridium bursts as RAW: lines.
--sopt k v, --sval k v Options and values of a mode's test signal.

Mode ids for --standard

Modes (the tuning table of each mode): acars, adsb, aero, airband, ais, ale, ant, astro, atv, ble, cdr, cell, codar, contestia, cubesat, cw, datawell, dect, dji, dmr, dominoex, dpmr, drm, dsc, dstar, dtmb, dvbc, dvbs, elektro, flarm, flex, freedv, fst4, ft2, ft4, ft8, general, globalstar, gnss, goes, gsmr, halow, hamdrm, hdr, hell, hfbeacon, hfdig, hfdl, hrpt, ils, inmc, iono, iridium, ism, js8, jt65, jt9, lbj, loraaprs, loraraw, lorawan, m17, mac, marine, mesh, meshcom, meshcore, meshtastic, meteor, mfsk, msk144, multitone, navtex, nbiot, ndb, nr, nxdn, olivia, orbcomm, p25, packet, pager, pocsag, psk, q65, qo100, rid, rtty, same, sonde, specan, specx, sstv, tetra, tetrapol, thor, time, uat, uplink, vdes, vdl2, vdl4, vor, vorils, wb, wefax, wifi, wisun, wspr, zigbee.

dect2scan

dect2scan [--from MHz] [--to MHz] [--step MHz] [--bw MHz] [--quick] [--lna dB] [--vga dB] [--noamp] [--occ dB]

Scans a range with the first radio found and prints each frequency with its level and occupancy, and for DVB-T2 the mode, SNR, PLP info, network id and name, and the services. --quick skips identifying services; --bw fixes the channel width.

See also the remote-control API and Build from source.

Clone this wiki locally