1IWD.CONFIG(5)                 Linux Connectivity                 IWD.CONFIG(5)
2
3
4

NAME

6       iwd.config - Configuration file for wireless daemon
7

SYNOPSIS

9       Configuration file main.conf
10

DESCRIPTION

12       The  main.conf  configuration  file configures the system-wide settings
13       for iwd.  This file lives in the configuration directory  specified  by
14       the  environment  variable  $CONFIGURATION_DIRECTORY, which is normally
15       provided by systemd.  In the absence of such an environment variable it
16       defaults  to /etc/iwd.  If no main.conf is present, then default values
17       are chosen.  The presence of main.conf is not required.
18

FILE FORMAT

20       See iwd.network for details on the file format.
21

SETTINGS

23       The settings are split into several categories.  Each  category  has  a
24       group associated with it and described in separate tables below.
25
26   General Settings
27       The group [General] contains general settings.
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67              ┌───────────────────────────┬────────────────────────────┐
68              │EnableNetworkConfiguration │ Values: true, false        
69              │                           │                            │
70              │                           │ Enable  network configura‐ │
71              │                           │ tion.                      │
72              │                           │                            │
73              │                           │ Setting  this  option   to │
74              │                           │ true  enables  iwd to con‐ │
75              │                           │ figure the network  inter‐ │
76              │                           │ faces    with    the    IP │
77              │                           │ addresses.  There are  two │
78              │                           │ types  IP  addressing sup‐ │
79              │                           │ ported by iwd: static  and │
80              │                           │ dynamic.   The  static  IP │
81              │                           │ addresses  are  configured │
82              │                           │ through  the  network con‐ │
83              │                           │ figuration files.   If  no │
84              │                           │ static   IP  configuration │
85              │                           │ has been  provided  for  a │
86              │                           │ network,  iwd will attempt │
87              │                           │ to  obtain   the   dynamic │
88              │                           │ addresses from the network │
89              │                           │ through the built-in  DHCP │
90              │                           │ client.                    │
91              │                           │                            │
92              │                           │ This   also  enables  DHCP │
93              │                           │ server  when  in  AP  mode │
94              │                           │ when      either     [Gen‐ │
95              │                           │ eral].APRanges is  set  or │
96              │                           │ an  AP  profile  is  being │
97              │                           │ used.                      │
98              │                           │                            │
99              │                           │ The network  configuration │
100              │                           │ feature   is  disabled  by │
101              │                           │ default.   See   [Network] 
102              │                           │ settings   for  additional │
103              │                           │ settings related  to  net‐ │
104              │                           │ work configuration.        │
105              ├───────────────────────────┼────────────────────────────┤
106              │APRanges                   │ Values:   <IP   in  prefix │
107              │                           │ notation>                  │
108              │                           │                            │
109              │                           │ Sets  the  range  of  IP's │
110              │                           │ used  for  DHCP server (AP │
111              │                           │ mode). The IP should be in │
112              │                           │ prefix    notation    e.g. │
113              │                           │ 192.168.1.0/24. AP's which │
114              │                           │ are   started  in  a  pro‐ │
115              │                           │ file-less    configuration │
116              │                           │ will use this pool of IP's │
117              │                           │ to set the AP's  interface │
118              │                           │ address as well as default │
119              │                           │ DHCP server options.  Each │
120              │                           │ AP  will  get a new subnet │
121              │                           │ from the range and clients │
122              │                           │ will  be addressed in that │
123              │                           │ subnet to  avoid  IP  con‐ │
124              │                           │ flicts  if  multiple  AP's │
125              │                           │ are started.               │
126              └───────────────────────────┴────────────────────────────┘
127
128
129
130
131
132
133              │UseDefaultInterface        │ Values: true, false        
134              │                           │                            │
135              │                           │ Do  not   allow   iwd   to │
136              │                           │ destroy  /  recreate wire‐ │
137              │                           │ less     interfaces     at │
138              │                           │ startup, including default │
139              │                           │ interfaces.   Enable  this │
140              │                           │ behavior  if your wireless │
141              │                           │ card driver  is  buggy  or │
142              │                           │ does  not  allow  such  an │
143              │                           │ operation, or  if  you  do │
144              │                           │ not  want  iwd  to  manage │
145              │                           │ netdevs for  another  rea‐ │
146              │                           │ son.   For most users with │
147              │                           │ an  upstream   driver   it │
148              │                           │ should    be    safe    to │
149              │                           │ omit/disable this setting. │
150              ├───────────────────────────┼────────────────────────────┤
151              │AddressRandomization       │ Values:  disabled,   once, │
152              │                           │ network                    │
153              │                           │                            │
154              │                           │ If AddressRandomization is │
155              │                           │ set   to   disabled,   the │
156              │                           │ default kernel behavior is │
157              │                           │ used.  This means the ker‐ │
158              │                           │ nel   will  assign  a  mac │
159              │                           │ address from the permanent │
160              │                           │ mac address range provided │
161              │                           │ by the hardware /  driver. │
162              │                           │ Thus  it  is  possible for │
163              │                           │ networks to track the user │
164              │                           │ by  the  mac address which │
165              │                           │ is permanent.              │
166              │                           │                            │
167              │                           │ If AddressRandomization is │
168              │                           │ set  to  once, MAC address │
169              │                           │ is  randomized  a   single │
170              │                           │ time  when  iwd  starts or │
171              │                           │ when   the   hardware   is │
172              │                           │ detected   for  the  first │
173              │                           │ time  (due   to   hotplug, │
174              │                           │ etc.)                      │
175              │                           │                            │
176              │                           │ If AddressRandomization is │
177              │                           │ set to  network,  the  MAC │
178              │                           │ address  is  randomized on │
179              │                           │ each connection to a  net‐ │
180              │                           │ work. The MAC is generated │
181              │                           │ based on the SSID and per‐ │
182              │                           │ manent   address   of  the │
183              │                           │ adapter. This  allows  the │
184              │                           │ same  MAC  to be generated │
185              │                           │ each time connecting to  a │
186              │                           │ given   SSID  while  still │
187              │                           │ hiding    the    permanent │
188              │                           │ address.                   │
189              └───────────────────────────┴────────────────────────────┘
190
191
192
193
194
195
196
197
198
199              │AddressRandomizationRange  │ Values: full, nic          │
200              │                           │                            │
201              │                           │ One can control which part │
202              │                           │ of the address is  random‐ │
203              │                           │ ized using this setting.   │
204              │                           │                            │
205              │                           │ When  using AddressRandom‐ 
206              │                           │ izationRange set  to  nic, │
207              │                           │ only   the   NIC  specific │
208              │                           │ octets (last 3 octets) are │
209              │                           │ randomized.  Note that the │
210              │                           │ randomization   range   is │
211              │                           │ limited   to  00:00:01  to │
212              │                           │ 00:00:FE.   The  permanent │
213              │                           │ mac address of the card is │
214              │                           │ used  for  the  initial  3 │
215              │                           │ octets.                    │
216              │                           │                            │
217              │                           │ When  using AddressRandom‐ 
218              │                           │ izationRange set to  full, │
219              │                           │ all   6   octets   of  the │
220              │                           │ address  are   randomized. │
221              │                           │ The   locally-administered │
222              │                           │ bit will be set.           │
223              ├───────────────────────────┼────────────────────────────┤
224              │RoamThreshold              │ Value:  rssi  dBm   value, │
225              │                           │ from  -100  to 1, default: │
226              │                           │ -70                        
227              │                           │                            │
228              │                           │ This can be used  to  con‐ │
229              │                           │ trol  how aggressively iwd 
230              │                           │ roams.                     │
231              ├───────────────────────────┼────────────────────────────┤
232              │RoamRetryInterval          │ Value: unsigned int  value │
233              │                           │ in seconds (default: 60)   │
234              │                           │                            │
235              │                           │ Specifies   how  long  iwd 
236              │                           │ will wait before  attempt‐ │
237              │                           │ ing  to  roam again if the │
238              │                           │ last roam attempt  failed, │
239              │                           │ or  if  the  signal of the │
240              │                           │ newly  connected  BSS   is │
241              │                           │ still considered weak.     │
242              └───────────────────────────┴────────────────────────────┘
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265              │ManagementFrameProtection  │ Values: 0, 1 or 2          │
266              │                           │                            │
267              │                           │ When   ManagementFramePro‐ 
268              │                           │ tection is 0, MFP is  com‐ │
269              │                           │ pletely  turned  off, even │
270              │                           │ if the hardware  is  capa‐ │
271              │                           │ ble.   This setting is not │
272              │                           │ recommended.               │
273              │                           │                            │
274              │                           │ When   ManagementFramePro‐ 
275              │                           │ tection   is   1,  MFP  is │
276              │                           │ enabled if the local hard‐ │
277              │                           │ ware  and  remote  AP both │
278              │                           │ support it.                │
279              │                           │                            │
280              │                           │ When   ManagementFramePro‐ 
281              │                           │ tection   is   2,  MFP  is │
282              │                           │ always required.  This can │
283              │                           │ prevent successful connec‐ │
284              │                           │ tion establishment on some │
285              │                           │ hardware  or  to some net‐ │
286              │                           │ works.                     │
287              ├───────────────────────────┼────────────────────────────┤
288              │ControlPortOverNL80211     │ Values: false, true        
289              │                           │                            │
290              │                           │ Enable/Disable     sending │
291              │                           │ EAPoL     packets     over │
292              │                           │ NL80211.     Enabled    by │
293              │                           │ default  if kernel support │
294              │                           │ is  available.   Doing  so │
295              │                           │ sends  all  EAPoL  traffic │
296              │                           │ over directly to the  sup‐ │
297              │                           │ plicant    process   (iwd) │
298              │                           │ instead of  putting  these │
299              │                           │ on  the  Ethernet  device. │
300              │                           │ Since only the  supplicant │
301              │                           │ can  usually  make sense / │
302              │                           │ decrypt   these   packets, │
303              │                           │ enabling  this  option can │
304              │                           │ save some  CPU  cycles  on │
305              │                           │ your   system  and  avoids │
306              │                           │ certain long-standing race │
307              │                           │ conditions.                │
308              └───────────────────────────┴────────────────────────────┘
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331              │DisableANQP                │ Values: false, true        
332              │                           │                            │
333              │                           │ Enable/disable        ANQP │
334              │                           │ queries. The way IWD  does │
335              │                           │ ANQP  queries is dependent │
336              │                           │ on a recent  kernel  patch │
337              │                           │ (available in Kernel 5.3). │
338              │                           │ If your  kernel  does  not │
339              │                           │ have   this  functionality │
340              │                           │ this  should  be  disabled │
341              │                           │ (default).   Some  drivers │
342              │                           │ also do a terrible job  of │
343              │                           │ sending    public   action │
344              │                           │ frames    (freezing     or │
345              │                           │ crashes)  which is another │
346              │                           │ reason why this  has  been │
347              │                           │ turned off by default.  If │
348              │                           │ you want to easily utilize │
349              │                           │ Hotspot 2.0 networks, then │
350              │                           │ setting   DisableANQP   to │
351              │                           │ false is recommended.      │
352              └───────────────────────────┴────────────────────────────┘
353
354   Network
355       The group [Network] contains network configuration related settings.
356
357                 ┌─────────────────────┬────────────────────────────┐
358                 │EnableIPv6           │ Values: true, false        
359                 │                     │                            │
360                 │                     │ Sets  the  global  default │
361                 │                     │ that tells iwd whether  it │
362                 │                     │ should    configure   IPv6 │
363                 │                     │ addresses    and    routes │
364                 │                     │ (either    provided    via │
365                 │                     │ static  settings,   Router │
366                 │                     │ Advertisements  or  DHCPv6 │
367                 │                     │ protocol).   This  setting │
368                 │                     │ is  disabled  by  default. │
369                 │                     │ This setting can  also  be │
370                 │                     │ overriden on a per-network │
371                 │                     │ basis.                     │
372                 ├─────────────────────┼────────────────────────────┤
373                 │NameResolvingService │ Values:  resolvconf,  sys‐ 
374                 │                     │ temd                       
375                 │                     │                            │
376                 │                     │ Configures  a  DNS resolu‐ │
377                 │                     │ tion method  used  by  the │
378                 │                     │ system.                    │
379                 │                     │                            │
380                 │                     │ This  configuration option │
381                 │                     │ must be used  in  conjunc‐ │
382                 │                     │ tion  with  EnableNetwork‐ 
383                 │                     │ Configuration and provides │
384                 │                     │ the   choice   of   system │
385                 │                     │ resolver integration.      │
386                 │                     │                            │
387                 │                     │ If not specified,  systemd 
388                 │                     │ is used as default.        │
389                 └─────────────────────┴────────────────────────────┘
390
391
392
393
394
395
396
397                 │RoutePriorityOffset  │ Values:    uint32    value │
398                 │                     │ (default: 300)             │
399                 │                     │                            │
400                 │                     │ Configures a route  prior‐ │
401                 │                     │ ity  offset  used  by  the │
402                 │                     │ system to  prioritize  the │
403                 │                     │ default  routes. The route │
404                 │                     │ with lower priority offset │
405                 │                     │ is preferred.              │
406                 │                     │                            │
407                 │                     │ If  not  specified, 300 is │
408                 │                     │ used as default.           │
409                 ├─────────────────────┼────────────────────────────┤
410                 │MulticastDNS         │ Values:    true,    false, │
411                 │                     │ resolve                    │
412                 │                     │                            │
413                 │                     │ Configures  multicast  DNS │
414                 │                     │ on each interface. If  not │
415                 │                     │ specified,            sys‐ │
416                 │                     │ temd-resolved's    default │
417                 │                     │ value      will     remain │
418                 │                     │ untouched.  See man 5 sys‐ 
419                 │                     │ temd.network for details.  │
420                 │                     │                            │
421                 │                     │ Only  applies when NameRe‐ 
422                 │                     │ solvingService=systemd.    │
423                 └─────────────────────┴────────────────────────────┘
424
425   Blacklist
426       The group [Blacklist] contains  settings  related  to  blacklisting  of
427       BSSes.  If iwd determines that a connection to a BSS fails for a reason
428       that indicates the BSS is currently misbehaving or misconfigured  (e.g.
429       timeouts, unexpected status/reason codes, etc), then iwd will blacklist
430       this BSS and avoid connecting to  it  for  a  period  of  time.   These
431       options  let  the  user control how long a misbehaved BSS spends on the
432       blacklist.
433
434                    ┌───────────────┬────────────────────────────┐
435                    │InitialTimeout │ Values:  uint64  value  in │
436                    │               │ seconds (default: 60)      │
437                    │               │                            │
438                    │               │ The  initial  time  that a │
439                    │               │ BSS spends on  the  black‐ │
440                    │               │ list.                      │
441                    ├───────────────┼────────────────────────────┤
442                    │Multiplier     │ Values: unsigned int value │
443                    │               │ in seconds (default: 30)   │
444                    │               │                            │
445                    │               │ If the BSS was blacklisted │
446                    │               │ previously   and   another │
447                    │               │ connection   attempt   has │
448                    │               │ failed  after  the initial │
449                    │               │ timeout has expired,  then │
450                    │               │ the   BSS  blacklist  time │
451                    │               │ will be extended by a mul‐ │
452                    │               │ tiple  of  Multiplier  for │
453                    │               │ each unsuccessful  attempt │
454                    │               │ up  to  MaxiumTimeout time │
455                    │               │ in seconds.                │
456                    └───────────────┴────────────────────────────┘
457
458
459
460
461
462
463                    │MaximumTimeout │ Values:  uint64  value  in │
464                    │               │ seconds (default: 86400)   │
465                    │               │                            │
466                    │               │ Maximum time that a BSS is │
467                    │               │ blacklisted.               │
468                    └───────────────┴────────────────────────────┘
469
470   Rank
471       The group [Rank] contains settings related to ranking of  networks  for
472       autoconnect purposes.
473
474                   ┌─────────────────┬────────────────────────────┐
475                   │BandModifier5Ghz │ Values:   floating   point │
476                   │                 │ value (default: 1.0)       │
477                   │                 │                            │
478                   │                 │ Increase or  decrease  the │
479                   │                 │ preference for 5GHz access │
480                   │                 │ points  by  increasing  or │
481                   │                 │ decreasing  the  value  of │
482                   │                 │ this modifier.  5GHz  net‐ │
483                   │                 │ works   are  already  pre‐ │
484                   │                 │ ferred   due   to    their │
485                   │                 │ increase throughput / data │
486                   │                 │ rate.  However, 5GHz  net‐ │
487                   │                 │ works are highly RSSI sen‐ │
488                   │                 │ sitive,  so  it  is  still │
489                   │                 │ possible for IWD to prefer │
490                   │                 │ 2.4Ghz APs in certain cir‐ │
491                   │                 │ cumstances.                │
492                   └─────────────────┴────────────────────────────┘
493
494   Scan
495       The  group  [Scan] contains settings related to scanning functionality.
496       No modification from defaults is normally required.
497
498              ┌──────────────────────────┬────────────────────────────┐
499              │DisablePeriodicScan       │ Values: true, false        
500              │                          │                            │
501              │                          │ Disable   periodic   scan. │
502              │                          │ Setting   this  option  to │
503              │                          │ 'true'  will  prevent  iwd 
504              │                          │ from  issuing the periodic │
505              │                          │ scans  for  the  available │
506              │                          │ networks   while   discon‐ │
507              │                          │ nected.  The  behavior  of │
508              │                          │ the  user-initiated  scans │
509              │                          │ isn't affected.  The peri‐ │
510              │                          │ odic  scan  is  enabled by │
511              │                          │ default.                   │
512              ├──────────────────────────┼────────────────────────────┤
513              │InitialPeriodicScanInter‐ │ Values: unsigned int value │
514              │val                       │ in seconds (default: 10)   │
515              │                          │                            │
516              │                          │ The initial periodic  scan │
517              │                          │ interval upon disconnect.  │
518              ├──────────────────────────┼────────────────────────────┤
519              │MaximumPeriodicScanInter‐ │ Values: unsigned int value │
520              │val                       │ in seconds (default: 300)  │
521              │                          │                            │
522              │                          │ The  maximum periodic scan │
523              │                          │ interval.                  │
524              └──────────────────────────┴────────────────────────────┘
525
526
527
528
529              │DisableRoamingScan        │ Values: true, false        
530              │                          │                            │
531              │                          │ Disable roaming scan. Set‐ │
532              │                          │ ting this option to 'true' │
533              │                          │ will prevent iwd from try‐ │
534              │                          │ ing  to  scan when roaming │
535              │                          │ decisions  are  activated. │
536              │                          │ This  can prevent iwd from │
537              │                          │ roaming properly, but  can │
538              │                          │ be   useful  for  networks │
539              │                          │ operating under  extremely │
540              │                          │ low   rssi   levels  where │
541              │                          │ roaming isn't possible.    │
542              └──────────────────────────┴────────────────────────────┘
543

SEE ALSO

545       iwd(8), iwd.network(5)
546

AUTHOR

548       Marcel     Holtmann      <marcel@holtmann.org>,      Denis      Kenzior
549       <denkenz@gmail.com>,  Andrew  Zaborowski <andrew.zaborowski@intel.com>,
550       Tim  Kourt  <tim.a.kourt@linux.intel.com>,  James   Prestwood   <prest‐
551       woj@gmail.com>
552
554       2013-2019 Intel Corporation
555
556
557
558
559iwd                            22 September 2019                 IWD.CONFIG(5)
Impressum