ffx

Fuchsia's developer tool


Usage: ffx [-c <config...>] [-e <env>] [--machine <machine>] [--schema] [--stamp <stamp>] [-t <target>] [-T <timeout>] [-l <log-level>] [--isolate-dir <isolate-dir>] [-v] [subcommand...]

Options  
--help display usage information
-c, --config override configuration values (key=value or json)
-e, --env override the path to the environment configuration file (file path)
--machine produce output for a machine in the specified format; available formats: "json", "json-pretty"
--schema produce the JSON schema for the MachineWriter output. The --machine option is required when producing the schema.
--stamp create a stamp file at the given path containing the exit code
-t, --target apply operations across single or multiple targets
-T, --timeout override default proxy timeout
-l, --log-level sets the log level for ffx output (default = Info). Other possible values are Info, Error, Warn, and Trace. Can be persisted via log.level config setting.
--isolate-dir turn on isolation mode using the given directory to isolate all config and socket files into the specified directory. This overrides the FFX_ISOLATE_DIR env variable, which can also put ffx into this mode.
-v, --verbose logs ffx output to stdio according to log level
Subcommands  
agis Agis Service
component Discover and manage components
config View and switch default and user configurations
daemon Interact with/control the ffx daemon
debug Start a debugging session.
doctor Run common checks for the ffx tool and host environment
emu Start and manage Fuchsia emulators.
fuzz Start and manage fuzzers.
inspect Query component nodes exposed via the Inspect API.
log Display logs from a target device
net View and manage target network configuration
package Create and publish Fuchsia packages
platform Manage platform build prerequisites
process Processes related commands
product Discover and access product bundle metadata and image data.
profile Profile run-time information from various subsystems
repository Inspect and manage package repositories
sdk Modify or query the installed SDKs
session Control the session component.
setui Modify and query settings.
target Interact with a target device or emulator
test Run test suite
trace Tracing is a tool that allows you to collect, aggregate, and visualize diagnostic tracing information from both userspace processes and the Zircon kernel on a Fuchsia device.
version Print out ffx tool and daemon versions
wlan Developer tool for manipulating WLAN state.

agis

Agis Service


Usage:  ffx agis [subcommand...]

Options  
--help display usage information
Subcommands  
listen initiate listening on
register register a process with AGIS for tracing
shutdown shutdown all listeners
vtcs list all vulkan traceable components

listen

initiate listening on |global_id|


Usage:  ffx agis listen global_id

Options  
--help display usage information

register

register a process with AGIS for tracing


Usage:  ffx agis register id process_koid process_name

Options  
--help display usage information

shutdown

shutdown all listeners


Usage:  ffx agis shutdown

Options  
--help display usage information

vtcs

list all vulkan traceable components


Usage:  ffx agis vtcs

Options  
--help display usage information

component

Discover and manage components


Usage:  ffx component [subcommand...]

Options  
--help display usage information
Subcommands  
capability Lists component instances that reference a capability
collection Manages collections in the component topology
copy copies files to/from directories associated with a component.

Paths may be any combination of local or remote paths. | create | Creates a dynamic component instance, adding it to the collection designated by | debug | Debug a running component with zxdb. | destroy | Destroys a dynamic component instance, removing it from the collection designated by | doctor | Perform diagnostic checks on a component at runtime. | explore | Spawns a shell scoped to a component instance. | graph | Outputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list. | list | Lists components in the component topology. Children of unresolved components are not included in this list. | reload | Recursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources | resolve | Resolves a component instance | route | Perform capability routing on a component at runtime. | run | Creates and starts a component instance in an existing collection within the component topology. | show | Shows detailed information about a component instance | start | Starts a component | stop | Stops a component instance | storage | Manages storage capabilities of components

capability

Lists component instances that reference a capability


Usage:  ffx component capability capability

Options  
--help display usage information

Examples

To show all components that reference a capability:

    $ ffx component capability fuchsia.net.routes

collection

Manages collections in the component topology


Usage:  ffx component collection [subcommand...]

Options  
--help display usage information
Subcommands  
list List all collections in the component topology
show Shows detailed information about a collection in the component topology

list

List all collections in the component topology


Usage:  ffx component collection list

Options  
--help display usage information

show

Shows detailed information about a collection in the component topology


Usage:  ffx component collection show query

Options  
--help display usage information

copy

copies files to/from directories associated with a component. Paths may be any combination of local or remote paths.


Usage:  ffx component copy [-v] [paths...]

Options  
--help display usage information
-v, --verbose verbose output: outputs a line for each file copied.

Examples

To copy from a component to a local path: 
ffx component copy /some/moniker::/path/file.txt /local/file.txt 

To copy from a local path to a component: 
ffx component copy /local/file.txt /some/moniker::/dir/file.txt

To copy between two components: 
ffx component copy /some/moniker::/dir/file.txt /some/moniker::/dir/file.txt

To copy multiple files: 
ffx component copy /some/moniker::/dir/* /some/local/dir
ffx component copy /file/one.txt /file/two.txt ... /some/moniker::/dir/

To copy a file from a component's outgoing directory: 
ffx component copy /some/moniker::out::/path/file.txt /local/file.txt

To copy a file from a component's package directory: 
ffx component copy /some/moniker::pkg::/meta/foo /tmp

Notes

  • To learn more about the command see https://fuchsia.dev/fuchsia-src/development/sdk/ffx/copy-files-to-and-from-a-component

create

Creates a dynamic component instance, adding it to the collection designated by


Usage:  ffx component create [--config <config...>] moniker url

Options  
--help display usage information
--config provide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value.

Examples

To create a component instance designated by the moniker `/core/ffx-laboratory:foo`:

    $ ffx component create /core/ffx-laboratory:foo fuchsia-pkg://fuchsia.com/hello-world-rust#meta/hello-world-rust.cm

Notes

  • To learn more about running components, see https://fuchsia.dev/go/components/run

debug

Debug a running component with zxdb.


Usage:  ffx component debug query

Options  
--help display usage information

Examples

To debug the `brightness_manager` component instance, all of the
following commands are valid:

    $ ffx component debug /core/brightness_manager
    $ ffx component debug fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm
    $ ffx component debug meta/brightness_manager.cm
    $ ffx component debug brightness_manager

If the component is not yet running, consider `ffx component start --debug`
to start the component in the debugger.

Notes

  • This command supports partial matches over the moniker, URL and instance ID

destroy

Destroys a dynamic component instance, removing it from the collection designated by


Usage:  ffx component destroy query

Options  
--help display usage information

Examples

To destroy a component instance designated by the moniker `/core/ffx-laboratory:foo`:

    $ ffx component destroy /core/ffx-laboratory:foo

Notes

  • To learn more about running components, see https://fuchsia.dev/go/components/run

doctor

Perform diagnostic checks on a component at runtime.


Usage:  ffx component doctor [-p] query

Options  
--help display usage information
-p, --plain whether or not to display the output without color and wrapping.

Examples

To run diagnostics:

$ ffx component doctor /core/network/netstack

This will run checks on the capabilities configuration of the component, checking that all of the
`use` and `expose` capabilities can be routed successfully by the component manager.

explore

Spawns a shell scoped to a component instance.


Usage:  ffx component explore [--tools <tools...>] [-c <command>] [-l <layout>] query

Options  
--help display usage information
--tools list of URLs of tools packages to include in the shell environment. the PATH variable will be updated to include binaries from these tools packages. repeat --tools url for each package to be included. The path preference is given by command line order.
-c, --command execute a command instead of reading from stdin. the exit code of the command will be forwarded to the host.
-l, --layout changes the namespace layout that is created for the shell. nested: nests all instance directories under subdirs (default) namespace: sets the instance namespace as the root (works better for tools)

Examples

To explore the Archivist instance interactively:

> ffx component explore /bootstrap/archivist
$ ls
exposed
ns
out
runtime
svc
$ exit
Connection to terminal closed

To run a command directly from the command line:
> ffx component explore /bootstrap/archivist -c 'printenv'
PATH=/.dash/tools/debug-dash-launcher
PWD=/

Notes

  • When --layout=nested (the default), the environment contains the following
    directories of the explored instance:
  • /ns The namespace of the instance
  • /exposed The capabilities exposed by the instance
  • /out The outgoing directory of the instance, if it is running
  • /runtime The runtime directory of the instance, if it is running

The environment also contains the following directories, irrespective of the explored instance: * /.dash User-added and built-in dash tools * /svc Protocols required by the dash shell

When --layout=namespace, the contents of the /ns dir above are placed at / with two protocols (fuchsia.process.Launcher and fuchsia.process.Resolver) overlayed into /svc. In this mode, the exposed, out, and runtime directories will not be accessible.

With --tools, tools in the specified package will be loaded into /.dash/tools// The path is set so that they can be run by name. The path preference is in the command line order of the --tools arguments, with any built-in tools taking lowest priority.

--tools URLs may be package or binary URLs. If a package URL is given, tool executables are expected to be in a bin/ dir within the package. If a specific tool URL is given, append the tool path to the package URL. For example: --tools fuchsia-pkg://fuchsia.com/my_package#bin/my_tool. Note that naming collisions can occur if multiple packages share a package or binary name. An error, NonUniqueBinaryName, is returned if a binary name collision occurs.

graph

Outputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list.


Usage:  ffx component graph [-o <only>] [-r <orientation>]

Options  
--help display usage information
-o, --only filter the instance list by a criteria: ancestor, descendant, relative
-r, --orientation changes the visual orientation of the graph's nodes. Allowed values are "lefttoright"/"lr" and "toptobottom"/"tb".

Examples

To graph components in the topology:

    $ ffx component graph

    To graph all running components in the topology:

    $ ffx component graph --only running

    To graph all stopped components in the topology:

    $ ffx component graph --only stopped

    To graph the ancestors of a component named `foo`:

    $ ffx component graph --only ancestor:foo

    To graph the descendants of a component named `foo`:

    $ ffx component graph --only descendant:foo

    To graph both the ancestors and descendants of a component named `foo`:

    $ ffx component graph --only relatives:foo

    To order the graph's nodes from left-to-right (instead of top-to-bottom):

    $ ffx component graph --orientation left_to_right

list

Lists components in the component topology. Children of unresolved components are not included in this list.


Usage:  ffx component list [-o <only>] [-v]

Options  
--help display usage information
-o, --only filter the instance list by a criteria: running, stopped, ancestors:, descendants:, or relatives:
-v, --verbose show detailed information about each instance

Examples

To list components in the topology:

    $ ffx component list

    To list all running components in the topology:

    $ ffx component list --only running

    To list all stopped components in the topology:

    $ ffx component list --only stopped

    To list the ancestors of a component named `foo`:

    $ ffx component list --only ancestor:foo

    To list the descendants of a component named `foo`:

    $ ffx component list --only descendant:foo

    To list both the ancestors and descendants of a component named `foo`:

    $ ffx component list --only relatives:foo

reload

Recursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources


Usage:  ffx component reload query

Options  
--help display usage information

Examples

To reload a component instance designated by the moniker `/core/ffx-laboratory:foo`:

    $ ffx component reload /core/ffx-laboratory:foo

Notes

  • To learn more about running components, see https://fuchsia.dev/go/components/run

resolve

Resolves a component instance


Usage:  ffx component resolve query

Options  
--help display usage information

Examples

To resolve the component designated by the provided moniker `/core/brightness_manager`:

    $ ffx component resolve /core/brightness_manager

route

Perform capability routing on a component at runtime.


Usage:  ffx component route target [filter]

Options  
--help display usage information

Examples

To route capabilities from `font_provider`:

$ ffx component route /core/font_provider

This will perform routing on all the capabilities used or exposed by `font_provider`, and display
information for each route including its status (success or failure) and the identity of the source
component providing the capability.

$ ffx component route fonts.cm

This does the same thing, except with a fuzzy match (on the URL).

$ ffx component route /core/font_provider fuchsia.pkg.FontResolver

This will perform routing on capabilities used or exposed by `font_provider` that match
`fuchsia.pkg.FontResolver`.

$ ffx component route /core/font_provider use:fuchsia.pkg.FontResolver,expose:fuchsia.fonts.Provider

This will perform routing from `font_provider` on used capability `fuchsia.pkg.FontResolver` and
exposed capability `fuchsia.fonts.Provider`.

$ ffx component route /core/font_provider fuchsia.pkg

Fuzzy matching by capability is also supported. This will perform routing from `font_provider` on
any used or exposed capability matching *fuchsia.pkg*.

run

Creates and starts a component instance in an existing collection within the component topology.


Usage:  ffx component run [-r] [-f] [--connect-stdio] [--config <config...>] moniker url

Options  
--help display usage information
-r, --recreate destroy and recreate the component instance if it already exists
-f, --follow-logs start printing logs from the started component after it has started
--connect-stdio connect stdin, stdout, and stderr to the component (requires component to be in a collection with single_run durability)
--config provide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value.

Examples

To create a component instance from the `hello-world-rust` component URL:

    $ ffx component run /core/ffx-laboratory:hello-world fuchsia-pkg://fuchsia.com/hello-world-rust#meta/hello-world-rust.cm

Notes

  • This command is a shorthand for the following:

    $ ffx component create $ ffx component start

To learn more about running components, see https://fuchsia.dev/go/components/run

show

Shows detailed information about a component instance


Usage:  ffx component show query

Options  
--help display usage information

Examples

To show information about the `brightness_manager` component instance, all of the
following commands are valid:

    $ ffx component show /core/brightness_manager
    $ ffx component show fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm
    $ ffx component show meta/brightness_manager.cm
    $ ffx component show brightness_manager

Notes

  • This command supports partial matches over the moniker, URL and instance ID

start

Starts a component


Usage:  ffx component start [--debug] query

Options  
--help display usage information
--debug start the component in the debugger. To debug a component that is already running, consider ffx component debug.

Examples

To start the component instance designated by the moniker `/core/brightness_manager`:

    $ ffx component start /core/brightness_manager

The start the brightness manager in the debugger, use the --debug flag:

    $ ffx component start /core/brightness_manager --debug

Notes

  • To learn more about running components, see https://fuchsia.dev/go/components/run

stop

Stops a component instance


Usage:  ffx component stop query

Options  
--help display usage information

Examples

To stop the component instance designated by the moniker `/core/brightness_manager`:

    $ ffx component stop /core/brightness_manager

Notes

  • To learn more about running components, see https://fuchsia.dev/go/components/run

storage

Manages storage capabilities of components


Usage:  ffx component storage [--provider <provider>] [--capability <capability>] [subcommand...]

Options  
--help display usage information
--provider the moniker of the storage provider component. Defaults to "/core"
--capability the capability name of the storage to use. Examples: "data", "cache", "tmp" Defaults to "data"
Subcommands  
copy Copy files to/from a component's storage. If the file already exists at the destination it is overwritten.
delete Delete files from a component's storage.
delete-all Delete the contents of the storage for a specific component.
list List the contents of a component's storage.
make-directory Create a new directory in a component's storage. If the directory already exists, this operation is a no-op.

copy

Copy files to/from a component's storage. If the file already exists at the destination it is overwritten.


Usage:  ffx component storage copy source_path destination_path

Options  
--help display usage information

Examples

To copy `credentials.json` from the current working directory on the host to the `settings` directory of a component's storage:

    $ ffx component storage copy ./credentials.json 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings/credentials.json

To copy `credentials.json` from the current working directory on the host to the `settings` directory from a different provider and capability:

    $ ffx component storage --provider /core/test_manager --capability data copy ./credentials.json f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings/credentials.json

Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
the component whose storage is being accessed.

To learn about component instance IDs, see https://fuchsia.dev/go/components/instance-id

delete

Delete files from a component's storage.


Usage:  ffx component storage delete path

Options  
--help display usage information

Examples

To delete `credentials.json` from the root directory of a component's persistent storage:

    $ ffx component storage delete 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::credentials.json

Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
the component whose storage is being accessed.

To learn about component instance IDs, see https://fuchsia.dev/go/components/instance-id

delete-all

Delete the contents of the storage for a specific component.


Usage:  ffx component storage delete-all moniker

Options  
--help display usage information

Examples

To delete the contents of the storage for a component with moniker `foo`:

    $ ffx component storage delete-all foo

Note: although unusual, the user may specify internal instance IDs in the moniker such as `foo:0/bar:2`.

list

List the contents of a component's storage.


Usage:  ffx component storage list path

Options  
--help display usage information

Examples

To list the contents of the `settings` directory in a component's storage:

    $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings

To list the contents of the root directory of a component's storage:

    $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::/

To list the contents of a directory using a different provider and capability:

    $ ffx component storage --provider /core/test_manager --capability data list f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::/

Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
the component whose storage is being accessed.

To learn about component instance IDs, see https://fuchsia.dev/go/components/instance-id

make-directory

Create a new directory in a component's storage. If the directory already exists, this operation is a no-op.


Usage:  ffx component storage make-directory path

Options  
--help display usage information

Examples

To make a `settings` directory in a storage:

    $ ffx component storage make-directory 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings

To make a `settings` directory in a storage from a different provider and capability:

    $ ffx component storage --provider /core/test_manager --capability data make-directory f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings

Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
the component whose storage is being accessed.

To learn about component instance IDs, see https://fuchsia.dev/go/components/instance-id

config

View and switch default and user configurations


Usage:  ffx config [subcommand...]

Options  
--help display usage information
Subcommands  
add add config value the end of an array
analytics enable or disable analytics
check-ssh-keys check the ssh key configuration and create keys if needed.
env list environment settings
get display config values
remove remove config for a given level
set set config settings

add

add config value the end of an array


Usage:  ffx config add [-l <level>] [-b <build-dir>] name value

Options  
--help display usage information
-l, --level config level. Possible values are "user", "build", "global". Defaults to "user".
-b, --build-dir an optional build directory to associate the build config provided - used for "build" configs. If not provided, it may attempt to autodiscover your active build directory.

Notes

  • This will always add to the end of an array.  Adding to a subtree is not supported. If the current value is not an array, it will convert the value to an array.  If you want to insert a value in a different position, consider editing the configuration file directly.  Configuration file locations can be found by running ffx config env get command.

analytics

enable or disable analytics


Usage:  ffx config analytics [subcommand...]

Options  
--help display usage information
Subcommands  
disable disable analytics
enable enable analytics
show show analytics

disable

disable analytics


Usage:  ffx config analytics disable

Options  
--help display usage information

enable

enable analytics


Usage:  ffx config analytics enable

Options  
--help display usage information

show

show analytics


Usage:  ffx config analytics show

Options  
--help display usage information

check-ssh-keys

check the ssh key configuration and create keys if needed.


Usage:  ffx config check-ssh-keys

Options  
--help display usage information

env

list environment settings


Usage:  ffx config env [subcommand...]

Options  
--help display usage information
Subcommands  
get list environment for a given level
set set environment settings

get

list environment for a given level


Usage:  ffx config env get [level]

Options  
--help display usage information

set

set environment settings


Usage:  ffx config env set [-l <level>] [-b <build-dir>] file

Options  
--help display usage information
-l, --level config level. Possible values are "user", "build", "global". Defaults to "user".
-b, --build-dir an optional build directory to associate the build config provided - used for "build" configs. If not provided, it may attempt to autodiscover your active build directory.

get

display config values


Usage:  ffx config get [-p <process>] [-s <select>] [-b <build-dir>] [name]

Options  
--help display usage information
-p, --process how to process results. Possible values are "r/raw", "s/sub/substitute", or "f/file". Defaults to "substitute". Currently only supported if a name is given.
-s, --select how to collect results. Possible values are "first" and "all". Defaults to "first". If the value is "first", the first value found in terms of priority is returned. If the value is "all", all values across all configuration levels are aggregrated and returned. Currently only supported if a name is given.
-b, --build-dir an optional build directory to associate the build config provided - used for "build" configs. If not provided, it may attempt to autodiscover your active build directory.
Errors  
2 No value found

remove

remove config for a given level


Usage:  ffx config remove [-l <level>] [-b <build-dir>] name

Options  
--help display usage information
-l, --level config level. Possible values are "user", "build", "global". Defaults to "user".
-b, --build-dir an optional build directory to associate the build config provided - used for "build" configs. If not provided, it may attempt to autodiscover your active build directory.

Notes

  • This will remove the entire value for the given name.  If the value is a subtree or array, the entire subtree or array will be removed.  If you want to remove a specific value from an array, consider editing the configuration file directly.  Configuration file locations can be found by running ffx config env get command.

set

set config settings


Usage:  ffx config set [-l <level>] [-b <build-dir>] name value

Options  
--help display usage information
-l, --level config level. Possible values are "user", "build", "global". Defaults to "user".
-b, --build-dir an optional build directory to associate the build config provided - used for "build" configs. If not provided, it may attempt to autodiscover your active build directory.

daemon

Interact with/control the ffx daemon


Usage:  ffx daemon [subcommand...]

Options  
--help display usage information
Subcommands  
crash crash the daemon
echo run echo test against the daemon
hang hang the daemon
log Dumps the daemon log
socket query information about the daemon socket without connecting to it
start run as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging
stop stops a running daemon

crash

crash the daemon


Usage:  ffx daemon crash

Options  
--help display usage information

echo

run echo test against the daemon


Usage:  ffx daemon echo [text]

Options  
--help display usage information

hang

hang the daemon


Usage:  ffx daemon hang

Options  
--help display usage information

log

Dumps the daemon log


Usage:  ffx daemon log [-f] [-l <line-count>]

Options  
--help display usage information
-f, --follow print appended logs as they happen
-l, --line-count display most recent log lines.

socket

query information about the daemon socket without connecting to it


Usage:  ffx daemon socket

Options  
--help display usage information

start

run as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging


Usage:  ffx daemon start [--path <path>]

Options  
--help display usage information
--path override the path the socket will be bound to

stop

stops a running daemon


Usage:  ffx daemon stop [-w] [--no-wait] [-t <timeout-ms>]

Options  
--help display usage information
-w, --wait wait indefinitely for the daemon to stop before exiting (should not be used in automated systems)
--no-wait do not wait for daemon to stop (default behavior -- eventually to be deprecated)
-t, --timeout-ms optional timeout (in milliseconds) to wait for the daemon to stop. Will try killing the daemon if it does not exit on its own.

debug

Start a debugging session.


Usage:  ffx debug [subcommand...]

Options  
--help display usage information
Subcommands  
connect start the debugger and connect to the target
core start the debugger and open a minidump
crash catch a crashing process on the target
fidl monitor FIDL traffic on the target
limbo control the process limbo on the target
symbol-index manage symbol sources used by other debug commands
symbolize symbolize backtraces in markup format

connect

start the debugger and connect to the target


Usage:  ffx debug connect [--debugger <debugger>] [--agent-only] [-a <attach...>] [-e <execute...>] [--new-agent] [zxdb_args...]

Options  
--help display usage information
--debugger start zxdb in another debugger. Currently, the only valid option is "lldb".
--agent-only only start the debug agent but not the zxdb. The path to the UNIX socket will be printed and can be connected via "connect -u" in zxdb shell.
-a, --attach attaches to given processes. The argument will be parsed in the same way as the "attach" command in the console.
-e, --execute execute one zxdb command. Multiple commands will be executed sequentially.
--new-agent always spawn a new DebugAgent instance for this zxdb invocation.

core

start the debugger and open a minidump


Usage:  ffx debug core [--zxdb-args <zxdb-args...>] [minidump]

Options  
--help display usage information
--zxdb-args extra arguments passed to zxdb.

crash

catch a crashing process on the target


Usage:  ffx debug crash

Options  
--help display usage information

fidl

monitor FIDL traffic on the target


Usage:  ffx debug fidl [--from <from>] [--to <to>] [--format <format>] [--with <with...>] [--with-process-info] [--stack <stack>] [--syscalls <syscalls...>] [--exclude-syscalls <exclude-syscalls...>] [--messages <messages...>] [--exclude-messages <exclude-messages...>] [--trigger <trigger...>] [--thread <thread...>] [--dump-messages] [--remote-pid <remote-pid...>] [-f <remote-name...>] [--extra-name <extra-name...>] [-c <remote-component...>] [--extra-component <extra-component...>] [--fidl-ir-path <fidl-ir-path...>] [extra_args...]

Options  
--help display usage information
--from specifies the source. Source can be: device: this is the default input. The input comes from the live monitoring of one or several processes. At least one of '--remote-pid', '--remote-name', '--remote-job-id', --'remote-job-name', 'run' must be specified. dump: The input comes from stdin which is the log output of one or several programs. The lines in the log which dump syscalls are decoded and replaced by the decoded version. All other lines are unchanged. : playback. Used to replay a session previously recorded with --to (protobuf format). Path gives the name of the file to read. If path is '-' then the standard input is used. This option must be used at most once.
--to the session is saved to the specified file (binary protobuf format). When a session is saved, you can replay it using "--from ". The raw data is saved. That means that the data saved is independent from what is displayed.
--format the display format for the session dump. The available formats are: pretty: the session is pretty printed (with colors). This is the default output if --with is not used. json: the session is printed using a json format. textproto: the session is printed using a text protobuf format. none: nothing is displayed on the standard output (this option only makes sense when used with --to or with --with). When there is no output, fidlcat is faster (this is better to monitor real time components). This is the default output when --with is used.
--with specifies an extra summarized output. summary: at the end of the session, a summary of the session is displayed on the standard output. top: at the end of the session, generate a view that groups the output by process, protocol, and method. The groups are sorted by number of events, so groups with more associated events are listed earlier. group-by-thread: for each thread display a short version of all the events. An equal sign followed by a path can be concatanated to the option to output the result in a file instead of the standard output (for example: --with summary=/tmp/x). This option can be used several times.
--with-process-info display the process name, process id and thread id on each line (useful for grep).
--stack define the amount of stack frame to display 0: none (default value) 1: call site (1 to 4 levels) 2: full stack frame (adds some overhead)
--syscalls a regular expression which selects the syscalls to decode and display. This option can be specified multiple times. By default, only zxchannel.* syscalls are displayed. To display all the syscalls, use: --syscalls ".*"
--exclude-syscalls a regular expression which selects the syscalls to not decode and display. This option can be specified multiple times. To be displayed, a syscall must verify --syscalls and not verify --exclude-syscalls. To display all the syscalls but the zx_handle syscalls, use: --syscalls "." --exclude-syscalls "zxhandle."
--messages a regular expression which selects the messages to display. To display a message, the method name must satisfy the regexp. This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--exclude-messages a regular expression which selects the messages to not display. If a message method name satisfy the regexp, the message is not displayed (even if it satisfies --messages). This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--trigger start displaying messages and syscalls only when a message for which the method name satisfies the filter is found. This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--thread only display the events for the specified thread. This option can be specified multiple times. By default all the events are displayed.
--dump-messages always does a hexadecimal dump of the messages even if we can decode them.
--remote-pid the koid of the remote process to trace.
-f, --remote-name the of a process. Fidlcat will monitor all existing and future processes whose names includes ( is a substring of the process name). This option can be specified multiple times. When used with --remote-job-id or --remote-job-name, only the processes from the selected jobs are taken into account.
--extra-name like "--remote-name" but for these processes, monitoring starts only when one of the "--remote-name" or "--remote-component" is launched. Also, fidlcat stops when the last "--remote-name" or "--remote-component" stops, even if some "--extra-name" processes are still running. You must specify at least one filter with "--remote-name" or "--remote-component" if you use this option. This option can be specified multiple times.
-c, --remote-component the URL or the moniker of a component for which we want to monitor. All processes running in the component will be monitered. This option can be specified multiple times.
--extra-component like "--remote-component" but for these components, monitoring starts only when one of the "--remote-name" or "--remote-component" is launched. Also, fidlcat stops when the last "--remote-name" or "--remote-component" stops, even if some "--extra-component" are still running. You must specify at least one filter with "--remote-name" or "--remote-component" if you use this option. This option can be specified multiple times.
--fidl-ir-path add the given path as a repository for FIDL IR, in the form of .fidl.json files. Passing a file adds the given file. Passing a directory adds all of the .fidl.json files in that directory and any directory transitively reachable from there. An argfile contains a newline-separated list of .fidl.json files relative to the directory containing the argfile; passing an argfile (starting with the '@' character) adds all files listed in that argfile. This option can be specified multiple times.

limbo

control the process limbo on the target


Usage:  ffx debug limbo [subcommand...]

Options  
--help display usage information
Subcommands  
disable disable the process limbo. Will free any pending processes waiting in it.
enable enable the process limbo. It will now begin to capture crashing processes.
list lists the processes currently waiting on limbo. The limbo must be active.
release release a process from limbo. The limbo must be active.
status query the status of the process limbo.

disable

disable the process limbo. Will free any pending processes waiting in it.


Usage:  ffx debug limbo disable

Options  
--help display usage information

enable

enable the process limbo. It will now begin to capture crashing processes.


Usage:  ffx debug limbo enable

Options  
--help display usage information

list

lists the processes currently waiting on limbo. The limbo must be active.


Usage:  ffx debug limbo list

Options  
--help display usage information

release

release a process from limbo. The limbo must be active.


Usage:  ffx debug limbo release pid

Options  
--help display usage information

status

query the status of the process limbo.


Usage:  ffx debug limbo status

Options  
--help display usage information

symbol-index

manage symbol sources used by other debug commands


Usage:  ffx debug symbol-index [subcommand...]

Options  
--help display usage information
Subcommands  
add add a path or url to the symbol index
clean remove all non-existent paths
list show the content in symbol index
remove remove a path from the symbol index

Notes

  • symbol-index is a global configuration used by debugging tools to locate
    symbol files.

add

add a path or url to the symbol index


Usage:  ffx debug symbol-index add [--build-dir <build-dir>] source

Options  
--help display usage information
--build-dir optional build directory used by zxdb to locate the source code

Notes

  • Add a path or a debuginfod server to the symbol index, e.g.,
    
    • A build-id directory, with an optional build directory.
    • An ids.txt file, with an optional build directory.
    • A file that ends with .symbol-index.json.
    • https://debuginfod.debian.net

Duplicated adding of the same path or url is a no-op, regardless of the optional build directory.

clean

remove all non-existent paths


Usage:  ffx debug symbol-index clean

Options  
--help display usage information

Notes

  • Remove all non-existent paths from the symbol index, useful as a garbage
    collection.

list

show the content in symbol index


Usage:  ffx debug symbol-index list [-a]

Options  
--help display usage information
-a, --aggregated show the aggregated symbol index

remove

remove a path from the symbol index


Usage:  ffx debug symbol-index remove source

Options  
--help display usage information

Notes

  • Remove a path or a debuginfod server from the symbol index, e.g.,
    
    • A build-id directory.
    • An ids.txt file.
    • A file that ends with .symbol-index.json.
    • https://debuginfod.debian.net

symbolize

symbolize backtraces in markup format


Usage:  ffx debug symbolize [--auth] [--no-prettify] [symbolizer_args...]

Options  
--help display usage information
--auth start the authentication process.
--no-prettify do not prettify the backtraces.

doctor

Run common checks for the ffx tool and host environment


Usage:  ffx doctor [--record] [--no-config] [--retry-count <retry-count>] [--retry-delay <retry-delay>] [--restart-daemon] [-v] [--output-dir <output-dir>] [--repair-keys]

Options  
--help display usage information
--record generates an output zip file with logs
--no-config do not include the ffx configuration file
--retry-count number of times to retry failed connection attempts
--retry-delay timeout delay in ms during connection attempt
--restart-daemon force restart the daemon, even if the connection is working
-v, --verbose verbose, display all steps
--output-dir override the default output directory for doctor records
--repair-keys checks SSH key consistency and repairs them if needed. This may cause any devices to be reflashed.

Examples

To run diagnostics:

    $ ffx doctor

To capture the output and additional logs:

    $ ffx doctor --record

By default, this outputs the zip in the current directory.

To override output dir:

    $ ffx doctor --record --output-dir /tmp/ffx

Notes

  • The doctor subcommand automatically attempts to repair common target
    interaction issues and provides useful diagnostic information to the user.

By default, running ffx doctor attempts to establish a connection with the daemon, and restarts the daemon if there is no connection. The default retry_count is '3' and the default 'retry_delay` is '2000' milliseconds.

emu

Start and manage Fuchsia emulators.


Usage:  ffx emu [subcommand...]

Options  
--help display usage information
Subcommands  
console [EXPERIMENTAL] Connect to a running Fuchsia emulator's console.
list List running Fuchsia emulators.
show Show Fuchsia emulator details.
start Start the Fuchsia emulator.
stop Shut down a running Fuchsia emulator.

Notes

  • The emu command is used to start up, manage, and shut down Fuchsia emulators.

The start subcommand launches an emulator according to the configuration in the Product Bundle. Once one or more emulators are running, you can use the list subcommand to see the name and status of all running emulators, and the show subcommand to get a printout of the configuration for a specific emulator. When you're done with an emulator, use the stop subcommand to cleanly terminate that emulator.

For more information on the Fuchsia emulator, see the Getting Started page at https://fuchsia.dev/fuchsia-src/get-started/set_up_femu.

console

[EXPERIMENTAL] Connect to a running Fuchsia emulator's console.


Usage:  ffx emu console [--console-type <console-type>] [-c] [-m] [-s] [name]

Options  
--help display usage information
--console-type selector for which console to attach to. Accepted values are: command machine serial
-c, --command attach to the user-interactive command console. Equivalent to "--console-type command".
-m, --machine attach to the machine-readable command console. Equivalent to "--console-type machine".
-s, --serial attach to the Fuchsia serial console. Equivalent to "--console-type serial".

Examples

ffx emu console -s
ffx emu console fuchsia-emulator --console-type serial

list

List running Fuchsia emulators.


Usage:  ffx emu list [-r]

Options  
--help display usage information
-r, --only-running list only the emulators that are currently in the "running" state.

show

Show Fuchsia emulator details.


Usage:  ffx emu show [--all] [--cmd] [--config] [--device] [--net] [--raw] [name]

Options  
--help display usage information
--all show all of the available details, excluding the raw internal format.
--cmd show the command line used to launch the emulator.
--config show the configuration in a format consistent with the 'start' command's --config flag.
--device show the virtual device information used to launch this emulator, in a format consistent with the 'start' command's --device flag.
--net switch to show network details.
--raw show the entire config output. This is the default output if no other switches are invoked.

start

Start the Fuchsia emulator.


Usage:  ffx emu start [--accel <accel>] [--config <config>] [--console] [--debugger] [--device <device>] [--device-list] [--dry-run] [--edit] [--engine <engine>] [--gpu <gpu>] [-H] [--hidpi-scaling <hidpi-scaling>] [-c <kernel-args...>] [-l <log>] [-m] [--name <name>] [--net <net>] [--port-map <port-map...>] [--reuse] [--reuse-with-check] [--stage] [-s <startup-timeout>] [-V] [product_bundle]

Options  
--help display usage information
--accel virtualization acceleration. Valid choices are "none" to disable acceleration, "hyper" to use the host's hypervisor interface (KVM on Linux and HVF on MacOS), or "auto" to use the hypervisor if detected. The default value is "auto".
--config specify a configuration file to populate the command line flags for the emulator. Defaults to a Handlebars config specified in the Product Bundle manifest.
--console launch the emulator in serial console mode. This redirects the virtual serial port to the host's input/output streams, multi-plexed with the QEMU monitor console, then maintains a connection to those streams rather than returning control to the host terminal. This is especially useful when the guest is running without networking enabled. Note: Control sequences are passed through to the guest system in this mode, so Crtl-c will terminate the guest system's shell, rather than the emulator process itself. If you need to hard-kill the emulator, use the QEMU sequence 'Ctrl-a x' instead.
--debugger pause on launch and wait for a debugger process to attach before resuming. The guest operating system will not begin execution until a debugger, such as gdb or lldb, attaches to the emulator process and signals the emulator to continue.
--device the virtual device specification used to configure the emulator. This can be the name of a device listed in the product bundle, or the path to a custom virtual device file. A default for this flag can be set by running ffx config set emu.device <type>. If --device is not specified and no default is set, then ffx emu will attempt to use the first device listed in the PBM(v1), or the product bundle's recommended device(v2).
--device-list print the list of available virtual devices.
--dry-run sets up the emulation configuration, but doesn't stage files or start the emulator. The command line arguments that the current configuration generates will be printed to stdout for review.
--edit open the user's default editor to modify the command line flags for the emulator.
--engine emulation engine to use for this instance. Allowed values are "femu" which is based on Android Emulator, and "qemu" which uses the version of Qemu packaged with Fuchsia. Default is "femu". This can be overridden by running ffx config set emu.engine <type>.
--gpu GPU acceleration mode. Allowed values are "swiftshader_indirect", "host", or "auto". Default is "swiftshader_indirect". "host" and "auto" are for experimental use only and are not officially supported by the Fuchsia emulator team; graphics artifacts, test failures and emulator crashes may occur. Note: this is unused when using the "qemu" engine type. See https://developer.android.com/studio/run/emulator-acceleration#command-gpu for details on the available options. This can be overridden by running ffx config set emu.gpu <type>.
-H, --headless run the emulator without a GUI. The guest system may still initialize graphics drivers, but no graphics interface will be presented to the user.
--hidpi-scaling enable pixel scaling on HiDPI devices. Defaults to true for MacOS, false otherwise.
-c, --kernel-args passes the given string to the emulator executable, appended after all other arguments (since duplicated values favor the later value). This means command-line values will override configuration-provided values for any of these kernel arguments. Can be repeated arbitrarily many times for multiple additional kernel arguments.
-l, --log store the emulator log at the provided filesystem path. By default, all output goes to a log file in the emulator working directory. The path to this file is printed onscreen during start-up.
-m, --monitor launch the emulator in Qemu monitor console mode. See https://qemu-project.gitlab.io/qemu/system/monitor.html for more information on the Qemu monitor console.
--name name of this emulator instance. This is used to identify the instance in other commands and tools. Default is "fuchsia-emulator". This value can also be set via configuration using the key emu.name.
--net specify the networking mode for the emulator. Allowed values are "none" which disables networking, "tap" which attaches to a Tun/Tap interface, "user" which sets up mapped ports via SLiRP, and "auto" which will check the host system's capabilities and select "tap" if it is available and "user" otherwise. Default is "auto". This can be overridden by running ffx config set emu.net <type>.
--port-map specify a host port mapping for user-networking mode. Ignored in other networking modes. Syntax is "--port-map :". The must be one of those specified in the virtual device specification. This flag may be repeated for multiple port mappings.
--reuse reuse a persistent emulator's state when starting up. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, this instance will reuse the images from the previous instance. If no previous instance is found, or if the old instance is still running, the new emulator will not attempt to start.
--reuse-with-check reuse a persistent emulator's state when starting up after version check. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, the zbi and disk volume files are compared against the original. If they match, the instance will reuse the images from the previous instance. If the files do not match, the instance is started using the latest files. If there is no staged instance, the emulator is started using the latest files and the hash information is recorded so this instance can take advantage of this option.
--stage sets up the emulation configuration and stages files, but doesn't start the emulator. The command line arguments that the staged configuration generates will be printed to stdout for review.
-s, --startup-timeout the maximum time (in seconds) to wait on an emulator to boot before returning control to the user. A value of 0 will skip the check entirely. Default is 60 seconds. This can be overridden with ffx config set emu.start.timeout <seconds>.
-V, --verbose enables extra logging for debugging.

Examples

ffx emu start

Notes

  • The start subcommand is the starting point for all emulator interactions.
    The name provided here will be used for all later interactions to indicate
    which emulator to target. Emulator names must be unique.

The start command will compile all of the necessary configuration for an emulator, launch the emulator, and then store the configuration on disk for future reference. The configuration comes from the Product Bundle, which includes a virtual device specification and a start-up flag template. See https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0100_product_metadata for more information.

stop

Shut down a running Fuchsia emulator.


Usage:  ffx emu stop [--all] [-p] [name]

Options  
--help display usage information
--all shut down and clean up all emulator instances running on the device.
-p, --persist don't remove the state directory on stop, just terminate the emulator.

Examples

ffx emu stop
ffx emu stop --all
ffx emu stop fuchsia-emulator --persist

Notes

  • By default, the stop command will remove an emulator's on-disk
    working directory, which contains emulator state, staged image files, etc.

Use the --persist flag if you need to leave the working directory intact while shutting down the emulator, for debugging or troubleshooting purposes. The working directory will be left in place, and the emulator will be marked [Inactive] in ffx emu list results until stop is called for that instance without the --persist flag.

fuzz

Start and manage fuzzers.


Usage:  ffx fuzz [subcommand...]

Options  
--help display usage information
Subcommands  
add Adds an input to a fuzzer's corpus.
cleanse Clears extraneous bytes from an error input.
fetch Retrieves the attached fuzzer's corpus.
get Gets option(s) from a fuzzer.
list Lists available fuzzers.
merge Compacts the attached fuzzer's corpus.
minimize Reduce the size of an error input.
run Generates inputs and fuzz the target.
set Sets options on a fuzzer.
shell Starts an interactive fuzzing session.
status Gets a fuzzer's execution status.
stop Stops a fuzzer.
try Tests a specific input with a fuzzer.

add

Adds an input to a fuzzer's corpus.


Usage:  ffx fuzz add [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] [-s] url input

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer
-s, --seed add to the seed corpus; default is to add to live corpus

cleanse

Clears extraneous bytes from an error input.


Usage:  ffx fuzz cleanse [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url input

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

fetch

Retrieves the attached fuzzer's corpus.


Usage:  ffx fuzz fetch [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] [-s] url

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer
-s, --seed fetch the seed corpus; default is to fetch the live corpus

get

Gets option(s) from a fuzzer.


Usage:  ffx fuzz get [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url [name]

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

list

Lists available fuzzers.


Usage:  ffx fuzz list [-j <json-file>] [-p <pattern>]

Options  
--help display usage information
-j, --json-file path to JSON file describing fuzzers; looks for tests.json under $FUCHSIA_DIR by default
-p, --pattern list all fuzzers matching shell-style glob pattern; default is to list all fuzzers

merge

Compacts the attached fuzzer's corpus.


Usage:  ffx fuzz merge [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

minimize

Reduce the size of an error input.


Usage:  ffx fuzz minimize [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] [-r <runs>] [-t <time>] url input

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer
-r, --runs convenient shortcut for "set runs "
-t, --time convenient shortcut for "set max_total_time "

run

Generates inputs and fuzz the target.


Usage:  ffx fuzz run [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] [-r <runs>] [-t <time>] url

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer
-r, --runs convenient shortcut for "set runs "
-t, --time convenient shortcut for "set max_total_time "

set

Sets options on a fuzzer.


Usage:  ffx fuzz set [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url name value

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

shell

Starts an interactive fuzzing session.


Usage:  ffx fuzz shell [-j <json-file>]

Options  
--help display usage information
-j, --json-file path to JSON file describing fuzzers; looks for tests.json under $FUCHSIA_DIR by default

status

Gets a fuzzer's execution status.


Usage:  ffx fuzz status [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

stop

Stops a fuzzer.


Usage:  ffx fuzz stop [-q] [url]

Options  
--help display usage information
-q, --quiet if present, suppress non-error output from the ffx tool itself

try

Tests a specific input with a fuzzer.


Usage:  ffx fuzz try [-o <output>] [-q] [--no-stdout] [--no-stderr] [--no-syslog] url input

Options  
--help display usage information
-o, --output where to send fuzzer logs and artifacts; default is stdout and the current directory
-q, --quiet if present, suppress non-error output from the ffx tool itself
--no-stdout disables forwarding standard output from the fuzzer
--no-stderr disables forwarding standard error from the fuzzer
--no-syslog disables forwarding system logs from the fuzzer

inspect

Query component nodes exposed via the Inspect API.


Usage:  ffx inspect [subcommand...]

Options  
--help display usage information
Subcommands  
apply-selectors Apply selectors from a file interactively.
list Lists all components (relative to the scope where the archivist receives events from) of components that expose inspect.
list-accessors Lists all available ArchiveAccessor in the system and their selector for use in "accessor" arguments in other sub-commands.
list-files Lists all inspect files (*inspect vmo files, fuchsia.inspect.Tree and fuchsia.inspect.deprecated.Inspect) under the provided paths. If no monikers are provided, it'll list all the inspect files for all components.
selectors Lists all available full selectors (component selector + tree selector). If a selector is provided, it’ll only print selectors for that component. If a full selector (component + tree) is provided, it lists all selectors under the given node.
show Prints the inspect hierarchies that match the given selectors.

Examples

If you wish to see the JSON format of Inspect, you must pass `--machine json` to the `ffx` command. 
For example to see the Inspect JSON of all components running in the system, run: 

```
ffx --machine json inspect show
```

apply-selectors

Apply selectors from a file interactively.


Usage:  ffx inspect apply-selectors [--snapshot-file <snapshot-file>] [--moniker <moniker>] [--accessor-path <accessor-path>] selector_file

Options  
--help display usage information
--snapshot-file path to the inspect json file to read this file contains inspect.json data from snapshot.zip. If not provided, DiagnosticsProvider will be used to get inspect data.
--moniker moniker of the component to apply the command.
--accessor-path the path from where to get the ArchiveAccessor connection. If the given path is a directory, the command will look for a fuchsia.diagnostics.ArchiveAccessor service file. If the given path is a service file, the command will attempt to connect to it as an ArchiveAccessor.

list

Lists all components (relative to the scope where the archivist receives events from) of components that expose inspect.


Usage:  ffx inspect list [--manifest <manifest>] [--with-url] [--accessor <accessor>]

Options  
--help display usage information
--manifest the name of the manifest file that we are interested in. If this is provided, the output will only contain monikers for components whose url contains the provided name.
--with-url also print the URL of the component.
--accessor A selector specifying what fuchsia.diagnostics.ArchiveAccessor to connect to. The selector will be in the form of: ::fuchsia.diagnostics.ArchiveAccessorName Typically this is the output of iquery list-accessors. For example: bootstrap/archivist:expose:fuchsia.diagnostics.FeedbackArchiveAccessor means that the command will connect to the FeedbackArchiveAccecssor exposed by bootstrap/archivist.

list-accessors

Lists all available ArchiveAccessor in the system and their selector for use in "accessor" arguments in other sub-commands.


Usage:  ffx inspect list-accessors

Options  
--help display usage information

list-files

Lists all inspect files (*inspect vmo files, fuchsia.inspect.Tree and fuchsia.inspect.deprecated.Inspect) under the provided paths. If no monikers are provided, it'll list all the inspect files for all components.


Usage:  ffx inspect list-files [monikers...]

Options  
--help display usage information

selectors

Lists all available full selectors (component selector + tree selector). If a selector is provided, it’ll only print selectors for that component. If a full selector (component + tree) is provided, it lists all selectors under the given node.


Usage:  ffx inspect selectors [--manifest <manifest>] [--accessor <accessor>] [selectors...]

Options  
--help display usage information
--manifest the name of the manifest file that we are interested in. If this is provided, the output will only contain monikers for components whose url contains the provided name.
--accessor A selector specifying what fuchsia.diagnostics.ArchiveAccessor to connect to. The selector will be in the form of: ::fuchsia.diagnostics.ArchiveAccessorName Typically this is the output of iquery list-accessors. For example: bootstrap/archivist:expose:fuchsia.diagnostics.FeedbackArchiveAccessor means that the command will connect to the FeedbackArchiveAccecssor exposed by bootstrap/archivist.

show

Prints the inspect hierarchies that match the given selectors.


Usage:  ffx inspect show [--manifest <manifest>] [--file <file...>] [--accessor <accessor>] [selectors...]

Options  
--help display usage information
--manifest the name of the manifest file that we are interested in. If this is provided, the output will only contain monikers for components whose url contains the provided name.
--file the filenames we are interested in. If any are provided, the output will only contain data from components which expose Inspect under the given file under their out/diagnostics directory. Supports shell globs expansions.
--accessor A selector specifying what fuchsia.diagnostics.ArchiveAccessor to connect to. The selector will be in the form of: ::fuchsia.diagnostics.ArchiveAccessorName Typically this is the output of iquery list-accessors. For example: bootstrap/archivist:expose:fuchsia.diagnostics.FeedbackArchiveAccessor means that the command will connect to the FeedbackArchiveAccecssor exposed by bootstrap/archivist.

log

Display logs from a target device


Usage:  ffx log [--filter <filter...>] [--moniker <moniker...>] [--exclude <exclude...>] [--tag <tag...>] [--exclude-tags <exclude-tags...>] [--severity <severity>] [--kernel] [--since <since>] [--since-monotonic <since-monotonic>] [--until <until>] [--until-monotonic <until-monotonic>] [--hide-tags] [--hide-file] [--no-color] [--show-metadata] [--show-full-moniker] [--clock <clock>] [--raw] [--no-symbolize] [--select <select...>] [--pid <pid>] [--tid <tid>] [--force-select] [subcommand...]

Options  
--help display usage information
--filter filter for a string in either the message, component or url. May be repeated.
--moniker filter for a component moniker. May be repeated.
--exclude exclude a string in either the message, component or url. May be repeated.
--tag filter for only logs with a given tag. May be repeated.
--exclude-tags exclude logs with a given tag. May be repeated.
--severity set the minimum severity. Accepted values (from lower to higher) are: trace, debug, info, warn (or warning), error, fatal. This field is case insensitive.
--kernel outputs only kernel logs. Overrides any other moniker specified.
--since show only logs after a certain time (exclusive)
--since-monotonic show only logs after a certain time (as a monotonic timestamp: seconds from the target's boot time).
--until show only logs until a certain time (exclusive)
--until-monotonic show only logs until a certain time (as a monotonic timestamp: seconds since the target's boot time).
--hide-tags hide the tag field from output (does not exclude any log messages)
--hide-file hide the file and line number field from output (does not exclude any log messages)
--no-color disable coloring logs according to severity. Note that you can permanently disable this with ffx config set log_cmd.color false
--show-metadata shows process-id and thread-id in log output
--show-full-moniker shows the full moniker in log output. By default this is false and only the last segment of the moniker is printed.
--clock how to display log timestamps. Options are "utc", "local", or "monotonic" (i.e. nanos since target boot). Default is monotonic.
--raw if provided, logs will not be symbolized
--no-symbolize if provided, the symbolizer will not be spawned like raw, but actually disables the symbolizer process.
--select configure the log settings on the target device for components matching the given selector. This modifies the minimum log severity level emitted by components during the logging session. Specify using the format #, with level as one of FATAL
--pid filters by pid
--tid filters by tid
--force-select if enabled, selectors will be passed directly to Archivist without any filtering. If disabled and no matching components are found, the user will be prompted to either enable this or be given a list of selectors to choose from.
Subcommands  
dump Dumps all log from a given target's session.
watch Watches for and prints logs from a target. Default if no sub-command is specified.

Examples

Dump the most recent logs and stream new ones as they happen:
  $ ffx log

Stream new logs starting from the current time, filtering for severity of at least "WARN":
  $ ffx log --severity warn --since now

Stream logs where the source moniker, component url and message do not include "sys":
  $ ffx log --exclude sys

Stream ERROR logs with source moniker, component url or message containing either
"netstack" or "remote-control.cm", but not containing "sys":
  $ ffx log --severity error --filter netstack --filter remote-control.cm --exclude sys

Dump all available logs where the source moniker, component url, or message contains
"remote-control":
  $ ffx log --filter remote-control dump

Dump all logs from the last 30 minutes logged before 5 minutes ago:
  $ ffx log --since "30m ago" --until "5m ago" dump

Enable DEBUG logs from the "core/audio" component while logs are streaming:
  $ ffx log --select core/audio#DEBUG

Notes

  • Logs are retrieve from the target at the moment this command is called.

You may see some additional information attached to the log line:

  • dropped=N: this means that N logs attributed to the component were dropped when the component wrote to the log socket. This can happen when archivist cannot keep up with the rate of logs being emitted by the component and the component filled the log socket buffer in the kernel.

  • rolled=N: this means that N logs rolled out from the archivist buffer and ffx never saw them. This can happen when more logs are being ingested by the archivist across all components and the ffx couldn't retrieve them fast enough.

Symbolization is performed in the background using the symbolizer host tool. You can pass additional arguments to the symbolizer tool (for example, to add a remote symbol server) using: $ ffx config set proactive_log.symbolize.extra_args "--symbol-server gs://some-url/path --symbol-server gs://some-other-url/path ..."

To learn more about configuring the log viewer, visit https://fuchsia.dev/fuchsia-src/development/tools/ffx/commands/log

dump

Dumps all log from a given target's session.


Usage:  ffx log dump

Options  
--help display usage information

watch

Watches for and prints logs from a target. Default if no sub-command is specified.


Usage:  ffx log watch

Options  
--help display usage information

net

View and manage target network configuration


Usage:  ffx net [--realm <realm>] [subcommand...]

Options  
--help display usage information
--realm a realm to target when sending commands. Defaults to the core network realm.
Subcommands  
dhcp commands for an interfaces dhcp client
dhcpd commands to control a dhcp server
dns commands to control the dns resolver
filter commands for configuring packet filtering
filter-deprecated commands for configuring packet filtering with the deprecated API
if commands for network interfaces
log commands for logging
migration controls netstack selection for migration from netstack2 to netstack3
neigh commands for neighbor tables
route commands for routing tables

dhcp

commands for an interfaces dhcp client


Usage:  ffx net dhcp [subcommand...]

Options  
--help display usage information
Subcommands  
start starts a dhcp client on the interface
stop stops the dhcp client on the interface

start

starts a dhcp client on the interface


Usage:  ffx net dhcp start nicid or name:ifname

Options  
--help display usage information

stop

stops the dhcp client on the interface


Usage:  ffx net dhcp stop nicid or name:ifname

Options  
--help display usage information

dhcpd

commands to control a dhcp server


Usage:  ffx net dhcpd [subcommand...]

Options  
--help display usage information
Subcommands  
clear-leases A primary command to clear the leases maintained by dhcpd.
get A primary command to retrieve the value of a DHCP option or server parameter.
list A primary command to list the values of all DHCP options or server parameters.
reset A primary command to reset the values of all DHCP options or server parameters.
set A primary command to set the value of a DHCP option or server parameter.
start A primary command to start the DHCP server.
stop A primary command to stop the DHCP server.

clear-leases

A primary command to clear the leases maintained by dhcpd.


Usage:  ffx net dhcpd clear-leases

Options  
--help display usage information

get

A primary command to retrieve the value of a DHCP option or server parameter.


Usage:  ffx net dhcpd get [subcommand...]

Options  
--help display usage information
Subcommands  
option A secondary command indicating a DHCP option argument.
parameter A secondary command indicating a server parameter argument.
option

A secondary command indicating a DHCP option argument.


Usage:  ffx net dhcpd get option [subcommand...]

Options  
--help display usage information
Subcommands  
all-subnets-local Flag indicating if all subnets of the connected network have the same MTU.
arp-cache-timeout Timeout for ARP cache entries.
boot-file-size Size of the default boot image for the client.
bootfile-name Bootfile name for the client.
broadcast-address Broadcast address of the client's subnet.
cookie-server RFC 865 Cookie servers available to the client.
default-finger-server Default Finger servers available to the client.
default-ip-ttl Default time-to-live to use on outgoing IP datagrams.
default-irc-server Default IRC servers available to the client.
default-www-server Default WWW servers available to the client.
domain-name Domain name of the client.
domain-name-server Domain Name System servers available to the client.
ethernet-encapsulation Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
extensions-path Path name to a TFTP-retrievable file containing vendor-extension information.
host-name Name of the client.
impress-server Imagen Impress servers available to the client.
interface-mtu MTU for the client's interface.
ip-forwarding Flag enabling/disabling IP layer packet forwarding.
log-server MIT-LCS UDP Log servers available to the client.
lpr-server RFC 1179 Line Printer servers available to the client.
mask-supplier Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size Maximum sized datagram that the client should be able to reassemble.
max-message-size Maximum length of a DHCP message that the participant is willing to accept.
merit-dump-file Path name of a core dump file.
mobile-ip-home-agent Mobile IP home agents available to the client.
name-server IEN 116 Name servers available to the client.
net-bios-over-tcpip-distribution-server NetBIOS datagram distribution servers available to the client.
net-bios-over-tcpip-name-server NetBIOS name servers available to the client.
net-bios-over-tcpip-node-type The NetBIOS node type which should be used by the client.
net-bios-over-tcpip-scope NetBIOS scope parameter for the client.
network-information-servers Network Information Service servers available to the client.
network-information-service-domain Name of the client's Network Information Service domain.
network-information-service-plus-domain Network Information System+ domain name.
network-information-service-plus-servers Network Information System+ servers available to the client.
network-time-protocol-servers Network Time Protocol servers available to the client.
nntp-server NNTP servers available to the client.
non-local-source-routing Flag enabling/disabling forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout Timeout to use when aging Path MTU values.
path-mtu-plateau-table Table of MTU sizes for Path MTU Discovery.
perform-mask-discovery Flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery Flag indicating whether the client should solicit routers using Router Discovery.
policy-filter Policy filters for non-local source routing.
pop3-server POP3 servers available to the client.
rebinding-time-value Time interval from address assignment at which the client transitions to a Rebinding state.
renewal-time-value Time interval from address assignment at which the client transitions to a Renewing state.
resource-location-server RFC 887 Resource Location servers available to the client.
root-path Path name to a TFTP-retrievable file containing vendor-extension information.
router The routers within a client's subnet.
router-solicitation-address Destination address for Router Solicitation requests.
smtp-server SMTP servers available to the client.
static-route Static Routes which the client should put in its routing cache.
stda-server StreetTalk Directory Assistance servers available to the client.
street-talk-server StreetTalk servers available to the client.
subnet-mask The client's subnet mask.
swap-server Address of the client's swap server.
tcp-default-ttl Default time-to-live for outgoing TCP segments.
tcp-keepalive-garbage Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.
tcp-keepalive-interval Interval the client should wait before sending a TCP keepalive message.
tftp-server-name TFTP server available to the client.
time-offset The client's offset from UTC.
time-server Time Protocol servers available to the client.
trailer-encapsulation Flag specifying whether the client should negotiate the use of trailers in ARP.
vendor-specific-information Option for exchanging vendor-specific information between the DHCP client and DHCP server.
x-window-system-display-manager X window System Display Manager systems available to the client.
x-window-system-font-server X Window System Font servers available to the client.
all-subnets-local

Flag indicating if all subnets of the connected network have the same MTU.


Usage:  ffx net dhcpd get option all-subnets-local [--local]

Options  
--help display usage information
--local a flag indicating if all subents of the IP network to which the client is connected have the same MTU.
arp-cache-timeout

Timeout for ARP cache entries.


Usage:  ffx net dhcpd get option arp-cache-timeout [--timeout <timeout>]

Options  
--help display usage information
--timeout the timeout for ARP cache entries, in seconds.
boot-file-size

Size of the default boot image for the client.


Usage:  ffx net dhcpd get option boot-file-size [--size <size>]

Options  
--help display usage information
--size the size of the client's default boot image in 512-octet blocks.
bootfile-name

Bootfile name for the client.


Usage:  ffx net dhcpd get option bootfile-name [--name <name>]

Options  
--help display usage information
--name the bootfile name for the client. This option should be used when the file field has been overloaded to carry options.
broadcast-address

Broadcast address of the client's subnet.


Usage:  ffx net dhcpd get option broadcast-address [--addr <addr>]

Options  
--help display usage information
--addr the broadcast address of the client's subnet. Legal values are defined in RFC 1122.

RFC 865 Cookie servers available to the client.


Usage:  ffx net dhcpd get option cookie-server [--cookie-servers <cookie-servers...>]

Options  
--help display usage information
--cookie-servers a list of RFC 865 Cookie servers available to the client, in order of preference.
default-finger-server

Default Finger servers available to the client.


Usage:  ffx net dhcpd get option default-finger-server [--finger-servers <finger-servers...>]

Options  
--help display usage information
--finger-servers a list of default Finger server addresses available to the client, listed in order of preference.
default-ip-ttl

Default time-to-live to use on outgoing IP datagrams.


Usage:  ffx net dhcpd get option default-ip-ttl [--ttl <ttl>]

Options  
--help display usage information
--ttl the default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255.
default-irc-server

Default IRC servers available to the client.


Usage:  ffx net dhcpd get option default-irc-server [--irc-servers <irc-servers...>]

Options  
--help display usage information
--irc-servers a list of Internet Relay Chat server addresses available to the client, listed in order of preference.
default-www-server

Default WWW servers available to the client.


Usage:  ffx net dhcpd get option default-www-server [--www-servers <www-servers...>]

Options  
--help display usage information
--www-servers a list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference.
domain-name

Domain name of the client.


Usage:  ffx net dhcpd get option domain-name [--name <name>]

Options  
--help display usage information
--name the client's domain name for use in resolving hostnames in the DNS.
domain-name-server

Domain Name System servers available to the client.


Usage:  ffx net dhcpd get option domain-name-server [--domain-name-servers <domain-name-servers...>]

Options  
--help display usage information
--domain-name-servers a list of DNS servers available to the client, in order of preference;
ethernet-encapsulation

Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.


Usage:  ffx net dhcpd get option ethernet-encapsulation [--encapsulate]

Options  
--help display usage information
--encapsulate a flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true.
extensions-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage:  ffx net dhcpd get option extensions-path [--path <path>]

Options  
--help display usage information
--path the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
host-name

Name of the client.


Usage:  ffx net dhcpd get option host-name [--name <name>]

Options  
--help display usage information
--name the name of client, which may or may not be qualified with the local domain name.
impress-server

Imagen Impress servers available to the client.


Usage:  ffx net dhcpd get option impress-server [--impress-servers <impress-servers...>]

Options  
--help display usage information
--impress-servers a list of Imagen Impress servers available to the client, in order of preference.
interface-mtu

MTU for the client's interface.


Usage:  ffx net dhcpd get option interface-mtu [--mtu <mtu>]

Options  
--help display usage information
--mtu the MTU for the client's interface. Minimum value of 68.
ip-forwarding

Flag enabling/disabling IP layer packet forwarding.


Usage:  ffx net dhcpd get option ip-forwarding [--enabled]

Options  
--help display usage information
--enabled a flag which will enabled IP layer packet forwarding when true.
log-server

MIT-LCS UDP Log servers available to the client.


Usage:  ffx net dhcpd get option log-server [--log-servers <log-servers...>]

Options  
--help display usage information
--log-servers a list of MIT-LCS UDP Log servers available to the client, in order of preference.
lpr-server

RFC 1179 Line Printer servers available to the client.


Usage:  ffx net dhcpd get option lpr-server [--lpr-servers <lpr-servers...>]

Options  
--help display usage information
--lpr-servers a list of RFC 1179 Line Printer servers available to the client, in order of preference.
mask-supplier

Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.


Usage:  ffx net dhcpd get option mask-supplier [--supplier]

Options  
--help display usage information
--supplier a flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size

Maximum sized datagram that the client should be able to reassemble.


Usage:  ffx net dhcpd get option max-datagram-reassembly-size [--size <size>]

Options  
--help display usage information
--size the maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576.
max-message-size

Maximum length of a DHCP message that the participant is willing to accept.


Usage:  ffx net dhcpd get option max-message-size [--length <length>]

Options  
--help display usage information
--length the maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576.
merit-dump-file

Path name of a core dump file.


Usage:  ffx net dhcpd get option merit-dump-file [--path <path>]

Options  
--help display usage information
--path the path name to the client's core dump in the event the client crashes.
mobile-ip-home-agent

Mobile IP home agents available to the client.


Usage:  ffx net dhcpd get option mobile-ip-home-agent [--home-agents <home-agents...>]

Options  
--help display usage information
--home-agents a list of mobile IP home agent addresses available to the client, listed in order of preference.
name-server

IEN 116 Name servers available to the client.


Usage:  ffx net dhcpd get option name-server [--name-servers <name-servers...>]

Options  
--help display usage information
--name-servers a list of IEN 116 Name servers available to the client, in order of preference.
net-bios-over-tcpip-distribution-server

NetBIOS datagram distribution servers available to the client.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-distribution-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of NetBIOS datagram distribution servers available to the client, listed in order of preference.
net-bios-over-tcpip-name-server

NetBIOS name servers available to the client.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-name-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of NetBIOS name server addresses available to the client, listed in order of preference.
net-bios-over-tcpip-node-type

The NetBIOS node type which should be used by the client.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-node-type [subcommand...]

Options  
--help display usage information
Subcommands  
b-node A B node type.
h-node A H node type.
m-node A M node type.
p-node A P node type.
# b-node

A B node type.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-node-type b-node

Options  
--help display usage information
# h-node

A H node type.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-node-type h-node

Options  
--help display usage information
# m-node

A M node type.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-node-type m-node

Options  
--help display usage information
# p-node

A P node type.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-node-type p-node

Options  
--help display usage information
net-bios-over-tcpip-scope

NetBIOS scope parameter for the client.


Usage:  ffx net dhcpd get option net-bios-over-tcpip-scope [--scope <scope>]

Options  
--help display usage information
--scope the NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client.
network-information-servers

Network Information Service servers available to the client.


Usage:  ffx net dhcpd get option network-information-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Information Service server addresses available to the client, listed in order of preference.
network-information-service-domain

Name of the client's Network Information Service domain.


Usage:  ffx net dhcpd get option network-information-service-domain [--domain-name <domain-name>]

Options  
--help display usage information
--domain-name the name of the client's Network Information Service domain.
network-information-service-plus-domain

Network Information System+ domain name.


Usage:  ffx net dhcpd get option network-information-service-plus-domain [--domain-name <domain-name>]

Options  
--help display usage information
--domain-name the name of the client's Network Information System+ domain.
network-information-service-plus-servers

Network Information System+ servers available to the client.


Usage:  ffx net dhcpd get option network-information-service-plus-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Information System+ server addresses available to the client, listed in order of preference.
network-time-protocol-servers

Network Time Protocol servers available to the client.


Usage:  ffx net dhcpd get option network-time-protocol-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference.
nntp-server

NNTP servers available to the client.


Usage:  ffx net dhcpd get option nntp-server [--nntp-servers <nntp-servers...>]

Options  
--help display usage information
--nntp-servers a list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference.
non-local-source-routing

Flag enabling/disabling forwarding of IP packets with non-local source routes.


Usage:  ffx net dhcpd get option non-local-source-routing [--enabled]

Options  
--help display usage information
--enabled a flag which will enable forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout

Timeout to use when aging Path MTU values.


Usage:  ffx net dhcpd get option path-mtu-aging-timeout [--timeout <timeout>]

Options  
--help display usage information
--timeout the timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191.
path-mtu-plateau-table

Table of MTU sizes for Path MTU Discovery.


Usage:  ffx net dhcpd get option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]

Options  
--help display usage information
--mtu-sizes A list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68.
perform-mask-discovery

Flag indicating whether the client should perform subnet mask discovery via ICMP.


Usage:  ffx net dhcpd get option perform-mask-discovery [--do-discovery]

Options  
--help display usage information
--do-discovery a flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery

Flag indicating whether the client should solicit routers using Router Discovery.


Usage:  ffx net dhcpd get option perform-router-discovery [--do-discovery]

Options  
--help display usage information
--do-discovery A flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256.
policy-filter

Policy filters for non-local source routing.


Usage:  ffx net dhcpd get option policy-filter [--addresses <addresses...>]

Options  
--help display usage information
--addresses a list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped.
pop3-server

POP3 servers available to the client.


Usage:  ffx net dhcpd get option pop3-server [--pop3-servers <pop3-servers...>]

Options  
--help display usage information
--pop3-servers a list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference.
rebinding-time-value

Time interval from address assignment at which the client transitions to a Rebinding state.


Usage:  ffx net dhcpd get option rebinding-time-value [--interval <interval>]

Options  
--help display usage information
--interval the time interval, in seconds, after address assignment at which the client will transition to the Rebinding state.
renewal-time-value

Time interval from address assignment at which the client transitions to a Renewing state.


Usage:  ffx net dhcpd get option renewal-time-value [--interval <interval>]

Options  
--help display usage information
--interval the time interval, in seconds, after address assignment at which the client will transition to the Renewing state.
resource-location-server

RFC 887 Resource Location servers available to the client.


Usage:  ffx net dhcpd get option resource-location-server [--resource-location-servers <resource-location-servers...>]

Options  
--help display usage information
--resource-location-servers a list of RFC 887 Resource Location servers available to the client, in order of preference.
root-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage:  ffx net dhcpd get option root-path [--path <path>]

Options  
--help display usage information
--path the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
router

The routers within a client's subnet.


Usage:  ffx net dhcpd get option router [--routers <routers...>]

Options  
--help display usage information
--routers a list of the routers in a client's subnet, listed in order of preference.
router-solicitation-address

Destination address for Router Solicitation requests.


Usage:  ffx net dhcpd get option router-solicitation-address [--addr <addr>]

Options  
--help display usage information
--addr the address to which the client should transmit Router Solicitation requests.
smtp-server

SMTP servers available to the client.


Usage:  ffx net dhcpd get option smtp-server [--smtp-servers <smtp-servers...>]

Options  
--help display usage information
--smtp-servers a list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference.
static-route

Static Routes which the client should put in its routing cache.


Usage:  ffx net dhcpd get option static-route [--routes <routes...>]

Options  
--help display usage information
--routes a list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route.
stda-server

StreetTalk Directory Assistance servers available to the client.


Usage:  ffx net dhcpd get option stda-server [--stda-servers <stda-servers...>]

Options  
--help display usage information
--stda-servers a list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference.
street-talk-server

StreetTalk servers available to the client.


Usage:  ffx net dhcpd get option street-talk-server [--streettalk-servers <streettalk-servers...>]

Options  
--help display usage information
--streettalk-servers a list of StreetTalk server addresses available to the client, listed in order of preference.
subnet-mask

The client's subnet mask.


Usage:  ffx net dhcpd get option subnet-mask [--mask <mask>]

Options  
--help display usage information
--mask a 32-bit IPv4 subnet mask.
swap-server

Address of the client's swap server.


Usage:  ffx net dhcpd get option swap-server [--address <address>]

Options  
--help display usage information
--address the address of the client's swap server.
tcp-default-ttl

Default time-to-live for outgoing TCP segments.


Usage:  ffx net dhcpd get option tcp-default-ttl [--ttl <ttl>]

Options  
--help display usage information
--ttl the default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1.
tcp-keepalive-garbage

Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.


Usage:  ffx net dhcpd get option tcp-keepalive-garbage [--send-garbage]

Options  
--help display usage information
--send-garbage a flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations.
tcp-keepalive-interval

Interval the client should wait before sending a TCP keepalive message.


Usage:  ffx net dhcpd get option tcp-keepalive-interval [--interval <interval>]

Options  
--help display usage information
--interval the interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application.
tftp-server-name

TFTP server available to the client.


Usage:  ffx net dhcpd get option tftp-server-name [--name <name>]

Options  
--help display usage information
--name the TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options.
time-offset

The client's offset from UTC.


Usage:  ffx net dhcpd get option time-offset [--offset <offset>]

Options  
--help display usage information
--offset the client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian.
time-server

Time Protocol servers available to the client.


Usage:  ffx net dhcpd get option time-server [--time-servers <time-servers...>]

Options  
--help display usage information
--time-servers a list of time servers available to the client, in order of preference.
trailer-encapsulation

Flag specifying whether the client should negotiate the use of trailers in ARP.


Usage:  ffx net dhcpd get option trailer-encapsulation [--trailers]

Options  
--help display usage information
--trailers a flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893.
vendor-specific-information

Option for exchanging vendor-specific information between the DHCP client and DHCP server.


Usage:  ffx net dhcpd get option vendor-specific-information [--data <data...>]

Options  
--help display usage information
--data an opaque object of octets for exchanging vendor-specific information.
x-window-system-display-manager

X window System Display Manager systems available to the client.


Usage:  ffx net dhcpd get option x-window-system-display-manager [--display-servers <display-servers...>]

Options  
--help display usage information
--display-servers a list of X Window System Display Manager system addresses available to the client, listed in order of preference.
x-window-system-font-server

X Window System Font servers available to the client.


Usage:  ffx net dhcpd get option x-window-system-font-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of X Window System Font server addresses available to the client, listed in order of preference.
parameter

A secondary command indicating a server parameter argument.


Usage:  ffx net dhcpd get parameter [subcommand...]

Options  
--help display usage information
Subcommands  
address-pool The pool of addresses which the DHCP server manages.
arp-probe Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.
bound-device-names The names of the network devices on which the server will listen.
ip-addrs The IPv4 addresses to which the server is bound.
lease-length The duration of leases offered by the server.
permitted-macs The client MAC addresses which the server will issue leases to.
statically-assigned-addrs Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
address-pool

The pool of addresses which the DHCP server manages.


Usage:  ffx net dhcpd get parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]

Options  
--help display usage information
--prefix-length the prefix length of the network's subnet mask
--range-start the starting address, inclusive, of the range of addresses which the DHCP server will lease to clients
--range-stop the ending address, inclusive, of the range of addresses which the server will to clients
arp-probe

Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.


Usage:  ffx net dhcpd get parameter arp-probe [--enabled]

Options  
--help display usage information
--enabled enables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled.
bound-device-names

The names of the network devices on which the server will listen.


Usage:  ffx net dhcpd get parameter bound-device-names [names...]

Options  
--help display usage information
ip-addrs

The IPv4 addresses to which the server is bound.


Usage:  ffx net dhcpd get parameter ip-addrs [--addrs <addrs...>]

Options  
--help display usage information
--addrs A list of IPv4 Addresses to which the server is bound.
lease-length

The duration of leases offered by the server.


Usage:  ffx net dhcpd get parameter lease-length [--default <default>] [--max <max>]

Options  
--help display usage information
--default the default lease length, in seconds, to be issued to clients.
--max the maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length.
permitted-macs

The client MAC addresses which the server will issue leases to.


Usage:  ffx net dhcpd get parameter permitted-macs [--macs <macs...>]

Options  
--help display usage information
--macs the client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list.
statically-assigned-addrs

Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).


Usage:  ffx net dhcpd get parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]

Options  
--help display usage information
--hosts hosts which will be leased the addresses reserved by assigned_addrs.
--assigned-addrs addresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers.

list

A primary command to list the values of all DHCP options or server parameters.


Usage:  ffx net dhcpd list [subcommand...]

Options  
--help display usage information
Subcommands  
option Perform the command on DHCP options.
parameter Perform the command on server parameters.
option

Perform the command on DHCP options.


Usage:  ffx net dhcpd list option

Options  
--help display usage information
parameter

Perform the command on server parameters.


Usage:  ffx net dhcpd list parameter

Options  
--help display usage information

reset

A primary command to reset the values of all DHCP options or server parameters.


Usage:  ffx net dhcpd reset [subcommand...]

Options  
--help display usage information
Subcommands  
option Perform the command on DHCP options.
parameter Perform the command on server parameters.
option

Perform the command on DHCP options.


Usage:  ffx net dhcpd reset option

Options  
--help display usage information
parameter

Perform the command on server parameters.


Usage:  ffx net dhcpd reset parameter

Options  
--help display usage information

set

A primary command to set the value of a DHCP option or server parameter.


Usage:  ffx net dhcpd set [subcommand...]

Options  
--help display usage information
Subcommands  
option A secondary command indicating a DHCP option argument.
parameter A secondary command indicating a server parameter argument.
option

A secondary command indicating a DHCP option argument.


Usage:  ffx net dhcpd set option [subcommand...]

Options  
--help display usage information
Subcommands  
all-subnets-local Flag indicating if all subnets of the connected network have the same MTU.
arp-cache-timeout Timeout for ARP cache entries.
boot-file-size Size of the default boot image for the client.
bootfile-name Bootfile name for the client.
broadcast-address Broadcast address of the client's subnet.
cookie-server RFC 865 Cookie servers available to the client.
default-finger-server Default Finger servers available to the client.
default-ip-ttl Default time-to-live to use on outgoing IP datagrams.
default-irc-server Default IRC servers available to the client.
default-www-server Default WWW servers available to the client.
domain-name Domain name of the client.
domain-name-server Domain Name System servers available to the client.
ethernet-encapsulation Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
extensions-path Path name to a TFTP-retrievable file containing vendor-extension information.
host-name Name of the client.
impress-server Imagen Impress servers available to the client.
interface-mtu MTU for the client's interface.
ip-forwarding Flag enabling/disabling IP layer packet forwarding.
log-server MIT-LCS UDP Log servers available to the client.
lpr-server RFC 1179 Line Printer servers available to the client.
mask-supplier Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size Maximum sized datagram that the client should be able to reassemble.
max-message-size Maximum length of a DHCP message that the participant is willing to accept.
merit-dump-file Path name of a core dump file.
mobile-ip-home-agent Mobile IP home agents available to the client.
name-server IEN 116 Name servers available to the client.
net-bios-over-tcpip-distribution-server NetBIOS datagram distribution servers available to the client.
net-bios-over-tcpip-name-server NetBIOS name servers available to the client.
net-bios-over-tcpip-node-type The NetBIOS node type which should be used by the client.
net-bios-over-tcpip-scope NetBIOS scope parameter for the client.
network-information-servers Network Information Service servers available to the client.
network-information-service-domain Name of the client's Network Information Service domain.
network-information-service-plus-domain Network Information System+ domain name.
network-information-service-plus-servers Network Information System+ servers available to the client.
network-time-protocol-servers Network Time Protocol servers available to the client.
nntp-server NNTP servers available to the client.
non-local-source-routing Flag enabling/disabling forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout Timeout to use when aging Path MTU values.
path-mtu-plateau-table Table of MTU sizes for Path MTU Discovery.
perform-mask-discovery Flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery Flag indicating whether the client should solicit routers using Router Discovery.
policy-filter Policy filters for non-local source routing.
pop3-server POP3 servers available to the client.
rebinding-time-value Time interval from address assignment at which the client transitions to a Rebinding state.
renewal-time-value Time interval from address assignment at which the client transitions to a Renewing state.
resource-location-server RFC 887 Resource Location servers available to the client.
root-path Path name to a TFTP-retrievable file containing vendor-extension information.
router The routers within a client's subnet.
router-solicitation-address Destination address for Router Solicitation requests.
smtp-server SMTP servers available to the client.
static-route Static Routes which the client should put in its routing cache.
stda-server StreetTalk Directory Assistance servers available to the client.
street-talk-server StreetTalk servers available to the client.
subnet-mask The client's subnet mask.
swap-server Address of the client's swap server.
tcp-default-ttl Default time-to-live for outgoing TCP segments.
tcp-keepalive-garbage Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.
tcp-keepalive-interval Interval the client should wait before sending a TCP keepalive message.
tftp-server-name TFTP server available to the client.
time-offset The client's offset from UTC.
time-server Time Protocol servers available to the client.
trailer-encapsulation Flag specifying whether the client should negotiate the use of trailers in ARP.
vendor-specific-information Option for exchanging vendor-specific information between the DHCP client and DHCP server.
x-window-system-display-manager X window System Display Manager systems available to the client.
x-window-system-font-server X Window System Font servers available to the client.
all-subnets-local

Flag indicating if all subnets of the connected network have the same MTU.


Usage:  ffx net dhcpd set option all-subnets-local [--local]

Options  
--help display usage information
--local a flag indicating if all subents of the IP network to which the client is connected have the same MTU.
arp-cache-timeout

Timeout for ARP cache entries.


Usage:  ffx net dhcpd set option arp-cache-timeout [--timeout <timeout>]

Options  
--help display usage information
--timeout the timeout for ARP cache entries, in seconds.
boot-file-size

Size of the default boot image for the client.


Usage:  ffx net dhcpd set option boot-file-size [--size <size>]

Options  
--help display usage information
--size the size of the client's default boot image in 512-octet blocks.
bootfile-name

Bootfile name for the client.


Usage:  ffx net dhcpd set option bootfile-name [--name <name>]

Options  
--help display usage information
--name the bootfile name for the client. This option should be used when the file field has been overloaded to carry options.
broadcast-address

Broadcast address of the client's subnet.


Usage:  ffx net dhcpd set option broadcast-address [--addr <addr>]

Options  
--help display usage information
--addr the broadcast address of the client's subnet. Legal values are defined in RFC 1122.

RFC 865 Cookie servers available to the client.


Usage:  ffx net dhcpd set option cookie-server [--cookie-servers <cookie-servers...>]

Options  
--help display usage information
--cookie-servers a list of RFC 865 Cookie servers available to the client, in order of preference.
default-finger-server

Default Finger servers available to the client.


Usage:  ffx net dhcpd set option default-finger-server [--finger-servers <finger-servers...>]

Options  
--help display usage information
--finger-servers a list of default Finger server addresses available to the client, listed in order of preference.
default-ip-ttl

Default time-to-live to use on outgoing IP datagrams.


Usage:  ffx net dhcpd set option default-ip-ttl [--ttl <ttl>]

Options  
--help display usage information
--ttl the default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255.
default-irc-server

Default IRC servers available to the client.


Usage:  ffx net dhcpd set option default-irc-server [--irc-servers <irc-servers...>]

Options  
--help display usage information
--irc-servers a list of Internet Relay Chat server addresses available to the client, listed in order of preference.
default-www-server

Default WWW servers available to the client.


Usage:  ffx net dhcpd set option default-www-server [--www-servers <www-servers...>]

Options  
--help display usage information
--www-servers a list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference.
domain-name

Domain name of the client.


Usage:  ffx net dhcpd set option domain-name [--name <name>]

Options  
--help display usage information
--name the client's domain name for use in resolving hostnames in the DNS.
domain-name-server

Domain Name System servers available to the client.


Usage:  ffx net dhcpd set option domain-name-server [--domain-name-servers <domain-name-servers...>]

Options  
--help display usage information
--domain-name-servers a list of DNS servers available to the client, in order of preference;
ethernet-encapsulation

Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.


Usage:  ffx net dhcpd set option ethernet-encapsulation [--encapsulate]

Options  
--help display usage information
--encapsulate a flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true.
extensions-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage:  ffx net dhcpd set option extensions-path [--path <path>]

Options  
--help display usage information
--path the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
host-name

Name of the client.


Usage:  ffx net dhcpd set option host-name [--name <name>]

Options  
--help display usage information
--name the name of client, which may or may not be qualified with the local domain name.
impress-server

Imagen Impress servers available to the client.


Usage:  ffx net dhcpd set option impress-server [--impress-servers <impress-servers...>]

Options  
--help display usage information
--impress-servers a list of Imagen Impress servers available to the client, in order of preference.
interface-mtu

MTU for the client's interface.


Usage:  ffx net dhcpd set option interface-mtu [--mtu <mtu>]

Options  
--help display usage information
--mtu the MTU for the client's interface. Minimum value of 68.
ip-forwarding

Flag enabling/disabling IP layer packet forwarding.


Usage:  ffx net dhcpd set option ip-forwarding [--enabled]

Options  
--help display usage information
--enabled a flag which will enabled IP layer packet forwarding when true.
log-server

MIT-LCS UDP Log servers available to the client.


Usage:  ffx net dhcpd set option log-server [--log-servers <log-servers...>]

Options  
--help display usage information
--log-servers a list of MIT-LCS UDP Log servers available to the client, in order of preference.
lpr-server

RFC 1179 Line Printer servers available to the client.


Usage:  ffx net dhcpd set option lpr-server [--lpr-servers <lpr-servers...>]

Options  
--help display usage information
--lpr-servers a list of RFC 1179 Line Printer servers available to the client, in order of preference.
mask-supplier

Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.


Usage:  ffx net dhcpd set option mask-supplier [--supplier]

Options  
--help display usage information
--supplier a flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size

Maximum sized datagram that the client should be able to reassemble.


Usage:  ffx net dhcpd set option max-datagram-reassembly-size [--size <size>]

Options  
--help display usage information
--size the maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576.
max-message-size

Maximum length of a DHCP message that the participant is willing to accept.


Usage:  ffx net dhcpd set option max-message-size [--length <length>]

Options  
--help display usage information
--length the maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576.
merit-dump-file

Path name of a core dump file.


Usage:  ffx net dhcpd set option merit-dump-file [--path <path>]

Options  
--help display usage information
--path the path name to the client's core dump in the event the client crashes.
mobile-ip-home-agent

Mobile IP home agents available to the client.


Usage:  ffx net dhcpd set option mobile-ip-home-agent [--home-agents <home-agents...>]

Options  
--help display usage information
--home-agents a list of mobile IP home agent addresses available to the client, listed in order of preference.
name-server

IEN 116 Name servers available to the client.


Usage:  ffx net dhcpd set option name-server [--name-servers <name-servers...>]

Options  
--help display usage information
--name-servers a list of IEN 116 Name servers available to the client, in order of preference.
net-bios-over-tcpip-distribution-server

NetBIOS datagram distribution servers available to the client.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-distribution-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of NetBIOS datagram distribution servers available to the client, listed in order of preference.
net-bios-over-tcpip-name-server

NetBIOS name servers available to the client.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-name-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of NetBIOS name server addresses available to the client, listed in order of preference.
net-bios-over-tcpip-node-type

The NetBIOS node type which should be used by the client.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-node-type [subcommand...]

Options  
--help display usage information
Subcommands  
b-node A B node type.
h-node A H node type.
m-node A M node type.
p-node A P node type.
# b-node

A B node type.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-node-type b-node

Options  
--help display usage information
# h-node

A H node type.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-node-type h-node

Options  
--help display usage information
# m-node

A M node type.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-node-type m-node

Options  
--help display usage information
# p-node

A P node type.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-node-type p-node

Options  
--help display usage information
net-bios-over-tcpip-scope

NetBIOS scope parameter for the client.


Usage:  ffx net dhcpd set option net-bios-over-tcpip-scope [--scope <scope>]

Options  
--help display usage information
--scope the NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client.
network-information-servers

Network Information Service servers available to the client.


Usage:  ffx net dhcpd set option network-information-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Information Service server addresses available to the client, listed in order of preference.
network-information-service-domain

Name of the client's Network Information Service domain.


Usage:  ffx net dhcpd set option network-information-service-domain [--domain-name <domain-name>]

Options  
--help display usage information
--domain-name the name of the client's Network Information Service domain.
network-information-service-plus-domain

Network Information System+ domain name.


Usage:  ffx net dhcpd set option network-information-service-plus-domain [--domain-name <domain-name>]

Options  
--help display usage information
--domain-name the name of the client's Network Information System+ domain.
network-information-service-plus-servers

Network Information System+ servers available to the client.


Usage:  ffx net dhcpd set option network-information-service-plus-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Information System+ server addresses available to the client, listed in order of preference.
network-time-protocol-servers

Network Time Protocol servers available to the client.


Usage:  ffx net dhcpd set option network-time-protocol-servers [--servers <servers...>]

Options  
--help display usage information
--servers a list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference.
nntp-server

NNTP servers available to the client.


Usage:  ffx net dhcpd set option nntp-server [--nntp-servers <nntp-servers...>]

Options  
--help display usage information
--nntp-servers a list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference.
non-local-source-routing

Flag enabling/disabling forwarding of IP packets with non-local source routes.


Usage:  ffx net dhcpd set option non-local-source-routing [--enabled]

Options  
--help display usage information
--enabled a flag which will enable forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout

Timeout to use when aging Path MTU values.


Usage:  ffx net dhcpd set option path-mtu-aging-timeout [--timeout <timeout>]

Options  
--help display usage information
--timeout the timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191.
path-mtu-plateau-table

Table of MTU sizes for Path MTU Discovery.


Usage:  ffx net dhcpd set option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]

Options  
--help display usage information
--mtu-sizes A list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68.
perform-mask-discovery

Flag indicating whether the client should perform subnet mask discovery via ICMP.


Usage:  ffx net dhcpd set option perform-mask-discovery [--do-discovery]

Options  
--help display usage information
--do-discovery a flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery

Flag indicating whether the client should solicit routers using Router Discovery.


Usage:  ffx net dhcpd set option perform-router-discovery [--do-discovery]

Options  
--help display usage information
--do-discovery A flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256.
policy-filter

Policy filters for non-local source routing.


Usage:  ffx net dhcpd set option policy-filter [--addresses <addresses...>]

Options  
--help display usage information
--addresses a list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped.
pop3-server

POP3 servers available to the client.


Usage:  ffx net dhcpd set option pop3-server [--pop3-servers <pop3-servers...>]

Options  
--help display usage information
--pop3-servers a list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference.
rebinding-time-value

Time interval from address assignment at which the client transitions to a Rebinding state.


Usage:  ffx net dhcpd set option rebinding-time-value [--interval <interval>]

Options  
--help display usage information
--interval the time interval, in seconds, after address assignment at which the client will transition to the Rebinding state.
renewal-time-value

Time interval from address assignment at which the client transitions to a Renewing state.


Usage:  ffx net dhcpd set option renewal-time-value [--interval <interval>]

Options  
--help display usage information
--interval the time interval, in seconds, after address assignment at which the client will transition to the Renewing state.
resource-location-server

RFC 887 Resource Location servers available to the client.


Usage:  ffx net dhcpd set option resource-location-server [--resource-location-servers <resource-location-servers...>]

Options  
--help display usage information
--resource-location-servers a list of RFC 887 Resource Location servers available to the client, in order of preference.
root-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage:  ffx net dhcpd set option root-path [--path <path>]

Options  
--help display usage information
--path the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
router

The routers within a client's subnet.


Usage:  ffx net dhcpd set option router [--routers <routers...>]

Options  
--help display usage information
--routers a list of the routers in a client's subnet, listed in order of preference.
router-solicitation-address

Destination address for Router Solicitation requests.


Usage:  ffx net dhcpd set option router-solicitation-address [--addr <addr>]

Options  
--help display usage information
--addr the address to which the client should transmit Router Solicitation requests.
smtp-server

SMTP servers available to the client.


Usage:  ffx net dhcpd set option smtp-server [--smtp-servers <smtp-servers...>]

Options  
--help display usage information
--smtp-servers a list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference.
static-route

Static Routes which the client should put in its routing cache.


Usage:  ffx net dhcpd set option static-route [--routes <routes...>]

Options  
--help display usage information
--routes a list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route.
stda-server

StreetTalk Directory Assistance servers available to the client.


Usage:  ffx net dhcpd set option stda-server [--stda-servers <stda-servers...>]

Options  
--help display usage information
--stda-servers a list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference.
street-talk-server

StreetTalk servers available to the client.


Usage:  ffx net dhcpd set option street-talk-server [--streettalk-servers <streettalk-servers...>]

Options  
--help display usage information
--streettalk-servers a list of StreetTalk server addresses available to the client, listed in order of preference.
subnet-mask

The client's subnet mask.


Usage:  ffx net dhcpd set option subnet-mask [--mask <mask>]

Options  
--help display usage information
--mask a 32-bit IPv4 subnet mask.
swap-server

Address of the client's swap server.


Usage:  ffx net dhcpd set option swap-server [--address <address>]

Options  
--help display usage information
--address the address of the client's swap server.
tcp-default-ttl

Default time-to-live for outgoing TCP segments.


Usage:  ffx net dhcpd set option tcp-default-ttl [--ttl <ttl>]

Options  
--help display usage information
--ttl the default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1.
tcp-keepalive-garbage

Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.


Usage:  ffx net dhcpd set option tcp-keepalive-garbage [--send-garbage]

Options  
--help display usage information
--send-garbage a flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations.
tcp-keepalive-interval

Interval the client should wait before sending a TCP keepalive message.


Usage:  ffx net dhcpd set option tcp-keepalive-interval [--interval <interval>]

Options  
--help display usage information
--interval the interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application.
tftp-server-name

TFTP server available to the client.


Usage:  ffx net dhcpd set option tftp-server-name [--name <name>]

Options  
--help display usage information
--name the TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options.
time-offset

The client's offset from UTC.


Usage:  ffx net dhcpd set option time-offset [--offset <offset>]

Options  
--help display usage information
--offset the client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian.
time-server

Time Protocol servers available to the client.


Usage:  ffx net dhcpd set option time-server [--time-servers <time-servers...>]

Options  
--help display usage information
--time-servers a list of time servers available to the client, in order of preference.
trailer-encapsulation

Flag specifying whether the client should negotiate the use of trailers in ARP.


Usage:  ffx net dhcpd set option trailer-encapsulation [--trailers]

Options  
--help display usage information
--trailers a flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893.
vendor-specific-information

Option for exchanging vendor-specific information between the DHCP client and DHCP server.


Usage:  ffx net dhcpd set option vendor-specific-information [--data <data...>]

Options  
--help display usage information
--data an opaque object of octets for exchanging vendor-specific information.
x-window-system-display-manager

X window System Display Manager systems available to the client.


Usage:  ffx net dhcpd set option x-window-system-display-manager [--display-servers <display-servers...>]

Options  
--help display usage information
--display-servers a list of X Window System Display Manager system addresses available to the client, listed in order of preference.
x-window-system-font-server

X Window System Font servers available to the client.


Usage:  ffx net dhcpd set option x-window-system-font-server [--servers <servers...>]

Options  
--help display usage information
--servers a list of X Window System Font server addresses available to the client, listed in order of preference.
parameter

A secondary command indicating a server parameter argument.


Usage:  ffx net dhcpd set parameter [subcommand...]

Options  
--help display usage information
Subcommands  
address-pool The pool of addresses which the DHCP server manages.
arp-probe Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.
bound-device-names The names of the network devices on which the server will listen.
ip-addrs The IPv4 addresses to which the server is bound.
lease-length The duration of leases offered by the server.
permitted-macs The client MAC addresses which the server will issue leases to.
statically-assigned-addrs Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
address-pool

The pool of addresses which the DHCP server manages.


Usage:  ffx net dhcpd set parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]

Options  
--help display usage information
--prefix-length the prefix length of the network's subnet mask
--range-start the starting address, inclusive, of the range of addresses which the DHCP server will lease to clients
--range-stop the ending address, inclusive, of the range of addresses which the server will to clients
arp-probe

Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.


Usage:  ffx net dhcpd set parameter arp-probe [--enabled]

Options  
--help display usage information
--enabled enables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled.
bound-device-names

The names of the network devices on which the server will listen.


Usage:  ffx net dhcpd set parameter bound-device-names [names...]

Options  
--help display usage information
ip-addrs

The IPv4 addresses to which the server is bound.


Usage:  ffx net dhcpd set parameter ip-addrs [--addrs <addrs...>]

Options  
--help display usage information
--addrs A list of IPv4 Addresses to which the server is bound.
lease-length

The duration of leases offered by the server.


Usage:  ffx net dhcpd set parameter lease-length [--default <default>] [--max <max>]

Options  
--help display usage information
--default the default lease length, in seconds, to be issued to clients.
--max the maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length.
permitted-macs

The client MAC addresses which the server will issue leases to.


Usage:  ffx net dhcpd set parameter permitted-macs [--macs <macs...>]

Options  
--help display usage information
--macs the client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list.
statically-assigned-addrs

Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).


Usage:  ffx net dhcpd set parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]

Options  
--help display usage information
--hosts hosts which will be leased the addresses reserved by assigned_addrs.
--assigned-addrs addresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers.

start

A primary command to start the DHCP server.


Usage:  ffx net dhcpd start

Options  
--help display usage information

stop

A primary command to stop the DHCP server.


Usage:  ffx net dhcpd stop

Options  
--help display usage information

dns

commands to control the dns resolver


Usage:  ffx net dns [subcommand...]

Options  
--help display usage information
Subcommands  
lookup performs dns resolution on the specified hostname

lookup

performs dns resolution on the specified hostname


Usage:  ffx net dns lookup [--ipv4 <ipv4>] [--ipv6 <ipv6>] [--sort <sort>] hostname

Options  
--help display usage information
--ipv4 include ipv4 results (defaults to true)
--ipv6 include ipv6 results (defaults to true)
--sort sort addresses in order of preference (defaults to true)

filter

commands for configuring packet filtering


Usage:  ffx net filter [subcommand...]

Options  
--help display usage information
Subcommands  
list A command to list filtering configuration.

list

A command to list filtering configuration.


Usage:  ffx net filter list

Options  
--help display usage information

filter-deprecated

commands for configuring packet filtering with the deprecated API


Usage:  ffx net filter-deprecated [subcommand...]

Options  
--help display usage information
Subcommands  
get-nat-rules gets nat rules
get-rdr-rules gets rdr rules
get-rules gets filter rules
set-nat-rules sets nat rules (see the netfilter::parser library for the NAT rules format)
set-rdr-rules sets rdr rules (see the netfilter::parser library for the RDR rules format)
set-rules sets filter rules (see the netfilter::parser library for the rules format)

get-nat-rules

gets nat rules


Usage:  ffx net filter-deprecated get-nat-rules

Options  
--help display usage information

get-rdr-rules

gets rdr rules


Usage:  ffx net filter-deprecated get-rdr-rules

Options  
--help display usage information

get-rules

gets filter rules


Usage:  ffx net filter-deprecated get-rules

Options  
--help display usage information

set-nat-rules

sets nat rules (see the netfilter::parser library for the NAT rules format)


Usage:  ffx net filter-deprecated set-nat-rules rules

Options  
--help display usage information

set-rdr-rules

sets rdr rules (see the netfilter::parser library for the RDR rules format)


Usage:  ffx net filter-deprecated set-rdr-rules rules

Options  
--help display usage information

set-rules

sets filter rules (see the netfilter::parser library for the rules format)


Usage:  ffx net filter-deprecated set-rules rules

Options  
--help display usage information

if

commands for network interfaces


Usage:  ffx net if [subcommand...]

Options  
--help display usage information
Subcommands  
addr commands for updating network interface addresses
bridge creates a bridge between network interfaces
disable disables a network interface
enable enables a network interface
get queries a network interface
igmp get or set IGMP configuration
ip-forward get or set IP forwarding for an interface
list lists network interfaces (supports ffx machine output)
mld get or set MLD configuration

addr

commands for updating network interface addresses


Usage:  ffx net if addr [subcommand...]

Options  
--help display usage information
Subcommands  
add adds an address to the network interface
del deletes an address from the network interface
wait waits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address.
add

adds an address to the network interface


Usage:  ffx net if addr add [--no-subnet-route] nicid or name:ifname addr prefix

Options  
--help display usage information
--no-subnet-route skip adding a local subnet route for this interface and address
del

deletes an address from the network interface


Usage:  ffx net if addr del nicid or name:ifname addr [prefix]

Options  
--help display usage information
wait

waits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address.


Usage:  ffx net if addr wait [--ipv6] nicid or name:ifname

Options  
--help display usage information
--ipv6 wait for an IPv6 address

bridge

creates a bridge between network interfaces


Usage:  ffx net if bridge [nicid or name:ifname...]

Options  
--help display usage information

disable

disables a network interface


Usage:  ffx net if disable nicid or name:ifname

Options  
--help display usage information

enable

enables a network interface


Usage:  ffx net if enable nicid or name:ifname

Options  
--help display usage information

get

queries a network interface


Usage:  ffx net if get nicid or name:ifname

Options  
--help display usage information

igmp

get or set IGMP configuration


Usage:  ffx net if igmp [subcommand...]

Options  
--help display usage information
Subcommands  
get get IGMP configuration for an interface
set set IGMP configuration for an interface
get

get IGMP configuration for an interface


Usage:  ffx net if igmp get nicid or name:ifname

Options  
--help display usage information
set

set IGMP configuration for an interface


Usage:  ffx net if igmp set [--version <version>] nicid or name:ifname

Options  
--help display usage information
--version the version of IGMP to perform.

ip-forward

get or set IP forwarding for an interface


Usage:  ffx net if ip-forward [subcommand...]

Options  
--help display usage information
Subcommands  
get get IP forwarding for an interface
set set IP forwarding for an interface
get

get IP forwarding for an interface


Usage:  ffx net if ip-forward get nicid or name:ifname ip_version

Options  
--help display usage information
set

set IP forwarding for an interface


Usage:  ffx net if ip-forward set nicid or name:ifname ip_version enable

Options  
--help display usage information

list

lists network interfaces (supports ffx machine output)


Usage:  ffx net if list [name_pattern]

Options  
--help display usage information

mld

get or set MLD configuration


Usage:  ffx net if mld [subcommand...]

Options  
--help display usage information
Subcommands  
get get MLD configuration for an interface
set set MLD configuration for an interface
get

get MLD configuration for an interface


Usage:  ffx net if mld get nicid or name:ifname

Options  
--help display usage information
set

set MLD configuration for an interface


Usage:  ffx net if mld set [--version <version>] nicid or name:ifname

Options  
--help display usage information
--version the version of MLD to perform.

log

commands for logging


Usage:  ffx net log [subcommand...]

Options  
--help display usage information
Subcommands  
set-packets log packets to stdout

set-packets

log packets to stdout


Usage:  ffx net log set-packets enabled

Options  
--help display usage information

migration

controls netstack selection for migration from netstack2 to netstack3


Usage:  ffx net migration [subcommand...]

Options  
--help display usage information
Subcommands  
clear clears netstack version for migration configuration.
get prints the currently configured netstack version for migration.
set sets the netstack version at next boot to

clear

clears netstack version for migration configuration.


Usage:  ffx net migration clear

Options  
--help display usage information

get

prints the currently configured netstack version for migration.


Usage:  ffx net migration get

Options  
--help display usage information

set

sets the netstack version at next boot to |ns2| or |ns3|.


Usage:  ffx net migration set version

Options  
--help display usage information

neigh

commands for neighbor tables


Usage:  ffx net neigh [subcommand...]

Options  
--help display usage information
Subcommands  
add adds an entry to the neighbor table
clear removes all entries associated with a network interface from the neighbor table
config commands for the Neighbor Unreachability Detection configuration
del removes an entry from the neighbor table
list lists neighbor table entries (supports ffx machine output)
watch watches neighbor table entries for state changes (supports ffx machine output)

add

adds an entry to the neighbor table


Usage:  ffx net neigh add nicid or name:ifname ip mac

Options  
--help display usage information

clear

removes all entries associated with a network interface from the neighbor table


Usage:  ffx net neigh clear nicid or name:ifname ip_version

Options  
--help display usage information

config

commands for the Neighbor Unreachability Detection configuration


Usage:  ffx net neigh config [subcommand...]

Options  
--help display usage information
Subcommands  
get returns the current NUD configuration options for the provided interface
update updates the current NUD configuration options for the provided interface
get

returns the current NUD configuration options for the provided interface


Usage:  ffx net neigh config get nicid or name:ifname ip_version

Options  
--help display usage information
update

updates the current NUD configuration options for the provided interface


Usage:  ffx net neigh config update [--base-reachable-time <base-reachable-time>] nicid or name:ifname ip_version

Options  
--help display usage information
--base-reachable-time a base duration, in nanoseconds, for computing the random reachable time

del

removes an entry from the neighbor table


Usage:  ffx net neigh del nicid or name:ifname ip

Options  
--help display usage information

list

lists neighbor table entries (supports ffx machine output)


Usage:  ffx net neigh list

Options  
--help display usage information

watch

watches neighbor table entries for state changes (supports ffx machine output)


Usage:  ffx net neigh watch

Options  
--help display usage information

route

commands for routing tables


Usage:  ffx net route [subcommand...]

Options  
--help display usage information
Subcommands  
add adds a route to the route table
del deletes a route from the route table
list lists devices (supports ffx machine output)

add

adds a route to the route table


Usage:  ffx net route add --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]

Options  
--help display usage information
--destination the network id of the destination network
--netmask the netmask or prefix length corresponding to destination
--gateway the ip address of the first hop router
--nicid the outgoing network interface of the route
--metric the metric for the route

del

deletes a route from the route table


Usage:  ffx net route del --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]

Options  
--help display usage information
--destination the network id of the destination network
--netmask the netmask or prefix length corresponding to destination
--gateway the ip address of the first hop router
--nicid the outgoing network interface of the route
--metric the metric for the route

list

lists devices (supports ffx machine output)


Usage:  ffx net route list

Options  
--help display usage information

package

Create and publish Fuchsia packages


Usage:  ffx package [subcommand...]

Options  
--help display usage information
Subcommands  
archive Archive Fuchsia packages
build Builds a package.
far Work with Fuchsia Archive Format (FAR) files
file-hash Compute the merkle tree root hash of one or more files.

archive

Archive Fuchsia packages


Usage:  ffx package archive [subcommand...]

Options  
--help display usage information
Subcommands  
add add a file () to an existing package archive (), overwriting the archive
cat write the contents of inside the Fuchsia package archive file to stdout
create create a package archive from a package_manifest.json
extract extract the contents of inside the Fuchsia package archive file to the output directory
list List the contents of Fuchia package archive file
remove remove a file () from an existing package archive (), placing the resulting archive in

add

add a file () to an existing package archive (), overwriting the archive


Usage:  ffx package archive add -a <archive> -f <file-to-add> -p <path-of-file-in-archive> -o <output> [-w <overwrite>]

Options  
--help display usage information
-a, --archive package archive
-f, --file-to-add file to add to the package archive
-p, --path-of-file-in-archive the destination path in the archive for
-o, --output the name of the resulting archive. Can be the same as to overwrite
-w, --overwrite if false, refuses to overwrite files in named by

cat

write the contents of inside the Fuchsia package archive file to stdout


Usage:  ffx package archive cat archive far_path

Options  
--help display usage information

create

create a package archive from a package_manifest.json


Usage:  ffx package archive create -o <out> [-r <root-dir>] [--depfile <depfile>] package_manifest

Options  
--help display usage information
-o, --out output package archive
-r, --root-dir root directory for paths in package_manifest.json
--depfile produce a depfile file at the provided path

extract

extract the contents of inside the Fuchsia package archive file to the output directory


Usage:  ffx package archive extract [-o <out>] [--repository <repository>] [--blobs-json] archive

Options  
--help display usage information
-o, --out output directory for writing the extracted files. Defaults to the current directory.
--repository repository of the package
--blobs-json produce a blobs.json file

list

List the contents of Fuchia package archive file


Usage:  ffx package archive list [-l] archive

Options  
--help display usage information
-l, --long-format show long information for each entry

remove

remove a file () from an existing package archive (), placing the resulting archive in


Usage:  ffx package archive remove -a <archive> -f <file-to-remove> -o <output>

Options  
--help display usage information
-a, --archive package archive
-f, --file-to-remove file to add to the package archive
-o, --output file to add to the package archive

build

Builds a package.


Usage:  ffx package build [-o <out>] [--api-level <api-level>] [--published-name <published-name>] [--repository <repository>] [--depfile] [--blobs-json] [--blobs-manifest] [--subpackages-build-manifest-path <subpackages-build-manifest-path>] package_build_manifest_path

Options  
--help display usage information
-o, --out directory to save package artifacts
--api-level package API level
--published-name name of the package
--repository repository of the package
--depfile produce a depfile file
--blobs-json produce a blobs.json file
--blobs-manifest produce a blobs.manifest file
--subpackages-build-manifest-path path to the subpackages build manifest file

far

Work with Fuchsia Archive Format (FAR) files


Usage:  ffx package far [subcommand...]

Options  
--help display usage information
Subcommands  
cat Dump the contents of the entry associated with to stdout
create Create a FAR file from a directory. WARNING: this will overwrite if it exists.
extract Extract from to . WARNING: this may overwrite existing files.
list List the entries contained in a FAR file

cat

Dump the contents of the entry associated with to stdout


Usage:  ffx package far cat far_file path

Options  
--help display usage information

create

Create a FAR file from a directory. WARNING: this will overwrite if it exists.


Usage:  ffx package far create input_directory output_file

Options  
--help display usage information

extract

Extract from to . WARNING: this may overwrite existing files.


Usage:  ffx package far extract [-v] [-o <output-dir>] far_file [paths...]

Options  
--help display usage information
-v, --verbose verbose output: print file names that were extracted
-o, --output-dir output directory (defaults to current directory, creates the directory if it doesn't exist)

list

List the entries contained in a FAR file


Usage:  ffx package far list [-l] far_file

Options  
--help display usage information
-l, --long-format show detailed information for each entry (does nothing if --machine json is specified, which shows everything)

file-hash

Compute the merkle tree root hash of one or more files.


Usage:  ffx package file-hash [paths...]

Options  
--help display usage information

platform

Manage platform build prerequisites


Usage:  ffx platform [subcommand...]

Options  
--help display usage information
Subcommands  
preflight Evaluate suitability for building and running Fuchsia

preflight

Evaluate suitability for building and running Fuchsia


Usage:  ffx platform preflight [--json]

Options  
--help display usage information
--json outputs json instead of human-readable text.

process

Processes related commands


Usage:  ffx process [subcommand...]

Options  
--help display usage information
Subcommands  
filter outputs information about the processes that correspond to the koids input
generate-fuchsia-map outputs the json required to generate a map of all processes and channels
kill Attempts to kill a process by it's KOID or process name.
list outputs a list containing the name and koid of all processes
stack_trace Attempts to get a strack trace a process by it's KOID or process name.

filter

outputs information about the processes that correspond to the koids input


Usage:  ffx process filter [process_koids...]

Options  
--help display usage information

generate-fuchsia-map

outputs the json required to generate a map of all processes and channels


Usage:  ffx process generate-fuchsia-map

Options  
--help display usage information

kill

Attempts to kill a process by it's KOID or process name.


Usage:  ffx process kill task_to_kill

Options  
--help display usage information

list

outputs a list containing the name and koid of all processes


Usage:  ffx process list [--verbose]

Options  
--help display usage information
--verbose outputs all processes and the kernel objects owned by each of them

stack_trace

Attempts to get a strack trace a process by it's KOID or process name.


Usage:  ffx process stack_trace task

Options  
--help display usage information

product

Discover and access product bundle metadata and image data.


Usage:  ffx product [subcommand...]

Options  
--help display usage information
Subcommands  
create Create a Product Bundle using the outputs of Product Assembly.
download Retrieve image data.
get-artifacts Get the paths of a group of artifacts inside a Product Bundle.
get-image-path Get the path of an image inside a Product Bundle based on type and slot.
get-repository Get the info of repository inside a Product Bundle.
get-version Get the product version of a Product Bundle.
list Retrieve PB data.
lookup Retrieve image data.
show Display a list of details from within a product bundle.

create

Create a Product Bundle using the outputs of Product Assembly.


Usage:  ffx product create --product-name <product-name> --product-version <product-version> --partitions <partitions> [--system-a <system-a>] [--system-b <system-b>] [--system-r <system-r>] [--tuf-keys <tuf-keys>] [--update-package-version-file <update-package-version-file>] [--update-package-epoch <update-package-epoch>] [--virtual-device <virtual-device...>] [--recommended-device <recommended-device>] --out-dir <out-dir> [--delivery-blob-type <delivery-blob-type>] [--with-deprecated-flash-manifest]

Options  
--help display usage information
--product-name product.board label. e.g. "workstation_eng.qemu-x64".
--product-version unique version of this product.board.
--partitions path to a partitions config, which lists the physical partitions of the target.
--system-a path to an assembly manifest, which specifies images to put in slot A.
--system-b path to an assembly manifest, which specifies images to put in slot B.
--system-r path to an assembly manifest, which specifies images to put in slot R.
--tuf-keys path to the directory of TUF keys, which should include root.json, snapshot.json, targets.json, and timestamp.json. If provided, then a TUF repository will be created inside the product bundle and filled with the product blobs.
--update-package-version-file file containing the version of the Product to put in the update package.
--update-package-epoch backstop OTA version. Fuchsia will reject updates with a lower epoch.
--virtual-device path to a Virtual Device Specification file to include in the product bundle. May be repeated to include multiple Virtual Devices.
--recommended-device name of a Virtual Device Specification file to mark as the "recommended" device for emulation.
--out-dir directory to write the product bundle.
--delivery-blob-type the type of delivery blob the product needs.
--with-deprecated-flash-manifest create a deprecated flash manifest for backward compatibility.

download

Retrieve image data.


Usage:  ffx product download [--force] [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>] manifest_url product_dir

Options  
--help display usage information
--force get the data again, even if it's already present locally.
--auth use specific auth flow for oauth2 (see examples; default: pkce).
--base-url where to look for product bundles manifest.
--version filter on products of .
--branch filter on products of .

Examples

Auth flow choices for --auth include:
  `--auth no-auth` do not use auth.
  `--auth pkce` to use PKCE auth flow (requires GUI browser).
  `--auth device-experimental` to use device flow.
  `--auth ` run tool at given path which will print an access token to stdout and exit 0.
    
  `--auth default` let the tool decide which auth flow to use.

get-artifacts

Get the paths of a group of artifacts inside a Product Bundle.


Usage:  ffx product get-artifacts -g <artifacts-group> [-r] product_bundle

Options  
--help display usage information
-g, --artifacts-group select what group of artifacts to list
-r, --relative-path return relative path or not

get-image-path

Get the path of an image inside a Product Bundle based on type and slot.


Usage:  ffx product get-image-path [--slot <slot>] [--image-type <image-type>] [-b <bootloader>] [-r] product_bundle

Options  
--help display usage information
--slot the slot where image will be located in.
--image-type the type of image.
-b, --bootloader the type of bootloader.
-r, --relative-path return relative path or not

get-repository

Get the info of repository inside a Product Bundle.


Usage:  ffx product get-repository product_bundle

Options  
--help display usage information

get-version

Get the product version of a Product Bundle.


Usage:  ffx product get-version product_bundle

Options  
--help display usage information

list

Retrieve PB data.


Usage:  ffx product list [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>]

Options  
--help display usage information
--auth use specific auth flow for oauth2 (see examples; default: pkce).
--base-url where to look for product bundles manifest.
--version filter on products of .
--branch filter on products of .

Examples

Auth flow choices for --auth include:
  `--auth oob` to use Out-of-Band auth (deprecated).
  `--auth pkce` to use PKCE auth flow (requires GUI browser).
  `--auth ` run tool at given path which will print an access token to stdout and exit 0.
    

lookup

Retrieve image data.


Usage:  ffx product lookup [--auth <auth>] [--base-url <base-url>] name version

Options  
--help display usage information
--auth use specific auth flow for oauth2 (see examples; default: pkce).
--base-url where to look for product bundles manifest.

Examples

Auth flow choices for --auth include:
  `--auth oob` to use Out-of-Band auth (deprecated).
  `--auth pkce` to use PKCE auth flow (requires GUI browser).
  `--auth ` run tool at given path which will print an access token to stdout and exit 0.
    

show

Display a list of details from within a product bundle.


Usage:  ffx product show [--devices] [--device <device>] product_bundle_path

Options  
--help display usage information
--devices list the virtual devices linked to this product bundle.
--device print the details of a virtual device linked to this product bundle.

profile

Profile run-time information from various subsystems


Usage:  ffx profile [subcommand...]

Options  
--help display usage information
Subcommands  
cpu Query CPU-related information
gpu Access GPU usage information
heapdump Profile and dump heap memory usage
memory Query memory related information
network Access network activity information
power Access power-related information
temperature Access temperature-related information

cpu

Query CPU-related information


Usage:  ffx profile cpu [subcommand...]

Options  
--help display usage information
Subcommands  
load Collect and print CPU usage data for the specified time frame, or instruct the metrics-logger component to record the CPU usage data to Inspect, Trace, and/or syslog.

load

Collect and print CPU usage data for the specified time frame, or instruct the metrics-logger component to record the CPU usage data to Inspect, Trace, and/or syslog.


Usage:  ffx profile cpu load [-d <duration>] [subcommand...]

Options  
--help display usage information
-d, --duration duration over which to measure and print the CPU load
Subcommands  
start Start logging on the target
stop Stop logging on the target

Examples

1) To measure the CPU load over a two second duration:

    $ ffx profile cpu load --duration 2s

    The measured CPU load from each core is printed in the following format:

        CPU 0: 0.66%
        CPU 1: 1.56%
        CPU 2: 0.83%
        CPU 3: 0.71%
        Total: 3.76%

    The valid range for each CPU load is [0-100]%. The "Total" value represents the summation of the load percentages of all CPU cores and is valid in the range [0-100*[NUM_CPU]]%.

2) To log CPU load every 500 ms indefinitely:

    $ ffx profile cpu load start --interval 500ms

    Logged samples will be available via iquery under core/metrics-logger and via tracing in the `cpu_usage` category.

3) To log CPU load every 1 second for 30 seconds with output-to-syslog enabled:

    $ ffx profile cpu load start --interval 1s -d 30s --output-to-syslog

    Logged samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the `cpu_usage` category.

Notes

  • Please specify a duration for immediate load display, or alternatively, utilize the start/stop subcommand to instruct the metrics-logger component to record the CPU usage data to Inspect, Trace,and/or syslog.
    If the metrics-logger component is not available to the target, add --with //src/testing/metrics-logger to fx set.
start

Start logging on the target


Usage:  ffx profile cpu load start -s <interval> [--output-to-syslog] [-d <duration>]

Options  
--help display usage information
-s, --interval interval for logging the CPU load
--output-to-syslog toggle for logging CPU loads to syslog
-d, --duration duration for which to log; if omitted, logging will continue indefinitely
stop

Stop logging on the target


Usage:  ffx profile cpu load stop

Options  
--help display usage information

gpu

Access GPU usage information


Usage:  ffx profile gpu [subcommand...]

Options  
--help display usage information
Subcommands  
usage Controls the metrics-logger component to log gpu usage. Logged samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the gpu category.

usage

Controls the metrics-logger component to log gpu usage. Logged samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the gpu category.


Usage:  ffx profile gpu usage [subcommand...]

Options  
--help display usage information
Subcommands  
start Start logging on the target
stop Stop logging on the target

Examples

To poll gpu usage every 500 ms indefinitely:

    $ ffx profile gpu usage start --interval 500ms

To poll gpu driver every 1 second for 30 seconds with output-to-syslog enabled:

    $ ffx profile gpu usage start --interval 1s -d 30s --output-to-syslog

Notes

  • If the metrics-logger component is not available to the target, then this command will not work
    properly. Add --with //src/testing/metrics-logger to fx set.
start

Start logging on the target


Usage:  ffx profile gpu usage start -s <interval> [--output-to-syslog] [-d <duration>]

Options  
--help display usage information
-s, --interval interval for polling the GPU driver
--output-to-syslog toggle for logging samples to syslog
-d, --duration duration for which to log; if omitted, logging will continue indefinitely
stop

Stop logging on the target


Usage:  ffx profile gpu usage stop

Options  
--help display usage information

heapdump

Profile and dump heap memory usage


Usage:  ffx profile heapdump [subcommand...]

Options  
--help display usage information
Subcommands  
download Download stored snapshot
list List stored snapshots
snapshot Snapshot current heap memory usage

download

Download stored snapshot


Usage:  ffx profile heapdump download [--collector <collector>] --snapshot-id <snapshot-id> [--with-tags] --output-file <output-file>

Options  
--help display usage information
--collector moniker of the collector to be queried (default: autodetect)
--snapshot-id snapshot ID to be downloaded
--with-tags write per-block metadata (as tags) in the protobuf file
--output-file output protobuf file

list

List stored snapshots


Usage:  ffx profile heapdump list [--collector <collector>] [--by-name <by-name>] [--by-koid <by-koid>]

Options  
--help display usage information
--collector moniker of the collector to be queried (default: autodetect)
--by-name select process by name
--by-koid select process by koid

snapshot

Snapshot current heap memory usage


Usage:  ffx profile heapdump snapshot [--collector <collector>] [--by-name <by-name>] [--by-koid <by-koid>] --output-file <output-file> [--with-tags] [--output-contents-dir <output-contents-dir>]

Options  
--help display usage information
--collector moniker of the collector to be queried (default: autodetect)
--by-name select process by name
--by-koid select process by koid
--output-file output protobuf file
--with-tags write per-block metadata (as tags) in the protobuf file
--output-contents-dir optional directory to dump each blocks' contents into

memory

Query memory related information


Usage:  ffx profile memory [--debug-json] [--process-koids <process-koids...>] [--process-names <process-names...>] [--interval <interval>] [--buckets] [--csv] [--exact-sizes] [subcommand...]

Options  
--help display usage information
--debug-json outputs the json returned by memory_monitor. For debug purposes only, no garantee is made on the stability of the output of this command.
--process-koids filters by process koids. Repeatable flag.
--process-names filters by process names (exact match). Repeatable flag.
--interval repeats the command at the given interval (in seconds) until terminated.
--buckets prints a bucketized digest of the memory usage.
--csv outputs csv that for every process shows the device uptime in seconds, the process koid, the process name, and the private, scale, and total memory usage. This option is not supported with other output options like --machine.
--exact-sizes outputs the exact byte sizes, as opposed to a human-friendly format. Does not impact machine oriented outputs, such as CSV and JSON outputs.
Subcommands  
signal Signals userspace clients with specified memory pressure level. Clients can use this command to test their response to memory pressure. Does not affect the real memory pressure level on the system, or trigger any kernel reclamation tasks.

signal

Signals userspace clients with specified memory pressure level. Clients can use this command to test their response to memory pressure. Does not affect the real memory pressure level on the system, or trigger any kernel reclamation tasks.


Usage:  ffx profile memory signal level

Options  
--help display usage information

network

Access network activity information


Usage:  ffx profile network [subcommand...]

Options  
--help display usage information
Subcommands  
activity Controls the metrics-logger component to log network activity. Logged samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the network category.

activity

Controls the metrics-logger component to log network activity. Logged samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the network category.


Usage:  ffx profile network activity [subcommand...]

Options  
--help display usage information
Subcommands  
start Start logging on the target
stop Stop logging on the target

Examples

To poll network activity every 500 ms indefinitely:

    $ ffx profile network activity start --interval 500ms

To poll network activity every 1 second for 30 seconds with output-to-syslog enabled:

    $ ffx profile network activity start --interval 1s -d 30s --output-to-syslog

Notes

  • If the metrics-logger component is not available to the target, then this command will not work
    properly. Add --with //src/testing/metrics-logger to fx set.
start

Start logging on the target


Usage:  ffx profile network activity start -s <interval> [--output-to-syslog] [-d <duration>]

Options  
--help display usage information
-s, --interval interval for polling the network activity
--output-to-syslog toggle for logging samples to syslog
-d, --duration duration for which to log; if omitted, logging will continue indefinitely
stop

Stop logging on the target


Usage:  ffx profile network activity stop

Options  
--help display usage information

power

Access power-related information


Usage:  ffx profile power [subcommand...]

Options  
--help display usage information
Subcommands  
logger Controls the metrics-logger component to log power. Logged power samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the power_logger category.

logger

Controls the metrics-logger component to log power. Logged power samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the power_logger category.


Usage:  ffx profile power logger [subcommand...]

Options  
--help display usage information
Subcommands  
start Start logging on the target
stop Stop logging on the target

Examples

To poll power sensor every 500 ms indefinitely:

    $ ffx profile power logger start --sampling-interval 500ms

To poll power sensor every 500 ms and summarize statistics every 1 second for 30 seconds with output-samples-to-syslog and output-stats-to-syslog enabled:

    $ ffx profile power logger start --sampling-interval 500ms --statistics-interval 1s --output-stats-to-syslog --output-samples-to-syslog -d 30s

Notes

  • If the metrics-logger component is not available to the target, then this command will not work
    properly. Add --with //src/testing/metrics-logger to fx set.
start

Start logging on the target


Usage:  ffx profile power logger start [-l <statistics-interval>] -s <sampling-interval> [--output-samples-to-syslog] [--output-stats-to-syslog] [-d <duration>]

Options  
--help display usage information
-l, --statistics-interval interval for summarizing statistics; if omitted, statistics is disabled
-s, --sampling-interval interval for polling the sensor
--output-samples-to-syslog toggle for logging samples to syslog
--output-stats-to-syslog toggle for logging statistics to syslog
-d, --duration duration for which to log; if omitted, logging will continue indefinitely
stop

Stop logging on the target


Usage:  ffx profile power logger stop

Options  
--help display usage information

temperature

Access temperature-related information


Usage:  ffx profile temperature [subcommand...]

Options  
--help display usage information
Subcommands  
logger Controls the metrics-logger component to log temperature. Logged temperature samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the metrics_logger category.

logger

Controls the metrics-logger component to log temperature. Logged temperature samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the metrics_logger category.


Usage:  ffx profile temperature logger [subcommand...]

Options  
--help display usage information
Subcommands  
start Start logging on the target
stop Stop logging on the target

Examples

To poll temperature sensor every 500 ms indefinitely:

    $ ffx profile temperature logger start --sampling-interval 500ms

To poll temperature sensor every 500 ms and summarize statistics every 1 second for 30 seconds with output-samples-to-syslog and output-stats-to-syslog enabled:

    $ ffx profile temperature logger start --sampling-interval 500ms --statistics-interval 1s --output-stats-to-syslog --output-samples-to-syslog -d 30s

Notes

  • If the metrics-logger component is not available to the target, then this command will not work
    properly. Add --with //src/testing/metrics-logger to fx set.
start

Start logging on the target


Usage:  ffx profile temperature logger start [-l <statistics-interval>] -s <sampling-interval> [--output-samples-to-syslog] [--output-stats-to-syslog] [-d <duration>]

Options  
--help display usage information
-l, --statistics-interval interval for summarizing statistics; if omitted, statistics is disabled
-s, --sampling-interval interval for polling the sensor
--output-samples-to-syslog toggle for logging samples to syslog
--output-stats-to-syslog toggle for logging statistics to syslog
-d, --duration duration for which to log; if omitted, logging will continue indefinitely
stop

Stop logging on the target


Usage:  ffx profile temperature logger stop

Options  
--help display usage information

repository

Inspect and manage package repositories


Usage:  ffx repository [subcommand...]

Options  
--help display usage information
Subcommands  
add Make the daemon aware of specific product bundle repositories
add-from-pm Make the daemon aware of a specific pm-built repository
create Create a repository.
default Manage the default repository
list List all repositories
package List the packages inside a repository
publish Publish packages.
remove
serve (EXPERIMENTAL) serve the repository server, registering repositories to device
server Inspect and manage the repository server

add

Make the daemon aware of specific product bundle repositories


Usage:  ffx repository add [-p <prefix>] product_bundle_dir

Options  
--help display usage information
-p, --prefix repositories will have the prefix NAME. Defaults to devhost.

add-from-pm

Make the daemon aware of a specific pm-built repository


Usage:  ffx repository add-from-pm [-r <repository>] [--alias <alias...>] pm_repo_path

Options  
--help display usage information
-r, --repository repositories will be named NAME. Defaults to devhost.
--alias alias this repository to these names when this repository is registered on a target.

create

Create a repository.


Usage:  ffx repository create [--time-versioning] [--keys <keys>] repo_path

Options  
--help display usage information
--time-versioning set repository version based on the current time rather than monotonically increasing version
--keys path to the repository keys directory. Default to generate keys at 'repo_path'/keys.

default

Manage the default repository


Usage:  ffx repository default [subcommand...]

Options  
--help display usage information
Subcommands  
get Get the default configured repository
set Set the default repository
unset Clears the default configured repository

Examples

For one-off overrides for the default use `--repository` option:

    $ ffx repository  --repository  ...

Or use the `--config` option:

    $ ffx --config repository.default= repository 

Notes

  • Manages the default configured repository for all operations. The default
    repository is designated by a * next to the name. This is an alias for the
    repository.default configuration key.

get

Get the default configured repository


Usage:  ffx repository default get

Options  
--help display usage information

Notes

  • Returns the default configured repository from the 'User Configuration'.
    Returns an empty string if no default is configured.

set

Set the default repository


Usage:  ffx repository default set [-l <level>] [-b <build-dir>] name

Options  
--help display usage information
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config

Examples

To set the default repository:

   $ ffx repository default set 

To set the 'repository.default` key at the global configuration:

   $ ffx repository default set -l global 

To specify a default repository for a specific build directory:

   $ ffx repository default set -l build -b ~/fuchsia/out 

Notes

  • Sets the repository.default configuration key. By default sets the key in
    the 'User Configuration'. Can be used in conjuction with ffx repository list
    to list the names of the discovered repositorys.

After setting the default repository, ffx repository list will mark the default with a * in the output list.

unset

Clears the default configured repository


Usage:  ffx repository default unset [-l <level>] [-b <build-dir>]

Options  
--help display usage information
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config

Examples

To clear the default repository:

    $ ffx repository default unset

To clear the `repository.default` key from global configuration:

    $ ffx repository default unset -l global

To specify a specific build directory:

    $ ffx repository default unset -l build -b ~/fuchsia/out

Notes

  • Clears the repository.default configuration key. By default clears the
    'User Configuration'. Returns a warning if the key is already empty.

list

List all repositories


Usage:  ffx repository list

Options  
--help display usage information

package

List the packages inside a repository


Usage:  ffx repository package [subcommand...]

Options  
--help display usage information
Subcommands  
extract-archive Extract a package archive from the repository
list Inspect and manage package repositories
show Inspect content of a package

extract-archive

Extract a package archive from the repository


Usage:  ffx repository package extract-archive -o <out> [-r <repository>] package

Options  
--help display usage information
-o, --out output path for the extracted archive.
-r, --repository extract package from this repository.

list

Inspect and manage package repositories


Usage:  ffx repository package list [-r <repository>] [--full-hash] [--include-components <include-components>]

Options  
--help display usage information
-r, --repository list packages from this repository.
--full-hash if true, package hashes will be displayed in full (i.e. not truncated).
--include-components toggle whether components in each package will be fetched and shown in the output table

show

Inspect content of a package


Usage:  ffx repository package show [-r <repository>] [--full-hash] [--include-subpackages <include-subpackages>] package

Options  
--help display usage information
-r, --repository list package contents from this repository.
--full-hash if true, package hashes will be displayed in full (i.e. not truncated).
--include-subpackages if true, show contents of subpackages contained in the package.

publish

Publish packages.


Usage:  ffx repository publish [--signing-keys <signing-keys>] [--trusted-keys <trusted-keys>] [--trusted-root <trusted-root>] [--package <package...>] [--package-list <package-list...>] [--package-archive <package-archive...>] [--product-bundle <product-bundle...>] [--time-versioning] [--metadata-current-time <metadata-current-time>] [--refresh-root] [--clean] [--depfile <depfile>] [--copy-mode <copy-mode>] [--delivery-blob-type <delivery-blob-type>] [--watch] [--ignore-missing-packages] [--blob-manifest <blob-manifest>] [--blob-repo-dir <blob-repo-dir>] repo_path

Options  
--help display usage information
--signing-keys path to the keys used to sign metadata, but not trust for key rotation
--trusted-keys path to the keys used to sign and trust metadata (default repository keys/ directory)
--trusted-root path to the initial trusted root metadata (default is to use 1.root.json from the repository)
--package path to a package manifest
--package-list path to a packages list manifest
--package-archive path to a package archive
--product-bundle path to a product bundle
--time-versioning set repository version based on time rather than monotonically increasing version
--metadata-current-time the RFC 3339 time used to see if metadata has expired, and when new metadata should expire (default uses the current time)
--refresh-root generate a new root metadata along side all the other metadata
--clean clean the repository so only new publications remain
--depfile produce a depfile file
--copy-mode mode used to copy blobs to repository. Either 'copy', 'copy-overwrite', or 'hard-link' (default 'copy').
--delivery-blob-type the type of delivery blob to generate (default: type 1)
--watch republish packages on file change
--ignore-missing-packages ignore if package paths do not exist
--blob-manifest path to write the blob manifest to
--blob-repo-dir path to the blobs directory (default '$repo_path/repository/blobs')

remove


Usage:  ffx repository remove name

Options  
--help display usage information

serve

(EXPERIMENTAL) serve the repository server, registering repositories to device


Usage:  ffx repository serve [-r <repository>] [--address <address>] [--repo-path <repo-path>] [--alias <alias...>] [--storage-type <storage-type>] [--alias-conflict-mode <alias-conflict-mode>] [--port-path <port-path>] [--no-device]

Options  
--help display usage information
-r, --repository register this repository. Default is devhost.
--address address on which to serve the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083 Default is [::]:8083.
--repo-path location of pm-built repo. Default is "FUCHSIA_BUILD_DIR/amber-files"
--alias set up a rewrite rule mapping each alias host to the repository identified by name.
--storage-type enable persisting this repository across reboots. Default is Ephemeral.
--alias-conflict-mode resolution mechanism when alias registrations conflict. Must be either error-out or replace. Default is replace.
--port-path location to write server port information to, in case port dynamically instantiated.
--no-device if true, will not register repositories to device. Default is false.

server

Inspect and manage the repository server


Usage:  ffx repository server [subcommand...]

Options  
--help display usage information
Subcommands  
start Starts the repository server. Note that all repositories listed from ffx repository list will be started as subpaths.
status Retrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list will be running as subpaths at the returned address.
stop Stops the repository server

start

Starts the repository server. Note that all repositories listed from ffx repository list will be started as subpaths.


Usage:  ffx repository server start [--address <address>]

Options  
--help display usage information
--address address on which to start the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083

status

Retrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list will be running as subpaths at the returned address.


Usage:  ffx repository server status

Options  
--help display usage information

stop

Stops the repository server


Usage:  ffx repository server stop

Options  
--help display usage information

sdk

Modify or query the installed SDKs


Usage:  ffx sdk [subcommand...]

Options  
--help display usage information
Subcommands  
populate-path Populates the given path with symlinks to the fuchsha-sdk-run tool to run project-specific sdk tools
run Run a host tool from the active sdk
set Set sdk-related configuration options
version Retrieve the version of the current SDK

populate-path

Populates the given path with symlinks to the fuchsha-sdk-run tool to run project-specific sdk tools


Usage:  ffx sdk populate-path path

Options  
--help display usage information

run

Run a host tool from the active sdk


Usage:  ffx sdk run name args

Options  
--help display usage information

set

Set sdk-related configuration options


Usage:  ffx sdk set [subcommand...]

Options  
--help display usage information
Subcommands  
root Sets the path to the root of the preferred SDK

root

Sets the path to the root of the preferred SDK


Usage:  ffx sdk set root path

Options  
--help display usage information

version

Retrieve the version of the current SDK


Usage:  ffx sdk version

Options  
--help display usage information

session

Control the session component.


Usage:  ffx session [subcommand...]

Options  
--help display usage information
Subcommands  
add Add an element to the current session.
launch Launch a session component.
restart Restart the current session component.
show Show information about the current session
start Start the default session component.
stop Stop the session component.

Notes

  • See https://fuchsia.dev/fuchsia-src/glossary#session-component.

add

Add an element to the current session.


Usage:  ffx session add [--interactive] url

Options  
--help display usage information
--interactive pass to keep element alive until command exits

Examples

To add the `bouncing_ball.cm` component as an element:

    $ ffx session add fuchsia-pkg://fuchsia.com/bouncing_ball#meta/bouncing_ball.cm

launch

Launch a session component.


Usage:  ffx session launch url

Options  
--help display usage information

Examples

To launch the `hello-world-session.cm` component as a session:

    $ ffx session launch fuchsia-pkg://fuchsia.com/hello-world-session#meta/hello-world-session.cm

restart

Restart the current session component.


Usage:  ffx session restart

Options  
--help display usage information

Notes

  • Destroys the existing session component, if any, then creates and starts a new component with the same URL. Requires that a session componentwas previously launched.

show

Show information about the current session


Usage:  ffx session show

Options  
--help display usage information

start

Start the default session component.


Usage:  ffx session start

Options  
--help display usage information

Notes

  • The default session component is specified by the URL session_urlin session_manager's structured configuration.

stop

Stop the session component.


Usage:  ffx session stop

Options  
--help display usage information

setui

Modify and query settings.


Usage:  ffx setui [subcommand...]

Options  
--help display usage information
Subcommands  
accessibility watch or set accessibility settings
audio get or set audio settings
display get or set display settings
do_not_disturb get or set DnD settings
factory_reset get or set factory reset settings
input get or set input settings
intl get or set internationalization settings
keyboard get or set keyboard settings
light get or set light settings
night_mode get or set night mode settings
privacy get or set privacy settings
setup get or set setup settings

accessibility

watch or set accessibility settings


Usage:  ffx setui accessibility [subcommand...]

Options  
--help display usage information
Subcommands  
add-caption add caption options, the configuration for which sources get closed caption and how they look
set set other accessibility options
watch watch current accessibility settings

add-caption

add caption options, the configuration for which sources get closed caption and how they look


Usage:  ffx setui accessibility add-caption [-m <for-media>] [-t <for-tts>] [-w <window-color>] [-b <background-color>] [-f <font-family>] [-c <font-color>] [-r <relative-size>] [-e <char-edge-style>]

Options  
--help display usage information
-m, --for-media enable closed captions for media sources of audio
-t, --for-tts enable closed captions for Text-To-Speech sources of audio
-w, --window-color border color used around the closed captions window. Valid options are red, green, and blue
-b, --background-color border color used around the closed captions window. Valid options are red, green, and blue
-f, --font-family font family for captions as specified by 47 CFR §79.102(k). Valid options are unknown, monospaced_serif, proportional_serif, monospaced_sans_serif, proportional_sans_serif, casual, cursive, and small_capitals
-c, --font-color color of the closed caption text. Valid options are red, green, and blue
-r, --relative-size size of closed captions text relative to the default captions size, specified in the range [0.5, 2] as per 47 CFR §79.103(c)(4)
-e, --char-edge-style edge style for fonts as specified in 47 CFR §79.103(c)(7). Valid options are none, drop_shadow, raised, depressed, outline

set

set other accessibility options


Usage:  ffx setui accessibility set [-a <audio-description>] [-s <screen-reader>] [-i <color-inversion>] [-m <enable-magnification>] [-c <color-correction>]

Options  
--help display usage information
-a, --audio-description when set to 'true', will turn on an audio track for videos that includes a description of what is occurring in the video
-s, --screen-reader when set to 'true', will read aloud elements of the screen selected by the user
-i, --color-inversion when set to 'true', will invert the colors on the screen
-m, --enable-magnification when set to 'true', will interpret triple-taps on the touchscreen as a command to zoom in
-c, --color-correction configures the type of color-blindness to correct for. Valid options are none, protanomaly, deuteranomaly, and tritanomaly

watch

watch current accessibility settings


Usage:  ffx setui accessibility watch

Options  
--help display usage information

audio

get or set audio settings


Usage:  ffx setui audio [-t <stream>] [-s <source>] [-l <level>] [-v <volume-muted>]

Options  
--help display usage information
-t, --stream which stream should be modified. Valid options are background, media, interruption, system_agent, and communication
-s, --source which source is changing the stream. Valid options are user, system, and system_with_feedback
-l, --level the volume level specified as a float in the range [0, 1]
-v, --volume-muted whether or not the volume is muted

display

get or set display settings


Usage:  ffx setui display [subcommand...]

Options  
--help display usage information
Subcommands  
get Get the current display settings.
set Sets display settings.
watch Get the current display settings and watch for changes.

get

Get the current display settings.


Usage:  ffx setui display get [-f <field>]

Options  
--help display usage information
-f, --field choose which display settings field value to return, valid options are auto and brightness

set

Sets display settings.


Usage:  ffx setui display set [-b <brightness>] [-o <auto-brightness-level>] [-a <auto-brightness>] [-m <low-light-mode>] [-t <theme>] [-s <screen-enabled>]

Options  
--help display usage information
-b, --brightness the brightness value specified as a float in the range [0, 1]
-o, --auto-brightness-level the brightness values used to control auto brightness as a float in the range [0, 1]
-a, --auto-brightness when set to 'true', enables auto brightness
-m, --low-light-mode which low light mode setting to enable. Valid options are enable, disable, and disable_immediately
-t, --theme which theme to set for the device. Valid options are default, dark, light, darkauto, and lightauto
-s, --screen-enabled when set to 'true' the screen is enabled

watch

Get the current display settings and watch for changes.


Usage:  ffx setui display watch

Options  
--help display usage information

do_not_disturb

get or set DnD settings


Usage:  ffx setui do_not_disturb [-u <user-dnd>] [-n <night-mode-dnd>]

Options  
--help display usage information
-u, --user-dnd when set to 'true', allows the device to enter do not disturb mode
-n, --night-mode-dnd when set to 'true', forces the device into do not disturb mode

factory_reset

get or set factory reset settings


Usage:  ffx setui factory_reset [-l <is-local-reset-allowed>]

Options  
--help display usage information
-l, --is-local-reset-allowed when set to 'true', factory reset can be performed on the device

input

get or set input settings


Usage:  ffx setui input [-t <device-type>] [-n <name>] [-s <state>]

Options  
--help display usage information
-t, --device-type the type of input device. Valid options are camera and microphone
-n, --name the name of the device. Must be unique within a device type
-s, --state the device state flags, pass a comma separated string of the values available, active, muted, disabled and error. E.g. "-s available,active"

intl

get or set internationalization settings


Usage:  ffx setui intl [-z <time-zone>] [-u <temperature-unit>] [-l <locales...>] [-h <hour-cycle>] [--clear-locales]

Options  
--help display usage information
-z, --time-zone a valid timezone matching the data available at https://www.iana.org/time-zones
-u, --temperature-unit the unit to use for temperature. Valid options are celsius and fahrenheit
-l, --locales list of locales, separated by spaces, formatted by Unicode BCP-47 Locale Identifier, e.g. en-us
-h, --hour-cycle the hour cycle to use. Valid options are h11 for 12-hour clock with 0:10 am after midnight, h12 for 12-hour clock with 12:10am after midnight, h23 for 24-hour clock with 0:10 after midnight, and h24 for 24-hour clock with 24:10 after midnight
--clear-locales if set, this flag will set locales as an empty list. Overrides the locales arguments

keyboard

get or set keyboard settings


Usage:  ffx setui keyboard [-k <keymap>] [-d <autorepeat-delay>] [-p <autorepeat-period>]

Options  
--help display usage information
-k, --keymap keymap selection for the keyboard. Valid options are - UsQwerty - FrAzerty - UsDvorak - UsColemak
-d, --autorepeat-delay delay value of autorepeat values for the keyboard. Values should be a positive integer plus an SI time unit. Valid units are s, ms. If this value and autorepeat_period are zero, the autorepeat field of KeyboardSettings will be cleaned as None.
-p, --autorepeat-period period value of autorepeat values for the keyboard. Values should be a positive integer plus an SI time unit. Valid units are s, ms. If this value and autorepeat_delay are zero, the autorepeat field of KeyboardSettings will be cleaned as None.

light

get or set light settings


Usage:  ffx setui light [-n <name>] [-s <simple...>] [-b <brightness...>] [-r <rgb...>]

Options  
--help display usage information
-n, --name name of a light group to set values for. Required if setting the value of a light group
-s, --simple repeated parameter for a list of simple on/off values to set for a light group.
-b, --brightness repeated parameter for a list of floating point brightness values in the range [0, 1] for a light group
-r, --rgb repeated parameter for a list of RGB values to set for a light group. Values should be in the range [0, 1] and specified as a comma-separated list of the red, green, and blue components. Ex. 0.1,0.4,0.23

night_mode

get or set night mode settings


Usage:  ffx setui night_mode [-n <night-mode-enabled>]

Options  
--help display usage information
-n, --night-mode-enabled when 'true', enables night mode

privacy

get or set privacy settings


Usage:  ffx setui privacy [-u <user-data-sharing-consent>]

Options  
--help display usage information
-u, --user-data-sharing-consent when 'true', is considered to be user giving consent to have their data shared with product owner, e.g. for metrics collection and crash reporting

setup

get or set setup settings


Usage:  ffx setui setup [-i <interfaces>]

Options  
--help display usage information
-i, --interfaces a supported group of interfaces, specified as a comma-delimited string of the valid values eth and wifi, e.g. "-i eth,wifi" or "-i wifi"

target

Interact with a target device or emulator


Usage:  ffx target [subcommand...]

Options  
--help display usage information
Subcommands  
add Make the daemon aware of a specific target
bootloader Communicates with the bootloader
clear-preferred-ssh-address Clears a previously configured SSH address
default Manage the default target
echo run echo test against the target
flash Flash an image to a target device
forward Forward ports from a target
get-ssh-address Get the target's ssh address
get-time Gets the monotonic time on the target device
list List all targets
off Powers off a target
reboot Reboots a target
remove Make the daemon forget a specific target
repository Interact with target repository registration
screenshot Takes a screenshot of the target
set-preferred-ssh-address Sets the preferred SSH address
show Display relevant information for the target
snapshot Takes a snapshot of the target's state
ssh SSH to a target device
update Update base system software on target
wait Wait until able to establish a remote control connection to the target.

Notes

  • The target subcommand contains various commands for target management
    and interaction.

Typically, this is the entry workflow for users, allowing for target discovery and provisioning before moving on to component or session workflows once the system is up and running on the target.

Most of the commands depend on the RCS (Remote Control Service) on the target.

add

Make the daemon aware of a specific target


Usage:  ffx target add [-n] addr

Options  
--help display usage information
-n, --nowait do not wait for a connection to be verified on the Fuchsia device.

Examples

To add a remote target forwarded via ssh:

    $ ffx target add 127.0.0.1:8022

Or to add a target using its IPV6:

    $ ffx target add fe80::32fd:38ff:fea8:a00a

Notes

  • Manually add a target based on its IP address. The command accepts IPV4
    or IPV6 addresses, including a port number: <addr> = <ip addr:port>.

Typically, the daemon automatically discovers targets as they come online. However, manually adding a target allows for specifying a port number or address, often used for remote workflows.

This command will attempt to connect to the target in order to verify that RCS can be used, allowing for typical FFX related workflows. If you do not wish to use this, then you can run use the --nowait flag to return immediately. This can be useful for debugging connection issues.

If you send SIGINT (Ctrl-C) to the command before the connection to the target is verified, the target will be removed. If RCS cannot be connected to (e.g. some connectivity error is encountered), the target will also be removed.

bootloader

Communicates with the bootloader


Usage:  ffx target bootloader [-m <manifest>] [-p <product>] [-b <product-bundle>] [--skip-verify] [subcommand...]

Options  
--help display usage information
-m, --manifest path to flashing manifest or zip file containing images and manifest
-p, --product product entry in manifest - defaults to fuchsia
-b, --product-bundle optional product bundle name
--skip-verify skip hardware verification. This is dangerous, please be sure the images you are using match the device
Subcommands  
boot RAM boots a fastboot target.
info Prints fastboot variables for target.
lock Locks a fastboot target.
unlock Unlocks a fastboot target.

boot

RAM boots a fastboot target.


Usage:  ffx target bootloader boot [-z <zbi>] [-v <vbmeta>] [-s <slot>]

Options  
--help display usage information
-z, --zbi optional zbi image file path to use
-v, --vbmeta optional vbmeta image file path to use
-s, --slot slot corresponding to partitions in the flash manifest -

only used if zbi and vbmeta files are not present

info

Prints fastboot variables for target.


Usage:  ffx target bootloader info

Options  
--help display usage information

lock

Locks a fastboot target.


Usage:  ffx target bootloader lock

Options  
--help display usage information

unlock

Unlocks a fastboot target.


Usage:  ffx target bootloader unlock [-c <cred>] [--force]

Options  
--help display usage information
-c, --cred optional path to credential file to use to unlock the device
--force skips the warning message that this command is dangerous

clear-preferred-ssh-address

Clears a previously configured SSH address


Usage:  ffx target clear-preferred-ssh-address

Options  
--help display usage information

Notes

  • Clears a preferred SSH address that was set using the
    set-preferred-ssh-address command on the default target. Executing this command
    severs any existing connection to the target and establishes a new connection.
    The newly selected address is chosen using the standard address selection
    logic.

default

Manage the default target


Usage:  ffx target default [subcommand...]

Options  
--help display usage information
Subcommands  
get Get the default configured target
set Set the default target
unset Clears the default configured target

Examples

For one-off overrides for the default use `--target` option:

    $ ffx --target  

Or use the `--config` option:

    $ ffx --config target.default= 

Notes

  • Manages the default configured target for all operations. The default
    target is designated by a * next to the name. This is an alias for the
    target.default configuration key.

get

Get the default configured target


Usage:  ffx target default get [-l <level>] [-b <build-dir>]

Options  
--help display usage information
-l, --level config level, such as 'user', 'build', or 'global' - defaults to searching all levels
-b, --build-dir optional directory to associate the provided build config

Notes

  • Returns the default configured target from the 'User Configuration'.
    Returns an empty string if no default is configured.

set

Set the default target


Usage:  ffx target default set [-l <level>] [-b <build-dir>] nodename

Options  
--help display usage information
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config

Examples

To set the default target:

   $ ffx target default set 

To set the 'target.default` key at the global configuration:

   $ ffx target default set -l global 

To specify a default target for a specific build directory:

   $ ffx target default set -l build -b ~/fuchsia/out 

Notes

  • Sets the target.default configuration key. By default sets the key in
    the 'User Configuration'. Can be used in conjuction with ffx target list
    to list the names of the discovered targets.

After setting the default target, ffx target list will mark the default with a * in the output list.

unset

Clears the default configured target


Usage:  ffx target default unset [-l <level>] [-b <build-dir>]

Options  
--help display usage information
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config

Examples

To clear the default target:

    $ ffx target default unset

To clear the `target.default` key from global configuration:

    $ ffx target default unset -l global

To specify a specific build directory:

    $ ffx target default unset -l build -b ~/fuchsia/out

Notes

  • Clears the target.default configuration key. By default clears the
    'User Configuration'. Returns a warning if the key is already empty.

echo

run echo test against the target


Usage:  ffx target echo [--repeat] [text]

Options  
--help display usage information
--repeat run the echo test repeatedly until the command is killed

flash

Flash an image to a target device


Usage:  ffx target flash [-p <product>] [-b <product-bundle>] [-m <manifest>] [--oem-stage <oem-stage...>] [--authorized-keys <authorized-keys>] [--no-bootloader-reboot] [--skip-verify] [manifest_path]

Options  
--help display usage information
-p, --product product entry in manifest - defaults to fuchsia
-b, --product-bundle optional product bundle name
-m, --manifest optional manifest path
--oem-stage oem staged file - can be supplied multiple times
--authorized-keys path to authorized keys file - will default to the value configured for ssh.pub key in ffx config. If the file does not exist, it will be created.
--no-bootloader-reboot the device should not reboot after bootloader images are flashed
--skip-verify skip hardware verification. This is dangerous, please be sure the images you are flashing match the device

Examples

To flash a specific image:

    $ ffx target flash --manifest $(fx get-build-dir)/flash.json --product fuchsia

To include SSH keys as well:

    $ ffx target flash
    --authorized-keys ~/fuchsia/.ssh/authorized_keys
    $(fx get-build-dir)/flash.json
    --product fuchsia

Notes

  • Flashes an image to a target device using the fastboot protocol.
    Requires a specific  file and  name as an input.

This is only applicable to a physical device and not an emulator target. The target device is typically connected via a micro-USB connection to the host system.

The format is a JSON file generated when building a fuchsia and can be found in the build output directory.

The --oem-stage option can be supplied multiple times for several OEM files. The format expects a single OEM command to execute after staging the given file.

The format for the --oem-stage parameter is a comma separated pair: ','

forward

Forward ports from a target


Usage:  ffx target forward [subcommand...]

Options  
--help display usage information
Subcommands  
tcp Forward a TCP port from the target to the host

tcp

Forward a TCP port from the target to the host


Usage:  ffx target forward tcp host_address target_address

Options  
--help display usage information

get-ssh-address

Get the target's ssh address


Usage:  ffx target get-ssh-address [-t <timeout>]

Options  
--help display usage information
-t, --timeout the timeout in seconds [default = 1.0]

Notes

  • Return the SSH address of the default target defined in the
    target.default key. By default this comes from the 'User Configuration'.

The command takes a value in seconds with a default of 1.0 and overrides the value in the target.interaction.timeout key.

Errors  
1 Timeout while getting ssh address
2 Unable to get ssh address from target

get-time

Gets the monotonic time on the target device


Usage:  ffx target get-time

Options  
--help display usage information

Examples

To get the target time:

    $ ffx target get-time

list

List all targets


Usage:  ffx target list [-f <format>] [--no-ipv4] [--no-ipv6] [nodename]

Options  
--help display usage information
-f, --format determines the output format for the list operation
--no-ipv4 do not return IPv4 addresses
--no-ipv6 do not return IPv6 addresses

Examples

To list targets in short form:

    $ ffx target list --format s
    fe80::4415:3606:fb52:e2bc%zx-f80ff974f283 pecan-guru-clerk-rhyme

To list targets with only their addresses:

    $ ffx target list --format a
    fe80::4415:3606:fb52:e2bc%zx-f80ff974f283

Notes

  • List all targets that the daemon currently has in memory. This includes
    manually added targets. The daemon also proactively discovers targets as
    they come online. Use ffx target list to always get the latest list
    of targets.

The default target is marked with a '*' next to the node name. The table has the following columns:

NAME = The name of the target.
SERIAL = The serial number of the target.
TYPE = The product type of the target.
STATE = The high-level state of the target.
ADDRS/IP = The discovered and known addresses of the target.
RCS = Indicates if the Remote Control Service is running on the target.

The NAME column shows the target's advertised name. When the target is in early boot state such as fastboot, the NAME column may be <unknown> with a STATE being fastboot and a SERIAL attribute.

By default, the list command outputs in a tabular format. To override the format, pass --format and can take the following options: 'simple' , 'tabular|table|tab', 'addresses|addrs|addr', 'name-only', 'json|JSON' or in short form 's', 't', 'a', 'n', 'j'.

By default, Zedboot discovery is disabled. To enable discovery of Zedboot targets run:

$ ffx config set discovery.zedboot.enabled true

Errors  
2 If a nodename is supplied, an error code of 2 will be returned if the nodename cannot be resolved

off

Powers off a target


Usage:  ffx target off

Options  
--help display usage information

Notes

  • Power off a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
    FIDL API to send the power off command.

'fuchsia.hardware.power.statecontrol.Admin' is exposed by the 'power_manager' component. To verify that the target exposes this service, ffx component select or ffx component knock can be used.

Errors  
1 Timeout while powering off target.

reboot

Reboots a target


Usage:  ffx target reboot [-b] [-r]

Options  
--help display usage information
-b, --bootloader reboot to bootloader
-r, --recovery reboot to recovery

Notes

  • Reboot a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
    FIDL API to send the reboot command.

By default, target boots fully. This behavior can be overrided by passing in either --bootloader or --recovery to boot into the bootloader or recovery, respectively.

'fuchsia.hardware.power.statecontrol.Admin' is exposed by the 'power_manager' component. To verify that the target exposes this service, ffx component select or ffx component knock can be used.

Errors  
1 Timeout while powering off target.

remove

Make the daemon forget a specific target


Usage:  ffx target remove name_or_addr

Options  
--help display usage information

Examples

To remove a target by its target name:

    $ ffx target remove correct-horse-battery-staple

Or to remove a target using its IP address:

    $ ffx target remove fe80::32fd:38ff:fea8:a00a

Notes

  • IP addresses are matched by their full string representation.
    for best results, copy the exact address from ffx target list.

repository

Interact with target repository registration


Usage:  ffx target repository [subcommand...]

Options  
--help display usage information
Subcommands  
deregister Make the target forget a specific repository
list List all the repositories on a target
register Make the target aware of a specific repository

Notes

  • The `repository` subcommand contains various commands for repository management
    and interaction on targets.
    
    Most of the commands depend on the RCS (Remote Control Service) on the target.

deregister

Make the target forget a specific repository


Usage:  ffx target repository deregister [-r <repository>]

Options  
--help display usage information
-r, --repository remove the repository named name from the target, rather than the default.

list

List all the repositories on a target


Usage:  ffx target repository list

Options  
--help display usage information

register

Make the target aware of a specific repository


Usage:  ffx target repository register [-r <repository>] [--storage-type <storage-type>] [--alias <alias...>] [--alias-conflict-mode <alias-conflict-mode>]

Options  
--help display usage information
-r, --repository register this repository, rather than the default.
--storage-type enable persisting this repository across reboots.
--alias set up a rewrite rule mapping each alias host to to the repository identified by name.
--alias-conflict-mode resolution mechanism when alias registrations conflict. Must be either error-out or replace. Default is replace.

screenshot

Takes a screenshot of the target


Usage:  ffx target screenshot [-d <dir>] [--format <format>]

Options  
--help display usage information
-d, --dir override the default directory where the screenshot will be saved
--format screenshot format. If no value is provided bgra will be used.
    Accepted values: bgra, rgba, png

Examples

Store the target's screenshot in a directory:

    $ ffx target screenshot -d .
    Exported ./screenshot

Notes

  • This command connects to a running target to take its screenshot.
    The --dir can be supplied to override the default
    screenshot saving location /tmp/screenshot/YYYYMMDD_HHMMSS/.
    The --format can be supplied to override the default format png.
    Accepted format values: bgra, rgba, png.
    The screenshot file name is screenshot.<format>.

set-preferred-ssh-address

Sets the preferred SSH address


Usage:  ffx target set-preferred-ssh-address addr

Options  
--help display usage information

Examples

To set a preferred IPv4 SSH address:

    $ ffx target set-preferred-ssh-address 127.0.0.1

Or to set a preferred IPv6 SSH address:

    $ ffx target set-preferred-ssh-addres fe80::32fd:38ff:fea8:a00a%qemu

If provided, the scope may either correspond to the numerical ID or the
interface name.

Notes

  • Manually set the preferred SSH address on the default target. If
    successful, then any existing connection to the target is severed and a new
    connection is established. The specified address is not persisted across daemon
    version changes or restarts.

show

Display relevant information for the target


Usage:  ffx target show [--desc] [--label] [--json] [--version]

Options  
--help display usage information
--desc display descriptions of entries
--label display label of entries
--json formats output as json objects
--version display version

Notes

  • Displays a detailed information about the target.

The default output is intended for a human reader. This output can be decorated with machine readable labels (--label) and descriptions of each field (--desc).

The 'label' fields in the machine readable output (--json) will remain stable across software updates and is not localized (compare to 'title' which may change or be localized). The 'value' field will be one of: 'null', 'bool', 'string', or a list of strings.

Errors  
1 Timeout retrieving target information.

snapshot

Takes a snapshot of the target's state


Usage:  ffx target snapshot [-d <dir>] [--dump-annotations]

Options  
--help display usage information
-d, --dir valid directory where the snapshot will be stored
--dump-annotations print annotations without capturing the snapshot, ignores dir flag

Examples

Store the target's snapshot in the current directory:

    $ ffx target snapshot -d .
    Exported ./snapshot.zip

Notes

  • This command connects to a running target to acquire its snapshot, which contains
    useful debugging information about the target. The --dir can be supplied to override the default
    snapshot directory /tmp/snapshots/YYYYMMDD_HHMMSS/.

Snapshot contents: - Build information and annotations - Kernel and system logs - Inspect data

ssh

SSH to a target device


Usage:  ffx target ssh [--sshconfig <sshconfig>] [command...]

Options  
--help display usage information
--sshconfig path to the custom ssh config file to use.

Examples

To ssh to a specific device:

    $ ffx -t fuchsia-EEEE-NNNN target ssh

To ssh and run a command:

    $ ffx target ssh 'echo $USER'

update

Update base system software on target


Usage:  ffx target update [subcommand...]

Options  
--help display usage information
Subcommands  
channel View and manage update channels
check-now Check and perform the system update operation
force-install Trigger the system updater manually

Notes

  • This command interfaces with system update services on the target.

channel

View and manage update channels


Usage:  ffx target update channel [subcommand...]

Options  
--help display usage information
Subcommands  
get-current Return the currently configured update channel
get-next Return the next or target update channel
list List the known update channels
set Sets the update channel

Notes

  • Channel management commands and operations. Interfaces directly with
    the 'fuchsia.update.channelcontrol.ChannelControl' service on the target
    system.
get-current

Return the currently configured update channel


Usage:  ffx target update channel get-current

Options  
--help display usage information

Notes

  • For developer product configurations, this is by default 'devhost'.
Errors  
1 Timeout while getting update channel.
get-next

Return the next or target update channel


Usage:  ffx target update channel get-next

Options  
--help display usage information

Notes

  • Returns the next or target channel. This differs from get when the
    next successful update changes the configured update channel on the
    system.
Errors  
1 Timeout while getting update channel.
list

List the known update channels


Usage:  ffx target update channel list

Options  
--help display usage information

Notes

  • This lists all the known next or target update channels on the system.

Returns an empty list if no other update channels are configured.

Errors  
1 Timeout while getting list of update channel.
set

Sets the update channel


Usage:  ffx target update channel set channel

Options  
--help display usage information

Examples

To list all the known update channels:

    $ ffx target update channel list

Then, use a valid channel from the list:

    $ ffx target update channel set 

Notes

  • Sets the next or target update channel on the device. When paired with
    ffx target update check-now, ensures the update is check against the
    next or target channel. When the update is successful, next or target
    channel becomes the current channel.

Use ffx target update channel list to list known system update channels.

Errors  
1 Timeout while setting update channel.

check-now

Check and perform the system update operation


Usage:  ffx target update check-now [--service-initiated] [--monitor]

Options  
--help display usage information
--service-initiated the update check was initiated by a service, in the background.
--monitor monitor for state update.

Examples

To check for update and monitor progress:

    $ ffx target update check-now --monitor

Notes

  • Triggers an update check operation and performs the update if available.
    Interfaces using the 'fuchsia.update Manager' protocol with the system
    update service on the target.

The command takes in an optional --monitor switch to watch the progress of the update. The output is displayed in stdout.

The command also takes an optional --service-initiated switch to indicate a separate service has initiated a check for update.

force-install

Trigger the system updater manually


Usage:  ffx target update force-install [--reboot <reboot>] update_pkg_url

Options  
--help display usage information
--reboot automatically trigger a reboot into the new system

Examples

With a known update package URL, trigger an update:

    $ ffx target update force-install fuchsia-pkg://fuchsia.com/update

Also trigger a reboot after update:

    $ ffx target update force-install
    fuchsia-pkg://fuchsia.com/update
    --reboot

Notes

  • Directly invoke the system updater to install the provided update,
    bypassing any update checks.

Interfaces using the 'fuchsia.update.installer' protocol to update the system. Requires an in the following format:

fuchsia-pkg://fuchsia.com/update

Takes an optional --reboot <true|false> to trigger a system reboot after update has been successfully applied.

wait

Wait until able to establish a remote control connection to the target.


Usage:  ffx target wait [-t <timeout>] [-d]

Options  
--help display usage information
-t, --timeout the timeout in seconds [default = 120]. A value of 0 implies no timeout.
-d, --down wait for target to go down
Errors  
1 Timeout while getting ssh address

test

Run test suite


Usage:  ffx test [subcommand...]

Options  
--help display usage information
Subcommands  
early-boot-profile Manage early boot profiles
list-cases List test suite cases
run Execute test suites on a target device

Notes

  • Run tests or inspect output from a previous test run.

early-boot-profile

Manage early boot profiles


Usage:  ffx test early-boot-profile --output-directory <output-directory>

Options  
--help display usage information
--output-directory output early boot profile to the specified directory. The produced output is in the format described in https://fuchsia.dev/fuchsia-src/reference/platform-spec/testing/test-output-format

list-cases

List test suite cases


Usage:  ffx test list-cases [--realm <realm>] test_url

Options  
--help display usage information
--realm the realm to enumerate the test in. This field is optional and takes the form: /path/to/realm:test_collection.

Notes

  • Lists the set of test cases available in a test suite

run

Execute test suites on a target device


Usage:  ffx test run [--test-file <test-file>] [-t <timeout>] [--test-filter <test-filter...>] [--realm <realm>] [--run-disabled] [--parallel <parallel>] [--max-severity-logs <max-severity-logs>] [--continue-on-timeout] [--stop-after-failures <stop-after-failures>] [--count <count>] [--experimental-parallel-execution <experimental-parallel-execution>] [--break-on-failure] [--filter-ansi] [--min-severity-logs <min-severity-logs...>] [--show-full-moniker-in-logs] [--output-directory <output-directory>] [--disable-output-directory] [test_args...]

Options  
--help display usage information
--test-file read test url and options from the specified file instead of from the command line. May not be used in conjunction with test_args, --count, --test-filter, --run-disabled, --parallel, --max-severity-logs This option is currently unstable and the format of the file is subject to change. Using this option requires setting the 'test.experimental_json_input' configuration to true. For current details, see test-list.json format at https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/lib/testing/test_list/
-t, --timeout test suite timeout in seconds.
--test-filter test case filter. This filter will match based on glob pattern. This option may be specified multiple times. Only test cases matching at least one pattern will be run. Negative filters may be specified by prepending '-' and will exclude matching test cases.
--realm the realm to run the test in. This field is optional and takes the form: /path/to/realm:test_collection. See https://fuchsia.dev/go/components/non-hermetic-tests
--run-disabled also execute test cases that have been disabled by the test author.
--parallel maximum number of test cases to run in parallel. Defaults to a value specified by the test runner.
--max-severity-logs when set, fails tests that emit logs with a higher severity. For example, if --max-severity-logs WARN is specified, fails any test that produces an ERROR level log.
--continue-on-timeout continue running unfinished suites if a suite times out. This option is only relevant when multiple suites are run.
--stop-after-failures stop running unfinished suites after the number of provided failures has occurred. This option is only relevant when multiple suites are run.
--count number of times to run the test suite. By default run the suite 1 time.
--experimental-parallel-execution enables experimental parallel test scheduler. The provided number specifies the max number of test suites to run in parallel. If the value provided is 0, a default value will be chosen by the server implementation.
--break-on-failure enable break_on_failure for supported test runners. Any test case failure causes the test execution to stop and wait for zxdb to attach to debug the failure. When the debugger exits, the process will be released and the suite will be continued. Note: test runners may or may not have the ability to halt a test suite after it has started executing. If there isn't a way to raise an exception for a debugger to catch, the test will run and exit as normal, and will not wait for any debugger interaction.
--filter-ansi filter ANSI escape sequences from output.
--min-severity-logs set the minimum log severity printed. This modifies the minimum log severity level emitted by components during the test execution. Specify using the format #, or just (in which case the severity will apply to all components under the test, including the test component itself) with level as one of FATAL
--show-full-moniker-in-logs show the full moniker in unstructured log output.
--output-directory output test results to the specified directory. The produced output is in the format described in https://fuchsia.dev/fuchsia-src/reference/platform-spec/testing/test-output-format
--disable-output-directory disable structured output to a directory. Note structured output is disabled by default, unless --output-directory is specified. This option supported an experiment which has been removed. It is now a no-op and will soon be removed.

Examples

Run a test suite:
    $ ffx test run fuchsia-pkg://fuchsia.com/my_test#meta/my_test.cm

Run a test suite in system realm:
    $ ffx test run --realm /core/testing:system-tests fuchsia-pkg://fuchsia.com/my_test#meta/my_test.cm

Run a test suite and pass arguments to the suite:
    $ ffx test run fuchsia-pkg://fuchsia.com/my_test#meta/my_test.cm -- arg1 arg2

Run test suites specified in a JSON file (currently unstable):
    $ ffx test run --test-file test-list.json

Given a suite that contains the test cases 'Foo.Test1', 'Foo.Test2',
'Bar.Test1', and 'Bar.Test2':

Run test cases that start with 'Foo.' ('Foo.Test1', 'Foo.Test2'):
    $ ffx test run  --test-filter 'Foo.*'

Run test cases that do not start with 'Foo.' ('Bar.Test1', 'Bar.Test2'):
    $ ffx test run  --test-filter '-Foo.*'

Run test cases that start with 'Foo.' and do not end with 'Test1' ('Foo.Test2'):
    $ ffx test run  --test-filter 'Foo.*' --test-filter '-*.Test1'

Notes

  • Runs test suites implementing the fuchsia.test.Suite protocol.

When multiple test suites are run, either through the --count option or through --test-file, the default behavior of ffx test is: If any test suite times out, halt execution and do not attempt to run any unstarted suites. If any test suite fails for any other reason, continue to run unstarted suites.

trace

Tracing is a tool that allows you to collect, aggregate, and visualize diagnostic tracing information from both userspace processes and the Zircon kernel on a Fuchsia device.


Usage:  ffx trace [subcommand...]

Options  
--help display usage information
Subcommands  
list-categories List the target's known trace categories.
list-category-groups List the builtin and custom category groups.
list-providers List the target's trace providers.
start Record a trace.
status Gets status of all running traces.
stop Stops an active running trace.
symbolize Symbolizes the provided ordinal

Examples


[Quick Start]:

    $ ffx trace start [--duration  ]

This will record a trace using the default categories, which are suitable for getting a high
level overview.

This will produce a file `trace.fxt` which can be uploaded to ui.perfetto.dev to be viewed.

Notes

  • For a full tutorial, visit https://fuchsia.dev/fuchsia-src/development/sdk/ffx/record-traces

list-categories

List the target's known trace categories.


Usage:  ffx trace list-categories

Options  
--help display usage information

list-category-groups

List the builtin and custom category groups.


Usage:  ffx trace list-category-groups

Options  
--help display usage information

list-providers

List the target's trace providers.


Usage:  ffx trace list-providers

Options  
--help display usage information

start

Record a trace.


Usage:  ffx trace start [--buffering-mode <buffering-mode>] [--buffer-size <buffer-size>] [--categories <categories>] [--duration <duration>] [--output <output>] [--background] [-v] [--trigger <trigger...>]

Options  
--help display usage information
--buffering-mode the buffering scheme to trace with. Defaults to "oneshot" oneshot: Writes to the tracing buffer until it is full, then ignores all additional trace events. circular: Writes to the tracing buffer until its is full, then new events will replace old events. streaming: Forwards tracing events to the trace manager as they arrive. Provides additional buffer space with the trade off of some overhead due to occasional ipcs to send the events to the trace manager during the trace.
--buffer-size size of per-provider trace buffer in MB. Defaults to 4.
--categories comma-separated list of categories to enable. Defaults to "#default". Run ffx config get trace.category_groups.default to see what categories are included in #default. A trailing "" may be used to indicate a prefix match. For example, "kernel" includes any category that starts with kernel. A name prefixed with # indicates a category group that will be expanded from ffx config within the plugin before being sent to trace manager. A category group can either be added to global config by editing data/config.json in the ffx trace plugin, or by using ffx config set to add/edit a user configured category group. Available category groups can be discovered by running ffx config get -s all trace.category_groups A category may be limited to a specific trace provider using a '/'. For example --categories "scenic.cm/FrameDropped" will only enable the "FrameDropped" category for the scenic.cm trace provider and no other providers. Categories and category groups may be mixed, for example, ffx trace start --categories #default,my_category Enables all the default categories as well as "my_category".
--duration duration of trace capture in seconds.
--output name of output trace file. Defaults to trace.fxt.
--background whether to run the trace in the background. Defaults to false, which means the trace will run in "interactive" mode.
-v, --verbose increase verbosity of output on trace stop. Defaults to false. This is ignored if duration is not set. Enabling this prints stats from trace providers including the number of records dropped, wrapped buffers count, % of durable buffer used and non durable bytes written.
--trigger a trigger consists of an alert leading to an action. An alert is written into the code being traced, and an action here is what to do when the alert has happened. The list of supported actions are: 'terminate'. The expected format is ":" ex: -trigger "my_alert:terminate" This can be used with a duration, but keep in mind that this introduces a race between whether the alert leads to an action, and when the trace stops from the duration being reached. Triggers can only be used in the background outside of interactive mode.

Examples

[Quick Start]:

    $ ffx trace start [--duration  ]

This will record a trace using the default categories, which are suitable for getting a high
level overview.

This will produce a file `trace.fxt` which can be uploaded to ui.perfetto.dev to be viewed.

[Trace Various Categories]:

    $ ffx trace start --categories '#default,flatland:*,temp'

This will record a trace with all the default categories enabled, 'temp' events enabled, and any
event that starts with 'flatland:'


[Capturing a Sporadic Occurrence]

    $ ffx trace start --buffer-size 64 --buffering-mode circular

This will run the trace with the largest available buffer size, overwriting the old events with new
ones. When the event occurs press  to stop the trace.


[Automatically Capturing a Sporadic Occurrence with a Trigger]

This approach allows you to automatically stop the trace when the event happens, but the traced
code must already be set up to write a trigger event.

    $ ffx trace start --buffer-size 64 --buffering-mode circular --trigger ':terminate'

Notes

  • For a full tutorial, visit https://fuchsia.dev/fuchsia-src/development/sdk/ffx/record-traces

status

Gets status of all running traces.


Usage:  ffx trace status

Options  
--help display usage information

stop

Stops an active running trace.


Usage:  ffx trace stop [--output <output>] [-v]

Options  
--help display usage information
--output name of output trace file. Relative or absolute paths are both supported. If this is not supplied (the default), then the default target will be used as the method to stop the trace.
-v, --verbose increase verbosity of command output. Defaults to false. Enabling this prints stats from trace providers including the number of records dropped, wrapped buffers count, % of durable buffer used and non durable bytes written.

symbolize

Symbolizes the provided ordinal


Usage:  ffx trace symbolize [--ordinal <ordinal>] [--fxt <fxt>] [--outfile <outfile>] [--ir-path <ir-path...>]

Options  
--help display usage information
--ordinal FIDL ordinal to be symbolized.
--fxt trace file to be symbolized.
--outfile symbolized file path. Defaults to overwriting the input file.
--ir-path additional IR files to use for symbolization. Path provided must be absolute or relative to $FUCHSIA_BUILD_DIR. If not provided, only the files listed in $FUCHSIA_BUILD_DIR/all_fidl_json.txt will be checked.

version

Print out ffx tool and daemon versions


Usage:  ffx version [-v]

Options  
--help display usage information
-v, --verbose if true, includes details about both ffx and the daemon

wlan

Developer tool for manipulating WLAN state.


Usage:  ffx wlan [subcommand...]

Options  
--help display usage information
Subcommands  
ap Controls WLAN AP policy API.
client Controls WLAN client policy API.
deprecated Controls to-be-deleted WLAN functionality.

ap

Controls WLAN AP policy API.


Usage:  ffx wlan ap [subcommand...]

Options  
--help display usage information
Subcommands  
listen Listens for policy AP updates
start Start an access point interface
stop Stop an access point interface
stop-all Stops all active APs

listen

Listens for policy AP updates


Usage:  ffx wlan ap listen

Options  
--help display usage information

Examples

To begin listening for AP events

    $ ffx wlan ap listen

start

Start an access point interface


Usage:  ffx wlan ap start [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Options  
--help display usage information
--ssid WLAN network name
--security-type one of None, WEP, WPA, WPA2, WPA3
--credential-type one of None, PSK, Password
--credential WLAN Password or PSK

Examples

To start an AP

    $ffx wlan ap start

        --ssid TestNetwork

        --security-type wpa2

        --credential-type password

        --credential "Your very secure password here"

Notes

  • Only one application at a time can interact with the WLAN policy layer.

stop

Stop an access point interface


Usage:  ffx wlan ap stop [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Options  
--help display usage information
--ssid WLAN network name
--security-type one of None, WEP, WPA, WPA2, WPA3
--credential-type one of None, PSK, Password
--credential WLAN Password or PSK

Examples

To stop an AP

    $ffx wlan ap stop

        --ssid TestNetwork

        --security-type wpa2

        --credential-type password

        --credential "Your very secure password here"

Notes

  • Only one application at a time can interact with the WLAN policy layer.

stop-all

Stops all active APs


Usage:  ffx wlan ap stop-all

Options  
--help display usage information

Examples

To stop all APs

    $ ffx wlan ap stop-all

Notes

  • Only one application at a time can interact with the WLAN policy layer.

client

Controls WLAN client policy API.


Usage:  ffx wlan client [subcommand...]

Options  
--help display usage information
Subcommands  
batch-config Allows WLAN credentials to be extracted and restored.
connect Connect to the specified WLAN network
list-saved-networks Lists all networks saved by the WLAN policy layer.
listen Listens for policy client connections updates
remove-network WLAN policy network storage container
save-network WLAN policy network storage container
scan Scan for nearby WLAN networks.
start Allows wlancfg to automate WLAN client operation
stop Stops automated WLAN policy control of client interfaces and

destroys all client interfaces.

batch-config

Allows WLAN credentials to be extracted and restored.


Usage:  ffx wlan client batch-config [subcommand...]

Options  
--help display usage information
Subcommands  
dump Extracts a structured representation of the device's saved WLAN credentials.
restore Injects a structure representation of WLAN credentials into a device.
dump

Extracts a structured representation of the device's saved WLAN credentials.


Usage:  ffx wlan client batch-config dump

Options  
--help display usage information

Examples

To dump WLAN client configs

    $ ffx wlan client batch-config dump

Notes

  • Only one application at a time can interact with the WLAN policy layer.
restore

Injects a structure representation of WLAN credentials into a device.


Usage:  ffx wlan client batch-config restore serialized_config

Options  
--help display usage information

Examples

To restore WLAN client configs

    $ ffx wlan client batch-config restore 

Notes

  • Only one application at a time can interact with the WLAN policy layer.

connect

Connect to the specified WLAN network


Usage:  ffx wlan client connect [--ssid <ssid>] [--security-type <security-type>]

Options  
--help display usage information
--ssid WLAN network name
--security-type one of None, WEP, WPA, WPA2, WPA3

Examples

To remove a WLAN network

    $ffx wlan client connect

        --ssid TestNetwork

        --security-type wpa2

Notes

  • Only one application at a time can interact with the WLAN policy layer.

list-saved-networks

Lists all networks saved by the WLAN policy layer.


Usage:  ffx wlan client list-saved-networks

Options  
--help display usage information

Examples

To list saved networks

    $ ffx wlan client list-saved-networks

Notes

  • Only one application at a time can interact with the WLAN policy
    layer.

listen

Listens for policy client connections updates


Usage:  ffx wlan client listen

Options  
--help display usage information

Examples

To begin listening for client events

    $ ffx wlan client listen

remove-network

WLAN policy network storage container


Usage:  ffx wlan client remove-network [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Options  
--help display usage information
--ssid WLAN network name
--security-type one of None, WEP, WPA, WPA2, WPA3
--credential-type one of None, PSK, Password
--credential WLAN Password or PSK

Examples

To remove a WLAN network

    $ffx wlan client remove-network

        --ssid TestNetwork

        --security-type wpa2

        --credential-type password

        --credential "Your very secure password here"

Notes

  • Only one application at a time can interact with the WLAN policy layer.

save-network

WLAN policy network storage container


Usage:  ffx wlan client save-network [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Options  
--help display usage information
--ssid WLAN network name
--security-type one of None, WEP, WPA, WPA2, WPA3
--credential-type one of None, PSK, Password
--credential WLAN Password or PSK

Examples

To save a WLAN network

    $ffx wlan client save-network

        --ssid TestNetwork

        --security-type wpa2

        --credential-type password

        --credential "Your very secure password here"

Notes

  • Only one application at a time can interact with the WLAN policy layer.

scan

Scan for nearby WLAN networks.


Usage:  ffx wlan client scan

Options  
--help display usage information

Examples

To scan

    $ ffx wlan client scan

Notes

  • Only one application at a time can interact with the WLAN policy
    layer.

start

Allows wlancfg to automate WLAN client operation


Usage:  ffx wlan client start

Options  
--help display usage information

Examples

To start client connections

    $ ffx wlan client start

Notes

  • Only one application at a time can interact with the WLAN policy
    layer.

stop

Stops automated WLAN policy control of client interfaces and destroys all client interfaces.


Usage:  ffx wlan client stop

Options  
--help display usage information

Examples

To stop client connections

    $ ffx wlan client stop

Notes

  • Only one application at a time can interact with the WLAN policy
    layer.

deprecated

Controls to-be-deleted WLAN functionality.


Usage:  ffx wlan deprecated [subcommand...]

Options  
--help display usage information
Subcommands  
suggest-mac Notifies WLAN policy of a MAC address that ought to be used when creating new AP interfaces

suggest-mac

Notifies WLAN policy of a MAC address that ought to be used when creating new AP interfaces


Usage:  ffx wlan deprecated suggest-mac mac

Options  
--help display usage information

Examples

To suggest an AP MAC address

    $ ffx wlan deprecated suggest-mac 01:02:03:04:05:06