Skip to main content

CLI Reference

The ados 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:
In an interactive terminal it opens a read-only status page with:
  • 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.
Press 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:
Example output:
For scripts:
The JSON output is the same setup status used by the setup webapp and Mission Control.

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.
Report the current and latest version without installing:
Update without a confirmation prompt:
Print current_version, latest_version, and update_available as JSON:
See Updating the Agent for platform behavior and rollback.

ados uninstall

Remove the installed agent:
Remove config as well:
Run without prompts:

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.
Mission Control remains the main GCS for flight operations, hardware management, video, fleet state, and plugin workflows.