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
networkmanager [2021/05/23 01:00]
Andrew Zaborowski Basic syntax highlighting for the code blocks, not ideal because the # shell prompts are treated as comments...
networkmanager [2022/03/08 19:57]
Andrew Zaborowski [NM configuration]
Line 11: Line 11:
 | 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.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 |+| 1.0 and later  | 1.32.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 ====
Line 62: Line 62:
 ---- ----
  
-//(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:+//(Since 1.32)// 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 mechanism ​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. 
 <code ini> <code ini>
 [main] [main]
Line 69: Line 70:
  
 For details see [[https://​developer.gnome.org/​NetworkManager/​1.31/​NetworkManager.conf.html#​id-1.2.3.7|the relevant section]] of ''​**NetworkManager.conf**(5)''​. For details see [[https://​developer.gnome.org/​NetworkManager/​1.31/​NetworkManager.conf.html#​id-1.2.3.7|the relevant section]] of ''​**NetworkManager.conf**(5)''​.
 +
 +//​Warning://​ when enabled NM profiles are the authoritative ones and IWD's ''/​var/​lib/​iwd''​ files can get overwritten any time.
 +
 +//​Warning://​ setting connection properties not supported by IWD will make the conversion fail.  For example the nm-connection-editor'​s //All users may connect to this network// option must be checked (in gnome-control-center/​gnome-shell it is named //Make available to other users//), connections can not be user-owned with IWD.
 +
 +//​Warning://​ 802.1X (EAP) network configurations often reference certificate and user private key files (usually ''​.pem''​). ​ NM may be allowed to access the whole filesystem but IWD's [[https://​git.kernel.org/​pub/​scm/​network/​wireless/​iwd.git/​tree/​src/​iwd.service.in|default systemd unit file]] sets ''​ProtectHome=yes''​ which would cause connections to fail when trying to access certificate files in user home directories. ​ If you intend to use ''​iwd-config-path''​ (**note distro maintainers**) make sure that NM and IWD have the same level of filesystem access, in their systemd unit files or otherwise.
  
 ==== Converting network profiles ==== ==== Converting network profiles ====
Line 74: Line 81:
 If you've been using the NM + wpa_supplicant combo and switched to IWD it's possible to bulk-convert your existing network profiles to [[networkconfigurationsettings|the IWD format]], so that you can keep using them with the IWD backend. ​ Especially useful for EAP (802.1X) networks. ​ You will need to have the ''​iwd-config-path''​ mechanism enabled (see previous section). ​ Optimally these steps would be done automatically by distribution scripts such as Debian'​s ''​update-alternatives''​ but they require a few changes to the profile settings so the user needs to be conscious this is happening. ​ This is how to do it: If you've been using the NM + wpa_supplicant combo and switched to IWD it's possible to bulk-convert your existing network profiles to [[networkconfigurationsettings|the IWD format]], so that you can keep using them with the IWD backend. ​ Especially useful for EAP (802.1X) networks. ​ You will need to have the ''​iwd-config-path''​ mechanism enabled (see previous section). ​ Optimally these steps would be done automatically by distribution scripts such as Debian'​s ''​update-alternatives''​ but they require a few changes to the profile settings so the user needs to be conscious this is happening. ​ This is how to do it:
  
-  - Remove any ''​[wifi].mac-address='', ​''​[connection].interface-name=''​ and ''​[connection].permissions=''​ settings from the profiles. ​ In some NM versions some of those keys were set by default on new profiles. ​ IWD profiles are global so any user can activate them on any interface, so NM's IWD backend will refuse to use profiles that have any of those settings.+  - Remove any ''​[connection].interface-name=''​ and ''​[connection].permissions=''​ settings from the profiles. ​ In some NM versions some of those keys were set by default on new profiles. ​ IWD profiles are global so any user can activate them on any interface, so NM's IWD backend will refuse to use profiles that have any permissions set on them.
   - Delete, then restore all NM profiles. ​ The IWD backend will notice new NM profiles being added and will automatically create IWD network configuration files for each one.  From that point on, the ''​iwd-config-path''​ mechanism will automatically keep the IWD configuration files in sync with NM connection profiles when you add, modify or delete them.   - Delete, then restore all NM profiles. ​ The IWD backend will notice new NM profiles being added and will automatically create IWD network configuration files for each one.  From that point on, the ''​iwd-config-path''​ mechanism will automatically keep the IWD configuration files in sync with NM connection profiles when you add, modify or delete them.
  
Line 82: Line 89:
 cd /​etc/​NetworkManager/​system-connections cd /​etc/​NetworkManager/​system-connections
 mkdir ../​system-connections-iwd mkdir ../​system-connections-iwd
-for f in *; do grep -v '​^\(mac-address\|interface-name\|permissions\)='​ "​$f"​ > ../​system-connections-iwd/"​$f";​ done+for f in *; do grep -v '​^\(mac-address\|interface-name\|permissions\|bssid\)=' "​$f"​ > ../​system-connections-iwd/"​$f";​ done
 chmod 0600 ../​system-connections-iwd/​* chmod 0600 ../​system-connections-iwd/​*
 cd /​etc/​NetworkManager cd /​etc/​NetworkManager
networkmanager.txt · Last modified: 2022/03/08 19:57 by Andrew Zaborowski