waveshark --help has the rest
Command line reference
Every switch that sets the receiver up so a session can be reproduced without a dozen clicks, and every diagnostic that prints numbers and exits.
Running WaveShark with no arguments gives you the interactive receiver. Everything below either sets that receiver up, or is a diagnostic that prints and exits.
$ waveshark --tune 868.3 --record captures
$ waveshark --replay captures
$ waveshark --headless --print-log --ha-broker homeassistant.local| Flag | What it does |
|---|---|
--tune <mhz> | Start tuned and listening. Repeat it for several channels at once. |
--mode <mode> | wfm, nfm, am, usb, lsb or cw. |
--span <khz> | Nearest span to this, narrowed in software when the radio cannot sample that slowly. |
--device <name> | Pick a radio when several are plugged in. |
--rf-gain <db> | Total tuner gain, distributed across the radio’s stages. |
--stream <host> | Offer a network tuner as a radio: an IQStream host:port or ws://, wss:// or https:// address, or rtl_tcp://, spyserver:// or kiwisdr://host:port. Repeatable. |
--iqstream-listen <addr> | Serve this span over IQStream, SpyServer and rtl_tcp on one port, 5555 by convention. Add ,tune to let a subscriber move the dial. |
--iqstream-tuner <radio> | Serve a spare radio beside the span on the same port, as its number or label, then a rate and a frequency. Repeatable. |
--location <lat,lon> | The receiver position, which lets one ADS-B frame place an aircraft instead of needing a pair. |
--record [dir] | Write every burst that decodes as an rtl_433 style capture. |
--capture-iq | Write the raw span from the moment the radio starts, with a SigMF description beside it. |
--capture <file> | Open a recording as the receiver: rtl_433 style, SigMF, or any file with rate=, format= and centre= after its name. |
--replay [path] | Decode a capture, a directory of them, or a packet log, and print what came out. |
--packet-log <dir> | Where the binary packet log goes, one file a day. |
--survey [file] | Record a database of the devices heard and where they were heard. |
--headless | Run with no window, scanning and logging as the interface would. |
--print-log | Print every packet as it arrives, window or not. |
--mcp-listen <addr> | Where to serve MCP, or off. 127.0.0.1:8931 unless told otherwise. |
--kiss-listen <addr> | Serve a KISS TNC, so packet software can use the radio and key AX.25 through it. |
--ha-broker <broker> | Publish every device heard to Home Assistant over MQTT. |
--ha-spaces <kinds> | Which identity spaces are worth publishing, e.g. ism,wmbus. |
--fetch-data | Warm the dataset cache before going somewhere without a connection. |
--probe [mhz] | Check the signal path with no display. |
--squelch-probe [mhz] | Report what the squelch reads on a frequency, for setting one. |
--settings <name> | Open with a settings dialog up: agent, radio, spectrum, waterfall, log, scanners, memory, data or app. |
--chain, --flights, --calls, --messages, --transcript, --links, --control, --channels, --video, --scanners, --gain and --setup open the receiver on a view.
Capture once, decode forever
A capture that decodes is a test fixture: no radio, same answer every run.
Reverse engineering