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  ad‐ │
77              │                           │ dresses.   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  ad‐ │
88              │                           │ dresses  from  the network │
89              │                           │ through the built-in  DHCP │
90              │                           │ client.                    │
91              │                           │                            │
92              │                           │ This  also enables network │
93              │                           │ configuration and the DHCP │
94              │                           │ server when in AP mode and │
95              │                           │ the AP profile being acti‐ │
96              │                           │ vated  does  not  override │
97              │                           │ it.                        │
98              │                           │                            │
99              │                           │ The network  configuration │
100              │                           │ feature is disabled by de‐ │
101              │                           │ fault.  See [Network] set‐ │
102              │                           │ tings  for additional set‐ │
103              │                           │ tings related  to  network │
104              │                           │ configuration.             │
105              ├───────────────────────────┼────────────────────────────┤
106              │APRanges                   │ Values:  <IP in prefix no‐ │
107              │                           │ tation>                    │
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  de‐ │
136              │                           │ stroy  / recreate wireless │
137              │                           │ interfaces at startup, in‐ │
138              │                           │ cluding   default   inter‐ │
139              │                           │ faces.  Enable this behav‐ │
140              │                           │ ior  if your wireless card │
141              │                           │ driver is  buggy  or  does │
142              │                           │ not  allow  such an opera‐ │
143              │                           │ tion, or  if  you  do  not │
144              │                           │ want iwd to manage netdevs │
145              │                           │ for another  reason.   For │
146              │                           │ most  users  with  an  up‐ │
147              │                           │ stream driver it should be │
148              │                           │ safe  to omit/disable this │
149              │                           │ setting.                   │
150              ├───────────────────────────┼────────────────────────────┤
151              │AddressRandomization       │ Values:  disabled,   once, │
152              │                           │ network                    │
153              │                           │                            │
154              │                           │ If AddressRandomization is │
155              │                           │ set to disabled,  the  de‐ │
156              │                           │ fault  kernel  behavior is │
157              │                           │ used.  This means the ker‐ │
158              │                           │ nel  will assign a mac ad‐ │
159              │                           │ dress 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  de‐ │
172              │                           │ tected  for the first time │
173              │                           │ (due to hotplug, etc.)     │
174              │                           │                            │
175              │                           │ If AddressRandomization is │
176              │                           │ set  to  network,  the MAC │
177              │                           │ address is  randomized  on │
178              │                           │ each  connection to a net‐ │
179              │                           │ work. The MAC is generated │
180              │                           │ based on the SSID and per‐ │
181              │                           │ manent  address   of   the │
182              │                           │ adapter.  This  allows the │
183              │                           │ same MAC to  be  generated │
184              │                           │ each  time connecting to a │
185              │                           │ given  SSID  while   still │
186              │                           │ hiding  the  permanent ad‐ │
187              │                           │ dress.                     │
188              └───────────────────────────┴────────────────────────────┘
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  ad‐ │
220              │                           │ dress are randomized.  The │
221              │                           │ locally-administered   bit │
222              │                           │ will be set.               │
223              ├───────────────────────────┼────────────────────────────┤
224              │RoamThreshold              │ Value:   rssi  dBm  value, │
225              │                           │ from -100 to  1,  default: │
226              │                           │ -70                        
227              │                           │                            │
228              │                           │ This  value can be used to │
229              │                           │ control  how  aggressively │
230              │                           │ iwd  roams  when connected │
231              │                           │ to a 2.4Ghz access point.  │
232              ├───────────────────────────┼────────────────────────────┤
233              │RoamThreshold5G            │ Value:  rssi  dBm   value, │
234              │                           │ from  -100  to 1, default: │
235              │                           │ -76                        
236              │                           │                            │
237              │                           │ This value can be used  to │
238              │                           │ control  how  aggressively │
239              │                           │ iwd roams  when  connected │
240              │                           │ to a 5GHz access point.    │
241              ├───────────────────────────┼────────────────────────────┤
242              │RoamRetryInterval          │ Value:  unsigned int value │
243              │                           │ in seconds (default: 60)   │
244              │                           │                            │
245              │                           │ Specifies  how  long   iwd 
246              │                           │ will  wait before attempt‐ │
247              │                           │ ing to roam again  if  the │
248              │                           │ last  roam attempt failed, │
249              │                           │ or if the  signal  of  the │
250              │                           │ newly   connected  BSS  is │
251              │                           │ still considered weak.     │
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  en‐ │
276              │                           │ abled  if  the local hard‐ │
277              │                           │ ware and  remote  AP  both │
278              │                           │ support it.                │
279              │                           │                            │
280              │                           │ When   ManagementFramePro‐ 
281              │                           │ tection is 2, MFP  is  al‐ │
282              │                           │ ways  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 de‐ │
293              │                           │ fault if kernel support is │
294              │                           │ available.  Doing so sends │
295              │                           │ all EAPoL traffic over di‐ │
296              │                           │ rectly  to  the supplicant │
297              │                           │ process (iwd)  instead  of │
298              │                           │ putting  these on the Eth‐ │
299              │                           │ ernet device.  Since  only │
300              │                           │ the supplicant can usually │
301              │                           │ make sense / decrypt these │
302              │                           │ packets, enabling this op‐ │
303              │                           │ tion can save some CPU cy‐ │
304              │                           │ cles  on  your  system and │
305              │                           │ avoids certain long-stand‐ │
306              │                           │ ing race conditions.       │
307              ├───────────────────────────┼────────────────────────────┤
308              │DisableANQP                │ Values: false, true        
309              │                           │                            │
310              │                           │ Enable/disable        ANQP │
311              │                           │ queries. The way IWD  does │
312              │                           │ ANQP  queries is dependent │
313              │                           │ on a recent  kernel  patch │
314              │                           │ (available in Kernel 5.3). │
315              │                           │ If your  kernel  does  not │
316              │                           │ have   this  functionality │
317              │                           │ this  should  be  disabled │
318              │                           │ (default).   Some  drivers │
319              │                           │ also do a terrible job  of │
320              │                           │ sending    public   action │
321              │                           │ frames    (freezing     or │
322              │                           │ crashes)  which is another │
323              │                           │ reason why this  has  been │
324              │                           │ turned off by default.  If │
325              │                           │ you want to easily utilize │
326              │                           │ Hotspot 2.0 networks, then │
327              │                           │ setting   DisableANQP   to │
328              │                           │ false is recommended.      │
329              └───────────────────────────┴────────────────────────────┘
330
331              │DisableOCV                 │ Value: false, true         │
332              │                           │                            │
333              │                           │ Disable  Operating Channel │
334              │                           │ Validation.  Support   for │
335              │                           │ this  is not advertised by │
336              │                           │ the  kernel  so  if   ker‐ │
337              │                           │ nels/drivers  exist  which │
338              │                           │ don't support OCV  it  can │
339              │                           │ be disabled here.          │
340              └───────────────────────────┴────────────────────────────┘
341
342   Network
343       The group [Network] contains network configuration related settings.
344
345                 ┌─────────────────────┬────────────────────────────┐
346                 │EnableIPv6           │ Values: true, false        
347                 │                     │                            │
348                 │                     │ Sets  the  global  default │
349                 │                     │ that tells iwd whether  it │
350                 │                     │ should  configure IPv6 ad‐ │
351                 │                     │ dresses and routes (either │
352                 │                     │ provided  via  static set‐ │
353                 │                     │ tings,  Router  Advertise‐ │
354                 │                     │ ments or DHCPv6 protocol). │
355                 │                     │ This setting  is  disabled │
356                 │                     │ by  default.  This setting │
357                 │                     │ can also be overriden on a │
358                 │                     │ per-network basis.         │
359                 ├─────────────────────┼────────────────────────────┤
360                 │NameResolvingService │ Values:  resolvconf,  sys‐ 
361                 │                     │ temd                       
362                 │                     │                            │
363                 │                     │ Configures a  DNS  resolu‐ │
364                 │                     │ tion  method  used  by the │
365                 │                     │ system.                    │
366                 │                     │                            │
367                 │                     │ This configuration  option │
368                 │                     │ must  be  used in conjunc‐ │
369                 │                     │ tion  with  EnableNetwork‐ 
370                 │                     │ Configuration and provides │
371                 │                     │ the choice of  system  re‐ │
372                 │                     │ solver integration.        │
373                 │                     │                            │
374                 │                     │ If  not specified, systemd 
375                 │                     │ is used as default.        │
376                 ├─────────────────────┼────────────────────────────┤
377                 │RoutePriorityOffset  │ Values: uint32 value  (de‐ │
378                 │                     │ fault: 300)                │
379                 │                     │                            │
380                 │                     │ Configures  a route prior‐ │
381                 │                     │ ity  offset  used  by  the │
382                 │                     │ system  to  prioritize the │
383                 │                     │ default routes. The  route │
384                 │                     │ with lower priority offset │
385                 │                     │ is preferred.              │
386                 │                     │                            │
387                 │                     │ If not specified,  300  is │
388                 │                     │ used as default.           │
389                 └─────────────────────┴────────────────────────────┘
390
391
392
393
394
395
396
397                 │MulticastDNS         │ Values:  true,  false, re‐ │
398                 │                     │ solve                      │
399                 │                     │                            │
400                 │                     │ Configures  multicast  DNS │
401                 │                     │ on  each interface. If not │
402                 │                     │ specified,     systemd-re‐ │
403                 │                     │ solved's   default   value │
404                 │                     │ will   remain   untouched. │
405                 │                     │ See  man 5 systemd.network 
406                 │                     │ for details.               │
407                 │                     │                            │
408                 │                     │ Only applies when  NameRe‐ 
409                 │                     │ solvingService=systemd.    │
410                 └─────────────────────┴────────────────────────────┘
411
412   Blacklist
413       The  group  [Blacklist]  contains  settings  related to blacklisting of
414       BSSes.  If iwd determines that a connection to a BSS fails for a reason
415       that  indicates the BSS is currently misbehaving or misconfigured (e.g.
416       timeouts, unexpected status/reason codes, etc), then iwd will blacklist
417       this  BSS  and  avoid connecting to it for a period of time.  These op‐
418       tions let the user control how long a  misbehaved  BSS  spends  on  the
419       blacklist.
420
421                    ┌───────────────┬────────────────────────────┐
422                    │InitialTimeout │ Values:  uint64  value  in │
423                    │               │ seconds (default: 60)      │
424                    │               │                            │
425                    │               │ The initial  time  that  a │
426                    │               │ BSS  spends  on the black‐ │
427                    │               │ list.                      │
428                    ├───────────────┼────────────────────────────┤
429                    │Multiplier     │ Values: unsigned int value │
430                    │               │ in seconds (default: 30)   │
431                    │               │                            │
432                    │               │ If the BSS was blacklisted │
433                    │               │ previously   and   another │
434                    │               │ connection   attempt   has │
435                    │               │ failed after  the  initial │
436                    │               │ timeout  has expired, then │
437                    │               │ the  BSS  blacklist   time │
438                    │               │ will be extended by a mul‐ │
439                    │               │ tiple  of  Multiplier  for │
440                    │               │ each  unsuccessful attempt │
441                    │               │ up to  MaxiumTimeout  time │
442                    │               │ in seconds.                │
443                    ├───────────────┼────────────────────────────┤
444                    │MaximumTimeout │ Values:  uint64  value  in │
445                    │               │ seconds (default: 86400)   │
446                    │               │                            │
447                    │               │ Maximum time that a BSS is │
448                    │               │ blacklisted.               │
449                    └───────────────┴────────────────────────────┘
450
451   Rank
452       The  group  [Rank] contains settings related to ranking of networks for
453       autoconnect purposes.
454
455
456
457
458
459
460
461
462
463                   ┌─────────────────┬────────────────────────────┐
464                   │BandModifier5Ghz │ Values:   floating   point │
465                   │                 │ value (default: 1.0)       │
466                   │                 │                            │
467                   │                 │ Increase  or  decrease the │
468                   │                 │ preference for 5GHz access │
469                   │                 │ points  by  increasing  or │
470                   │                 │ decreasing  the  value  of │
471                   │                 │ this  modifier.  5GHz net‐ │
472                   │                 │ works  are  already   pre‐ │
473                   │                 │ ferred  due  to  their in‐ │
474                   │                 │ crease throughput  /  data │
475                   │                 │ rate.   However, 5GHz net‐ │
476                   │                 │ works are highly RSSI sen‐ │
477                   │                 │ sitive,  so  it  is  still │
478                   │                 │ possible for IWD to prefer │
479                   │                 │ 2.4Ghz APs in certain cir‐ │
480                   │                 │ cumstances.                │
481                   └─────────────────┴────────────────────────────┘
482
483   Scan
484       The group [Scan] contains settings related to  scanning  functionality.
485       No modification from defaults is normally required.
486
487              ┌──────────────────────────┬────────────────────────────┐
488              │DisablePeriodicScan       │ Values: true, false        
489              │                          │                            │
490              │                          │ Disable   periodic   scan. │
491              │                          │ Setting  this  option   to │
492              │                          │ 'true'  will  prevent  iwd 
493              │                          │ from issuing the  periodic │
494              │                          │ scans  for  the  available │
495              │                          │ networks   while   discon‐ │
496              │                          │ nected.   The  behavior of │
497              │                          │ the  user-initiated  scans │
498              │                          │ isn't affected.  The peri‐ │
499              │                          │ odic scan  is  enabled  by │
500              │                          │ default.                   │
501              ├──────────────────────────┼────────────────────────────┤
502              │InitialPeriodicScanInter‐ │ Values: unsigned int value │
503              │val                       │ in seconds (default: 10)   │
504              │                          │                            │
505              │                          │ The  initial periodic scan │
506              │                          │ interval upon disconnect.  │
507              ├──────────────────────────┼────────────────────────────┤
508              │MaximumPeriodicScanInter‐ │ Values: unsigned int value │
509              │val                       │ in seconds (default: 300)  │
510              │                          │                            │
511              │                          │ The maximum periodic  scan │
512              │                          │ interval.                  │
513              ├──────────────────────────┼────────────────────────────┤
514              │DisableRoamingScan        │ Values: true, false        
515              │                          │                            │
516              │                          │ Disable roaming scan. Set‐ │
517              │                          │ ting this option to 'true' │
518              │                          │ will prevent iwd from try‐ │
519              │                          │ ing to scan  when  roaming │
520              │                          │ decisions  are  activated. │
521              │                          │ This can prevent iwd  from │
522              │                          │ roaming  properly, but can │
523              │                          │ be useful for networks op‐ │
524              │                          │ erating   under  extremely │
525              │                          │ low  rssi   levels   where │
526              │                          │ roaming isn't possible.    │
527              └──────────────────────────┴────────────────────────────┘
528
529   IPv4
530       The  group  [IPv4] contains settings related to IPv4 network configura‐
531       tion.
532
533                    ┌──────────────┬────────────────────────────┐
534                    │APAddressPool │ Values:    comma-separated │
535                    │              │ list of prefix-notation IP │
536                    │              │ strings                    │
537                    │              │                            │
538                    │              │ Defines the space  of  IPs │
539                    │              │ used    for   the   Access │
540                    │              │ Point-mode   subnet    ad‐ │
541                    │              │ dresses   and   the   DHCP │
542                    │              │ server.     Defaults    to │
543                    │              │ 192.168.0.0/16.   The pre‐ │
544                    │              │ fix  length  decides   the │
545                    │              │ size   of  the  pool  from │
546                    │              │ which an  address  is  se‐ │
547                    │              │ lected but the actual sub‐ │
548                    │              │ net  size   (netmask)   is │
549                    │              │ based  on  the  AP profile │
550                    │              │ being  activated  and  de‐ │
551                    │              │ faults to 28 bits.  The AP │
552                    │              │ profile's   [IPv4].Address 
553                    │              │ setting    overrides   the │
554                    │              │ global  value  set   here. │
555                    │              │ Setting  a  too  small ad‐ │
556                    │              │ dress space will limit the │
557                    │              │ number  of  access  points │
558                    │              │ that can be running simul‐ │
559                    │              │ taneously on different in‐ │
560                    │              │ terfaces.                  │
561                    └──────────────┴────────────────────────────┘
562

SEE ALSO

564       iwd(8), iwd.network(5)
565

AUTHOR

567       Marcel     Holtmann      <marcel@holtmann.org>,      Denis      Kenzior
568       <denkenz@gmail.com>,  Andrew  Zaborowski <andrew.zaborowski@intel.com>,
569       Tim  Kourt  <tim.a.kourt@linux.intel.com>,  James   Prestwood   <prest‐
570       woj@gmail.com>
571
573       2013-2019 Intel Corporation
574
575
576
577
578iwd                            22 September 2019                 IWD.CONFIG(5)
Impressum