.\" connman(8) manual page
.\"
.\" Copyright (C) 2012 Intel Corporation
.\"
.TH CONNMAN "8" "21 August 2012"
.SH NAME
ConnMan \- network management daemon
.SH SYNOPSIS
.B connmand [\-\-version] | [\-\-help]
.PP
.B connmand [\-\-config=<filename>] [\-\-debug=<file1>:<file2>:...] [\-\-device=<interface1>,<interface2>,...] [\-\-nodevice=<interface1>,<interface2>,..] [\-\-wifi=<driver1>,<driver2>,...] [\-\-plugin=<plugin1>,<plugin2>,...] [\-\-noplugin=<plugin1>,<plugin2>,...] [\-\-nodaemon] [\-\-nodnsproxy]
.SH DESCRIPTION
The \fIConnMan\fP provides a daemon for managing internet connections
within devices running the Linux operating system. The Connection Manager is
designed to be slim and to use as few resources as possible.
It is a fully modular system that can be extended, through plug-ins,
to support all kinds of wired or wireless technologies.
Also, configuration methods, like DHCP and domain name resolving,
are implemented using plug-ins.
The plug-in approach allows for easy adaption and modification for various
use cases.
.P
.SH OPTIONS
The following options are supported:
.TP
.I "\-\-version"
Print the ConnMan software version and exit.
.TP
.I "\-\-help"
Print ConnMan's available options and exit.
.TP
.I "\-\-config=<filename>"
Specify configuration file to set up various settings for ConnMan.  If not
specified, the default value of '<SYSCONFDIR>/connman/main.conf'
is used; where <SYSCONFDIR> is dependent on your distribution (usually
it's /etc).  See \fBconnman.conf\fP(5) for more information on configuration
file. The use of config file is optional and sane default values
are used if config file is missing.
.TP
.I "\-\-debug=<file1>:<file2>:..."
Sets how much information ConnMan sends to the log destination (usually
syslog's "daemon" facility).  If the file options are omitted, then debugging
information from all the source files are printed. If file options are
present, then only debug prints from that source file are printed.
Example: --debug=src/service.c:plugins/wifi.c
.TP
.I "\-\-device=<interface1>,<interface2>,..."
Only manage these network interfaces. By default all network interfaces
are managed.
.TP
.I "\-\-nodevice=<interface1>,<interface2>,..."
Never manage these network interfaces.
.TP
.I "\-\-plugin=<plugin1>,<plugin2>,..."
Load these plugins only. The option can be a pattern containing
"*" and "?" characters.
.TP
.I "\-\-noplugin=<plugin1>,<plugin2>,..."
Never load these plugins. The option can be a pattern containing
"*" and "?" characters.
.TP
.I "\-\-wifi=<driver1>,<driver2>,..."
Wifi driver that WiFi/Supplicant should use. If omitted, then the value
of "nl80211,wext" is used by default.
.TP
.I "\-\-nodaemon"
Do not daemonize. This is useful for debugging, and directs log output to
the controlling terminal in addition to syslog.
.TP
.I "\-\-nodnsproxy"
Do not act as a DNS proxy. By default ConnMan will direct all DNS traffic
to itself by setting nameserver to 127.0.0.1 in \fBresolv.conf\fP(5) file.
If this is not desired and you want that all programs call directly some
DNS server, then you can use the --nodnsproxy option.
If this option is used, then ConnMan is not able to cache the DNS queries
because the DNS traffic is not going through ConnMan and that can cause
some extra network traffic.
.SH SEE ALSO
.BR connman.conf (5).
