User Tools

Site Tools


networkmanager

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
networkmanager [2020/10/07 16:50]
Andrew Zaborowski Version compatibility update
networkmanager [2021/05/22 23:34]
Andrew Zaborowski iwd-config-path explanation update.
Line 1: Line 1:
-==== Using IWD with Network Manager ====+===== Using IWD with Network Manager ​=====
  
 [[https://​wiki.gnome.org/​Projects/​NetworkManager|Network Manager]] version 1.12 integrated a basic IWD-based wifi backend as an alternative to wpa_supplicant. ​ To use Network Manager (NM) with the IWD backend one NM configuration change is necessary. ​ Additionally the versions of the two software packages need to be compatible, this is because IWD's API and capabilities are evolving and the NM backend is adapting to those changes. ​ IWD and the NM backend are work in progress and the capabilities are still limited. [[https://​wiki.gnome.org/​Projects/​NetworkManager|Network Manager]] version 1.12 integrated a basic IWD-based wifi backend as an alternative to wpa_supplicant. ​ To use Network Manager (NM) with the IWD backend one NM configuration change is necessary. ​ Additionally the versions of the two software packages need to be compatible, this is because IWD's API and capabilities are evolving and the NM backend is adapting to those changes. ​ IWD and the NM backend are work in progress and the capabilities are still limited.
Line 7: Line 7:
 | 0.5 to 0.7     | 1.14.0 ​        | Open, WPA/WPA2 Personal and Enterprise networks, No AP mode, no hidden or Ad-hoc networks | | 0.5 to 0.7     | 1.14.0 ​        | Open, WPA/WPA2 Personal and Enterprise networks, No AP mode, no hidden or Ad-hoc networks |
 | 0.8 to 0.23    | 1.14.* ​        | Open, WPA/WPA2 Personal and Enterprise networks, No AP mode, no hidden or Ad-hoc networks | | 0.8 to 0.23    | 1.14.* ​        | Open, WPA/WPA2 Personal and Enterprise networks, No AP mode, no hidden or Ad-hoc networks |
-| 0.8 to 0.23    | 1.16.0 ​and later | Open, WPA/WPA2 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, no hidden networks or P2P |+| 0.8 to 0.23    | 1.16.0 ​to 1.28-rc1 ​| Open, WPA/WPA2 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, no hidden networks or P2P |
 | 1.0 and later  | 1.20.6 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, no hidden networks or P2P | | 1.0 and later  | 1.20.6 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, no hidden networks or P2P |
 | 1.0 and later  | 1.24.0 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, infrastructure-mode Hidden networks, no P2P | | 1.0 and later  | 1.24.0 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, infrastructure-mode Hidden networks, no P2P |
 +| 1.0 and later  | 1.30.0 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, infrastructure-mode Hidden networks, no P2P, IWD-side autoconnect |
 +| 1.0 and later  | 1.34.0 and later | Open, WPA/​WPA2/​WPA3 Personal and Enterprise networks, Infrastructure/​AP/​Ad-hoc modes, infrastructure-mode Hidden networks, no P2P, IWD-side autoconnect,​ network config editing from NM |
  
-=== Building NM ===+==== Building NM ====
  
 If you can use an NM build provided by the Linux distribution that will simplify things a lot.  So far Arch linux is known to ship compatible [[https://​wiki.archlinux.org/​index.php/​Iwd|iwd]] and [[https://​wiki.archlinux.org/​index.php/​NetworkManager#​Using_iwd_as_the_Wi-Fi_backend|NM]] packages so there'​s no need to manually build the sources. If you can use an NM build provided by the Linux distribution that will simplify things a lot.  So far Arch linux is known to ship compatible [[https://​wiki.archlinux.org/​index.php/​Iwd|iwd]] and [[https://​wiki.archlinux.org/​index.php/​NetworkManager#​Using_iwd_as_the_Wi-Fi_backend|NM]] packages so there'​s no need to manually build the sources.
Line 18: Line 20:
  
 <​code>​ <​code>​
-$ wget https://​github.com/​NetworkManager/​NetworkManager/​archive/​1.26.2.tar.gz +$ wget https://​github.com/​NetworkManager/​NetworkManager/​archive/​1.30.2.tar.gz 
-$ tar -xvzf 1.26.2.tar.gz +$ tar -xvzf 1.30.2.tar.gz 
-$ cd NetworkManager-1.26.2+$ cd NetworkManager-1.30.2
 $ ./​autogen.sh --with-crypto=gnutls --disable-ppp --without-tests --disable-ovs --without-wext --disable-maintainer-mode --disable-qt --disable-gtk-doc --disable-introspection --with-iwd $ ./​autogen.sh --with-crypto=gnutls --disable-ppp --without-tests --disable-ovs --without-wext --disable-maintainer-mode --disable-qt --disable-gtk-doc --disable-introspection --with-iwd
 $ make -j 3 $ make -j 3
Line 31: Line 33:
 <​code>#​ /​etc/​init.d/​apparmor stop</​code>​ <​code>#​ /​etc/​init.d/​apparmor stop</​code>​
  
-=== NM configuration ===+==== NM configuration ​====
 To switch NM from the wpa_supplicant backend to the IWD backend the following lines need to be added in ''​nm.conf''​. ​ This file is normally located at ''/​etc/​NetworkManager/​conf.d/​nm.conf''​ but if you've built NM from source it may be in your ''/​usr/​local/​etc/​NetworkManager/​conf.d/''​ instead. To switch NM from the wpa_supplicant backend to the IWD backend the following lines need to be added in ''​nm.conf''​. ​ This file is normally located at ''/​etc/​NetworkManager/​conf.d/​nm.conf''​ but if you've built NM from source it may be in your ''/​usr/​local/​etc/​NetworkManager/​conf.d/''​ instead.
  
Line 45: Line 47:
 Once this is done you should be able to see a list of available networks from your Network Manager client interface (nm-applet, Gnome Shell or one of the command line NM clients) and be able to connect to Open and WPA/​WPA2-Personal networks (Pre-Shared Key networks) as normal. Once this is done you should be able to see a list of available networks from your Network Manager client interface (nm-applet, Gnome Shell or one of the command line NM clients) and be able to connect to Open and WPA/​WPA2-Personal networks (Pre-Shared Key networks) as normal.
  
-==== Limitations ====+---- 
 + 
 +The following settings fine-tune NM's IWD backend. 
 + 
 +//(Since 1.30)// Selects between IWD-driven (when ''​yes'',​ default) or NM-driven (when ''​no''​) autoconnect logic: 
 +<​code>​ 
 +[device] 
 +wifi.iwd.autoconnect=yes 
 +</​code>​ 
 + 
 +//​(Currently in master, to arrive in 1.32 or 1.34)// Tells NM to re-write IWD network configurations whenever an NM network profile is changed thus enabling editing settings such as EAP authentication from //​nm-connection-editor//​ GUI.  With IWD versions 1.15 and later this is on by default (set to ''​no''​ or an empty string to disable). ​ With IWD versions 1.14 you must specify a valid path (''​iwd-config-path=/​var/​lib/​iwd''​) to enable. //​Warning://​ when enabled NM profiles are the authoritative ones and IWD's ''/​var/​lib/​iwd''​ files can get overwritten any time: 
 +<​code>​ 
 +[main] 
 +iwd-config-path=auto 
 +</​code>​ 
 + 
 +===== Limitations ​=====
  
 === EAP-PWD, EAP-GTC, EAP-MsCHAPv2 Identity === === EAP-PWD, EAP-GTC, EAP-MsCHAPv2 Identity ===
Line 63: Line 81:
 The NM-side profile for the 802.1X network should match the settings stored in the IWD provisioning file for given network, as closely as possible, but using the standard NM settings sytntax (''​**nm-settings**(5)'',​ ''​**nm-settings-keyfile**(5)''​) -- this will allow the NM clients to ask users for the right secrets during a connection attempt, if any secrets are required. ​ If no connection-time secrets are needed, e.g. because they'​re provided in the provisioning file already, then the NM profile can have any settings in it -- the profile will not be used by IWD, it only tells NM that given network is known and connectable. The NM-side profile for the 802.1X network should match the settings stored in the IWD provisioning file for given network, as closely as possible, but using the standard NM settings sytntax (''​**nm-settings**(5)'',​ ''​**nm-settings-keyfile**(5)''​) -- this will allow the NM clients to ask users for the right secrets during a connection attempt, if any secrets are required. ​ If no connection-time secrets are needed, e.g. because they'​re provided in the provisioning file already, then the NM profile can have any settings in it -- the profile will not be used by IWD, it only tells NM that given network is known and connectable.
  
-==== Distribution info ====+===== Distribution info =====
  
 Debian: https://​wiki.debian.org/​NetworkManager/​iwd Debian: https://​wiki.debian.org/​NetworkManager/​iwd
networkmanager.txt · Last modified: 2022/09/23 15:21 by Andrew Zaborowski