CLI Reference
Theados CLI covers everyday operations: find the local setup webapp, check
agent status, update and uninstall the agent, and inspect or tune hardware,
logs, network adapters, plugins, the profile, the radio link, and which services
run the native implementation.
Most flight-operations configuration (pairing, MAVLink, video, ground-station
setup, remote access) lives in the local setup webapp or ADOS Mission Control.
Top-level commands
Subgroups
ados
Run ados after install or over SSH:
- Setup URL.
- Hotspot, LAN, USB tether, and mDNS URLs when available.
- Mission Control and tunnel URLs when configured.
- MAVLink and video state.
- Network and remote access state.
- Services and telemetry.
q or Ctrl-C to exit.
If the command is not attached to a TTY, it prints the same summary as
ados status.
ados status
Use ados status for a short support-friendly summary:
ados update
Update the agent to the latest version. ados update re-runs the installer in
upgrade mode, which updates the Rust daemons and the CLI while preserving the
device identity and config.
current_version, latest_version, and update_available as JSON:
ados uninstall
Remove the installed agent:
ados plugin
The ados plugin subgroup manages the agent plugin host: install, enable, disable, remove, inspect, and tail logs for installed plugins. Each plugin runs as a subprocess under the agent supervisor with its own cgroup limits and a capability-gated IPC channel.
install, enable, disable, remove, and perms --revoke prompt for confirmation by default. Pass --yes to skip prompts in scripts.
The full operator and OEM guide is at Plugins. Plugin authoring lives under the Developers tab.
ados diag
Per-hop verdicts on the subsystems that fail most often. Reach for these before journalctl:
each one reports what it measured and how, rather than leaving you to infer a verdict from
raw output.
ados diag link reports the decode verdict and the pairing state as two separate things, on
purpose. A box can be paired and decoding nothing, and the two answers point at different
faults. It also says so plainly when neither end measured packet loss, rather than reporting
zero loss it did not observe.
ados diag storage reads back wear the box has been recording all along. It is the first thing
to check on a node that has been rebooting on its own, because undervoltage and thermal
throttling both show up there.
ados diag does not appear in ados help. It is a working diagnostic group rather than a
first-run command, and it is fully supported.ados hardware
Inspect and reset the hardware-detection cache.
ados logs
Query the black-box logging store. The store keeps logs, telemetry history, discrete events, and hardware samples in a durable local database that survives reboots and is reachable when the network is down.
Add
--json for machine-readable output where supported.
ados network
Inspect and manage networking. Two nested groups and one leaf command.
ados network ap-passphrase reads /etc/ados/ap-passphrase (the platform’s etc directory, resolved rather than hardcoded) and prints the value on its own line, so it composes into a script or a pipe and needs no TTY. It does not generate: asking a unit that has never started its access point is an error rather than a side effect that mints a passphrase hostapd never loaded. The file is mode 0600, so run it as root. The ados status page shows the same value in its wifi key row and works over SSH; the difference is that this prints one line with nothing around it.
ados profile
Show or override which profile the node runs.
ados radio
Inspect and tune the WFB-ng radio link, including pairing.
ados rust
Switch individual services between the native (Rust) and packaged implementations. This writes a marker file the supervisor reconciles. It never hand-edits live unit files.
Where the old commands went
The setup webapp is the operator UI for:- MAVLink setup.
- Video setup.
- Network and hotspot setup.
- Cloudflare remote access.
- Ground station pairing and role setup.
- Logs and support status.
- Advanced recovery.