2019-11-05 22:12:22 +01:00
|
|
|
============
|
|
|
|
iwd.config
|
|
|
|
============
|
2019-10-03 22:36:12 +02:00
|
|
|
|
|
|
|
--------------------------------------
|
|
|
|
Configuration file for wireless daemon
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
:Author: Marcel Holtmann <marcel@holtmann.org>
|
2019-10-25 00:22:02 +02:00
|
|
|
:Author: Denis Kenzior <denkenz@gmail.com>
|
|
|
|
:Author: Andrew Zaborowski <andrew.zaborowski@intel.com>
|
|
|
|
:Author: Tim Kourt <tim.a.kourt@linux.intel.com>
|
2019-10-29 03:10:37 +01:00
|
|
|
:Author: James Prestwood <prestwoj@gmail.com>
|
2019-10-03 22:36:12 +02:00
|
|
|
:Copyright: 2013-2019 Intel Corporation
|
|
|
|
:Version: iwd
|
|
|
|
:Date: 22 September 2019
|
|
|
|
:Manual section: 5
|
|
|
|
:Manual group: Linux Connectivity
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
========
|
|
|
|
|
2019-10-20 19:33:53 +02:00
|
|
|
Configuration file **main.conf**
|
2019-10-03 22:36:12 +02:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
===========
|
|
|
|
|
2019-10-20 10:25:51 +02:00
|
|
|
The *main.conf* configuration file configures the system-wide settings for
|
|
|
|
**iwd**. This file lives in the configuration directory specified by the
|
|
|
|
environment variable *$CONFIGURATION_DIRECTORY*, which is normally provided
|
|
|
|
by **systemd**. In the absence of such an environment variable it defaults
|
|
|
|
to */etc/iwd*. If no *main.conf* is present, then default values are
|
|
|
|
chosen. The presence of *main.conf* is not required.
|
|
|
|
|
2019-10-20 19:33:53 +02:00
|
|
|
FILE FORMAT
|
|
|
|
===========
|
|
|
|
|
|
|
|
See *iwd.network* for details on the file format.
|
|
|
|
|
2019-10-20 10:25:51 +02:00
|
|
|
SETTINGS
|
|
|
|
========
|
|
|
|
|
|
|
|
The settings are split into several categories. Each category has a group
|
|
|
|
associated with it and described in separate tables below.
|
|
|
|
|
|
|
|
General Settings
|
|
|
|
----------------
|
|
|
|
|
|
|
|
The group ``[General]`` contains general settings.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
2019-10-25 20:18:15 +02:00
|
|
|
* - EnableNetworkConfiguration
|
2019-10-26 02:07:03 +02:00
|
|
|
- Values: true, **false**
|
2019-10-20 10:25:51 +02:00
|
|
|
|
|
|
|
Enable network configuration.
|
|
|
|
|
|
|
|
Setting this option to *true* enables **iwd** to configure the network
|
|
|
|
interfaces with the IP addresses. There are two types IP addressing
|
|
|
|
supported by **iwd**: static and dynamic. The static IP addresses are
|
|
|
|
configured through the network configuration files. If no static IP
|
2019-10-26 02:07:03 +02:00
|
|
|
configuration has been provided for a network, **iwd** will attempt to
|
2019-10-20 10:25:51 +02:00
|
|
|
obtain the dynamic addresses from the network through the built-in
|
|
|
|
DHCP client.
|
|
|
|
|
2021-05-28 02:47:37 +02:00
|
|
|
This also enables network configuration and the DHCP server when in AP
|
|
|
|
mode and the AP profile being activated does not override it.
|
2020-11-04 17:52:26 +01:00
|
|
|
|
2019-10-25 20:18:15 +02:00
|
|
|
The network configuration feature is disabled by default. See
|
|
|
|
``[Network]`` settings for additional settings related to network
|
|
|
|
configuration.
|
2019-10-03 22:36:12 +02:00
|
|
|
|
2020-11-04 17:52:26 +01:00
|
|
|
* - APRanges
|
|
|
|
- Values: <IP in prefix notation>
|
|
|
|
|
|
|
|
Sets the range of IP's used for DHCP server (AP mode). The IP should be
|
2020-12-02 01:57:44 +01:00
|
|
|
in prefix notation e.g. 192.168.1.0/24. AP's which are started in a
|
2020-11-04 17:52:26 +01:00
|
|
|
profile-less configuration will use this pool of IP's to set the AP's
|
|
|
|
interface address as well as default DHCP server options. Each AP will
|
|
|
|
get a new subnet from the range and clients will be addressed in that
|
|
|
|
subnet to avoid IP conflicts if multiple AP's are started.
|
|
|
|
|
2019-10-25 18:21:29 +02:00
|
|
|
* - UseDefaultInterface
|
|
|
|
- Values: true, **false**
|
|
|
|
|
|
|
|
Do not allow **iwd** to destroy / recreate wireless interfaces at
|
|
|
|
startup, including default interfaces. Enable this behavior if your
|
|
|
|
wireless card driver is buggy or does not allow such an operation, or
|
|
|
|
if you do not want **iwd** to manage netdevs for another reason. For
|
|
|
|
most users with an upstream driver it should be safe to omit/disable
|
|
|
|
this setting.
|
|
|
|
|
|
|
|
* - AddressRandomization
|
2020-03-18 19:54:20 +01:00
|
|
|
- Values: **disabled**, once, network
|
2019-10-25 18:21:29 +02:00
|
|
|
|
|
|
|
If ``AddressRandomization`` is set to ``disabled``, the default kernel
|
|
|
|
behavior is used. This means the kernel will assign a mac address from
|
|
|
|
the permanent mac address range provided by the hardware / driver. Thus
|
|
|
|
it is possible for networks to track the user by the mac address which
|
|
|
|
is permanent.
|
|
|
|
|
|
|
|
If ``AddressRandomization`` is set to ``once``, MAC address is
|
|
|
|
randomized a single time when **iwd** starts or when the hardware is
|
|
|
|
detected for the first time (due to hotplug, etc.)
|
|
|
|
|
2020-03-18 19:54:20 +01:00
|
|
|
If ``AddressRandomization`` is set to ``network``, the MAC address is
|
|
|
|
randomized on each connection to a network. The MAC is generated based on
|
|
|
|
the SSID and permanent address of the adapter. This allows the same MAC
|
|
|
|
to be generated each time connecting to a given SSID while still hiding
|
|
|
|
the permanent address.
|
|
|
|
|
2019-10-25 18:21:29 +02:00
|
|
|
* - AddressRandomizationRange
|
|
|
|
- Values: **full**, nic
|
|
|
|
|
|
|
|
One can control which part of the address is randomized using this
|
|
|
|
setting.
|
|
|
|
|
|
|
|
When using ``AddressRandomizationRange`` set to ``nic``, only the NIC
|
|
|
|
specific octets (last 3 octets) are randomized. Note that the
|
|
|
|
randomization range is limited to 00:00:01 to 00:00:FE. The permanent
|
|
|
|
mac address of the card is used for the initial 3 octets.
|
|
|
|
|
|
|
|
When using ``AddressRandomizationRange`` set to ``full``, all 6 octets
|
|
|
|
of the address are randomized. The locally-administered bit will be
|
|
|
|
set.
|
|
|
|
|
|
|
|
* - RoamThreshold
|
|
|
|
- Value: rssi dBm value, from -100 to 1, default: **-70**
|
|
|
|
|
2021-05-07 22:26:19 +02:00
|
|
|
This value can be used to control how aggressively **iwd** roams when
|
|
|
|
connected to a 2.4Ghz access point.
|
|
|
|
|
|
|
|
* - RoamThreshold5G
|
|
|
|
- Value: rssi dBm value, from -100 to 1, default: **-76**
|
|
|
|
|
|
|
|
This value can be used to control how aggressively **iwd** roams when
|
|
|
|
connected to a 5GHz access point.
|
2019-10-25 18:21:29 +02:00
|
|
|
|
2021-01-22 14:37:01 +01:00
|
|
|
* - RoamRetryInterval
|
|
|
|
- Value: unsigned int value in seconds (default: **60**)
|
|
|
|
|
|
|
|
Specifies how long **iwd** will wait before attempting to roam again if
|
|
|
|
the last roam attempt failed, or if the signal of the newly connected BSS
|
|
|
|
is still considered weak.
|
|
|
|
|
2019-10-25 18:21:29 +02:00
|
|
|
* - ManagementFrameProtection
|
|
|
|
- Values: 0, **1** or 2
|
|
|
|
|
|
|
|
When ``ManagementFrameProtection`` is ``0``, MFP is completely turned
|
|
|
|
off, even if the hardware is capable. This setting is not recommended.
|
|
|
|
|
|
|
|
When ``ManagementFrameProtection`` is ``1``, MFP is enabled if the local
|
|
|
|
hardware and remote AP both support it.
|
|
|
|
|
|
|
|
When ``ManagementFrameProtection`` is ``2``, MFP is always required.
|
|
|
|
This can prevent successful connection establishment on some hardware or
|
|
|
|
to some networks.
|
|
|
|
|
|
|
|
* - ControlPortOverNL80211
|
|
|
|
- Values: false, **true**
|
|
|
|
|
|
|
|
Enable/Disable sending EAPoL packets over NL80211. Enabled by default
|
|
|
|
if kernel support is available. Doing so sends all EAPoL traffic over
|
|
|
|
directly to the supplicant process (**iwd**) instead of putting these on
|
|
|
|
the Ethernet device. Since only the supplicant can usually make
|
|
|
|
sense / decrypt these packets, enabling this option can save some CPU
|
|
|
|
cycles on your system and avoids certain long-standing race conditions.
|
|
|
|
|
|
|
|
* - DisableANQP
|
|
|
|
- Values: false, **true**
|
|
|
|
|
|
|
|
Enable/disable ANQP queries. The way IWD does ANQP queries is dependent
|
|
|
|
on a recent kernel patch (available in Kernel 5.3). If your kernel does
|
|
|
|
not have this functionality this should be disabled (default). Some
|
|
|
|
drivers also do a terrible job of sending public action frames
|
|
|
|
(freezing or crashes) which is another reason why this has been turned
|
|
|
|
off by default. If you want to easily utilize Hotspot 2.0 networks,
|
|
|
|
then setting ``DisableANQP`` to ``false`` is recommended.
|
|
|
|
|
2019-10-25 20:18:15 +02:00
|
|
|
Network
|
2021-05-28 02:47:37 +02:00
|
|
|
-------
|
2019-10-25 20:18:15 +02:00
|
|
|
|
|
|
|
The group ``[Network]`` contains network configuration related settings.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
2020-12-18 16:38:35 +01:00
|
|
|
* - EnableIPv6
|
|
|
|
- Values: true, **false**
|
|
|
|
|
|
|
|
Sets the global default that tells **iwd** whether it should configure
|
|
|
|
IPv6 addresses and routes (either provided via static settings,
|
|
|
|
Router Advertisements or DHCPv6 protocol). This setting is disabled
|
|
|
|
by default. This setting can also be overriden on a per-network basis.
|
|
|
|
|
2019-10-25 20:18:15 +02:00
|
|
|
* - NameResolvingService
|
|
|
|
- Values: resolvconf, **systemd**
|
|
|
|
|
|
|
|
Configures a DNS resolution method used by the system.
|
|
|
|
|
|
|
|
This configuration option must be used in conjunction with
|
|
|
|
``EnableNetworkConfiguration`` and provides the choice of system
|
|
|
|
resolver integration.
|
|
|
|
|
|
|
|
If not specified, ``systemd`` is used as default.
|
|
|
|
|
2019-11-08 20:37:43 +01:00
|
|
|
* - RoutePriorityOffset
|
|
|
|
- Values: uint32 value (default: **300**)
|
|
|
|
|
|
|
|
Configures a route priority offset used by the system to prioritize
|
|
|
|
the default routes. The route with lower priority offset is preferred.
|
|
|
|
|
|
|
|
If not specified, ``300`` is used as default.
|
|
|
|
|
2021-02-11 21:54:17 +01:00
|
|
|
* - MulticastDNS
|
|
|
|
- Values: true, false, resolve
|
|
|
|
|
|
|
|
Configures multicast DNS on each interface. If not specified,
|
|
|
|
systemd-resolved's default value will remain untouched.
|
|
|
|
See ``man 5 systemd.network`` for details.
|
|
|
|
|
|
|
|
Only applies when ``NameResolvingService=systemd``.
|
|
|
|
|
2019-10-24 20:39:40 +02:00
|
|
|
Blacklist
|
|
|
|
---------
|
|
|
|
|
|
|
|
The group ``[Blacklist]`` contains settings related to blacklisting of BSSes.
|
2019-10-26 02:07:03 +02:00
|
|
|
If **iwd** determines that a connection to a BSS fails for a reason that
|
|
|
|
indicates the BSS is currently misbehaving or misconfigured (e.g. timeouts,
|
|
|
|
unexpected status/reason codes, etc), then **iwd** will blacklist this BSS
|
|
|
|
and avoid connecting to it for a period of time. These options let the user
|
|
|
|
control how long a misbehaved BSS spends on the blacklist.
|
2019-10-24 20:39:40 +02:00
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
|
|
|
* - InitialTimeout
|
|
|
|
- Values: uint64 value in seconds (default: **60**)
|
|
|
|
|
|
|
|
The initial time that a BSS spends on the blacklist.
|
|
|
|
* - Multiplier
|
|
|
|
- Values: unsigned int value in seconds (default: **30**)
|
|
|
|
|
|
|
|
If the BSS was blacklisted previously and another connection attempt
|
|
|
|
has failed after the initial timeout has expired, then the BSS blacklist
|
|
|
|
time will be extended by a multiple of *Multiplier* for each
|
|
|
|
unsuccessful attempt up to *MaxiumTimeout* time in seconds.
|
|
|
|
* - MaximumTimeout
|
|
|
|
- Values: uint64 value in seconds (default: **86400**)
|
|
|
|
|
|
|
|
Maximum time that a BSS is blacklisted.
|
|
|
|
|
2019-10-24 21:13:56 +02:00
|
|
|
Rank
|
|
|
|
----
|
|
|
|
|
|
|
|
The group ``[Rank]`` contains settings related to ranking of networks for
|
|
|
|
autoconnect purposes.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
|
|
|
* - BandModifier5Ghz
|
|
|
|
- Values: floating point value (default: **1.0**)
|
|
|
|
|
|
|
|
Increase or decrease the preference for 5GHz access points by increasing
|
|
|
|
or decreasing the value of this modifier. 5GHz networks are already
|
|
|
|
preferred due to their increase throughput / data rate. However, 5GHz
|
|
|
|
networks are highly RSSI sensitive, so it is still possible for IWD to
|
|
|
|
prefer 2.4Ghz APs in certain circumstances.
|
|
|
|
|
2019-10-24 22:10:06 +02:00
|
|
|
Scan
|
|
|
|
----
|
|
|
|
|
|
|
|
The group ``[Scan]`` contains settings related to scanning functionality.
|
|
|
|
No modification from defaults is normally required.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
|
|
|
* - DisablePeriodicScan
|
|
|
|
- Values: true, **false**
|
|
|
|
|
2019-10-26 02:07:03 +02:00
|
|
|
Disable periodic scan. Setting this option to 'true' will prevent
|
|
|
|
**iwd** from issuing the periodic scans for the available networks while
|
2019-10-24 22:10:06 +02:00
|
|
|
disconnected. The behavior of the user-initiated scans isn't affected.
|
|
|
|
The periodic scan is enabled by default.
|
2021-02-12 16:41:14 +01:00
|
|
|
|
2021-02-12 16:41:14 +01:00
|
|
|
* - InitialPeriodicScanInterval
|
|
|
|
- Values: unsigned int value in seconds (default: **10**)
|
|
|
|
|
|
|
|
The initial periodic scan interval upon disconnect.
|
|
|
|
|
2021-02-12 16:41:14 +01:00
|
|
|
* - MaximumPeriodicScanInterval
|
|
|
|
- Values: unsigned int value in seconds (default: **300**)
|
|
|
|
|
|
|
|
The maximum periodic scan interval.
|
|
|
|
|
2019-10-24 22:10:06 +02:00
|
|
|
* - DisableRoamingScan
|
2019-10-26 02:07:03 +02:00
|
|
|
- Values: true, **false**
|
2019-10-24 22:10:06 +02:00
|
|
|
|
2019-10-26 02:07:03 +02:00
|
|
|
Disable roaming scan. Setting this option to 'true' will prevent **iwd**
|
2019-10-24 22:10:06 +02:00
|
|
|
from trying to scan when roaming decisions are activated. This can
|
2019-10-26 02:07:03 +02:00
|
|
|
prevent **iwd** from roaming properly, but can be useful for networks
|
2019-10-24 22:10:06 +02:00
|
|
|
operating under extremely low rssi levels where roaming isn't possible.
|
|
|
|
|
2021-05-28 02:47:37 +02:00
|
|
|
IPv4
|
|
|
|
----
|
|
|
|
|
|
|
|
The group ``[IPv4]`` contains settings related to IPv4 network configuration.
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 20 80
|
|
|
|
:align: left
|
|
|
|
|
|
|
|
* - APAddressPool
|
|
|
|
- Values: comma-separated list of prefix-notation IP strings
|
|
|
|
|
|
|
|
Defines the space of IPs used for the Access Point-mode subnet addresses
|
|
|
|
and the DHCP server. Defaults to 192.168.0.0/16. The prefix length
|
|
|
|
decides the size of the pool from which an address is selected but the
|
|
|
|
actual subnet size (netmask) is based on the AP profile being activated
|
|
|
|
and defaults to 28 bits. The AP profile's ``[IPv4].Address`` setting
|
|
|
|
overrides the global value set here. Setting a too small address space
|
|
|
|
will limit the number of access points that can be running
|
|
|
|
simultaneously on different interfaces.
|
|
|
|
|
2019-10-03 22:36:12 +02:00
|
|
|
SEE ALSO
|
|
|
|
========
|
|
|
|
|
2019-10-20 19:33:53 +02:00
|
|
|
iwd(8), iwd.network(5)
|