Package Details: networkmanager-iwd 1.54.0-1

Git Clone URL: https://aur.archlinux.org/networkmanager-iwd.git (read-only, click to copy)
Package Base: networkmanager-iwd
Description: Network connection manager and user applications; using iwd backend instead of wpa_supplicant
Upstream URL: https://networkmanager.dev/
Licenses: GPL-2.0-or-later, LGPL-2.1-or-later
Conflicts: networkmanager
Provides: networkmanager
Submitter: digitalone
Maintainer: buzo
Last Packager: buzo
Votes: 36
Popularity: 0.58
First Submitted: 2019-08-10 10:04 (UTC)
Last Updated: 2025-08-05 19:44 (UTC)

Required by (299)

Sources (2)

Pinned Comments

digitalone commented on 2019-08-10 10:37 (UTC) (edited on 2019-08-15 09:14 (UTC) by digitalone)

This is a modified package configured to get NetworkManager working exclusively with iwd. Main difference with upstream version is that iwd is required and wpa_supplicant is not needed (so you can uninstall it); iwd seems more reliable on certain wireless cards, so someone could prefer it in place of wpa_supplicant.

It's recommended to enable systemd iwd.service at boot: systemctl enable iwd.service

Tested with Plasma NM system tray applet (plasma-nm), it's working.

Note that wpa_supplicant is still needed to build the package, but you can uninstall it after the building stage.

Latest Comments

1 2 3 4 5 6 Next › Last »

xAsh commented on 2025-08-07 23:37 (UTC)

Hi buzo, thank you I was able to build it with pkgctl build. Guess it's time do ditch yay.

buzo commented on 2025-08-07 19:25 (UTC) (edited on 2025-08-07 19:25 (UTC) by buzo)

xAsh: Works for me, but I am building in a clean chroot rather than with yay.

 4/85 check-local-exports-libnm                               OK               0.09s
[…]
Ok:                85  
Fail:              0   

xAsh commented on 2025-08-05 20:10 (UTC)

Still fails with 1.54, waiting for the maintainer's input before reporting upstream:

15/85 check-local-exports-libnm                                       FAIL             0.08s   exit status 1
>>> MALLOC_PERTURB_=82 MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/check-exports.sh /home/me/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl/libnm.so.0.1.0 /home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/src/libnm-client-impl/libnm.ver
―――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――
>>linker script "/home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/src/libnm-client-impl/libnm.ver" contains symbols that are not exported by library "/home/me/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl/libnm.so.0.1.0":
     1  nm_access_point_get_last_seen@libnm_1_0_6
     2  nm_device_get_metered@libnm_1_0_6
     3  nm_device_wifi_request_scan_options@libnm_1_0_6
     4  nm_device_wifi_request_scan_options_async@libnm_1_0_6
     5  nm_ethtool_optname_is_fec@libnm_1_46_8
     6  nm_ethtool_optname_is_fec@libnm_1_48_18
     7  nm_ethtool_optname_is_fec@libnm_1_50_4
     8  nm_ip_address_dup@libnm_1_30_8
     9  nm_ip_route_dup@libnm_1_30_8
    10  nm_metered_get_type@libnm_1_0_6
    11  nm_setting_connection_autoconnect_slaves_get_type@libnm_1_0_4
    12  nm_setting_connection_get_autoconnect_slaves@libnm_1_0_4
    13  nm_setting_connection_get_mdns@libnm_1_10_14
    14  nm_setting_connection_get_metered@libnm_1_0_6
    15  nm_setting_connection_mdns_get_type@libnm_1_10_14
    16  nm_setting_ethtool_fec_mode_get_type@libnm_1_46_8
    17  nm_setting_ethtool_fec_mode_get_type@libnm_1_48_18
    18  nm_setting_ethtool_fec_mode_get_type@libnm_1_50_4
    19  nm_setting_ip_config_get_dns_priority@libnm_1_2_4
    20  nm_setting_ip_config_get_required_timeout@libnm_1_30_8
    21  nm_setting_wired_get_wake_on_lan@libnm_1_0_6
    22  nm_setting_wired_get_wake_on_lan_password@libnm_1_0_6
    23  nm_setting_wired_wake_on_lan_get_type@libnm_1_0_6
    24  nm_utils_enum_from_str@libnm_1_0_6
    25  nm_utils_enum_to_str@libnm_1_0_6
    26  nm_utils_wifi_2ghz_freqs@libnm_1_0_6
    27  nm_utils_wifi_5ghz_freqs@libnm_1_0_6
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

xAsh commented on 2025-07-28 23:04 (UTC) (edited on 2025-07-28 23:27 (UTC) by xAsh)

Anyone else not able to update because of the check-local-exports-libnm test failing?

16/81 check-local-exports-libnm                                       FAIL             0.13s   exit status 1
>>> MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=240 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/check-exports.sh /home/me/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl/libnm.so.0.1.0 /home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/src/libnm-client-impl/libnm.ver
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
>>linker script "/home/me/.cache/yay/networkmanager-iwd/src/NetworkManager/src/libnm-client-impl/libnm.ver" contains symbols that are not exported by library "/home/me/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl/libnm.so.0.1.0":
     1  nm_access_point_get_last_seen@libnm_1_0_6
     2  nm_device_get_metered@libnm_1_0_6
     3  nm_device_wifi_request_scan_options@libnm_1_0_6
     4  nm_device_wifi_request_scan_options_async@libnm_1_0_6
     5  nm_ip_address_dup@libnm_1_30_8
     6  nm_ip_route_dup@libnm_1_30_8
     7  nm_metered_get_type@libnm_1_0_6
     8  nm_setting_connection_autoconnect_slaves_get_type@libnm_1_0_4
     9  nm_setting_connection_get_autoconnect_slaves@libnm_1_0_4
    10  nm_setting_connection_get_mdns@libnm_1_10_14
    11  nm_setting_connection_get_metered@libnm_1_0_6
    12  nm_setting_connection_mdns_get_type@libnm_1_10_14
    13  nm_setting_ip_config_get_dns_priority@libnm_1_2_4
    14  nm_setting_ip_config_get_required_timeout@libnm_1_30_8
    15  nm_setting_wired_get_wake_on_lan@libnm_1_0_6
    16  nm_setting_wired_get_wake_on_lan_password@libnm_1_0_6
    17  nm_setting_wired_wake_on_lan_get_type@libnm_1_0_6
    18  nm_utils_enum_from_str@libnm_1_0_6
    19  nm_utils_enum_to_str@libnm_1_0_6
    20  nm_utils_wifi_2ghz_freqs@libnm_1_0_6
    21  nm_utils_wifi_5ghz_freqs@libnm_1_0_6
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

infradragon commented on 2025-06-14 03:11 (UTC) (edited on 2025-06-14 03:12 (UTC) by infradragon)

The KDE tray icon cannot see WPA3 networks with iwd, only WPA2. if you connect to a WPA3 network with iwctl, it shows you're connected to a wifi network in the tray icon, but if you click it, it doesnt say what network you're connected to.

if your wifi network supports both WPA3 and WPA2 (like mine) it gets further confused, showing you being both connected to the network and not connected at the same time.

if you connect to such a network from the tray icon, it will connect using WPA2. if you then go into settings and tell it to use WPA3 for that network, it will reconnect to that network using WPA3 successfully, and the tray icon will show that you're connected to a network with the same SSID, but if you click the tray icon, the network you're connected to will show up in the list as if you aren't connected.

if you then connect to the network while you're already connected to it, it makes a duplicate profile in networkmanager with all the default settings and using wpa2, and the old profile will never work again so you have to redo all your settings.

kylebarbour commented on 2025-05-05 19:25 (UTC)

Thanks for the patch. Looks like this was fixed upstream (see commit 12eff9a7), but hasn't made it to the networkmanager package yet.

maksverver commented on 2025-05-02 15:53 (UTC)

The GIRepository error probably needs to be fixed in the official package ("networkmanager" in the "extra" repository), but I was able to work around it with the following patch:

--- NetworkManager/tools/generate-docs-nm-settings-docs-gir.py.orig 2025-05-02 16:49:05.857660587 +0200
+++ NetworkManager/tools/generate-docs-nm-settings-docs-gir.py  2025-05-02 16:52:41.766620480 +0200
@@ -10,22 +10,9 @@
 import gi
 import re

-gi.require_version("GIRepository", "2.0")
+gi.require_version("GIRepository", "3.0")
 from gi.repository import GIRepository

-try:
-    libs = os.environ["LD_LIBRARY_PATH"].split(":")
-    libs.reverse()
-    for lib in libs:
-        GIRepository.Repository.prepend_library_path(lib)
-except AttributeError:
-    # An old GI version, that has no prepend_library_path
-    # It's alright, it probably interprets LD_LIBRARY_PATH
-    # correctly.
-    pass
-except KeyError:
-    pass
-
 gi.require_version("NM", "1.0")
 from gi.repository import NM, GObject

@@ -384,8 +371,4 @@

     args = parser.parse_args()

-    if args.lib_path:
-        for lib in args.lib_path:
-            GIRepository.Repository.prepend_library_path(lib)
-
     main(args.gir, args.output, args.target)

This flat out ignores any custom library paths, which doesn't seem to break anything in an obvious way on my system. There are some invocations with a --lib-path argument. I would guess those are important but I don't really understand this code well enough to say for sure. In any case this patch should only affect generated documentation.

Indianb0y017 commented on 2025-05-01 22:32 (UTC) (edited on 2025-05-01 22:43 (UTC) by Indianb0y017)

Unable to build, even in a clean chroot, due to same error as below, although it seems to stop at:

[869/1069] Linking target src/core/platform/tests/test-route-fake ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...

Phene commented on 2025-04-15 14:41 (UTC)

Can't build this package on latest EndeavourOS with KDE Plasma 6.3.4 and kernel 6.14.2-arch1-1 (64-bits). I get the following error:

FAILED: src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml 
/usr/bin/env GI_TYPELIB_PATH=/home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl LD_LIBRARY_PATH=/home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl /usr/bin/python3 /home/lucaspierru/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/generate-docs-nm-settings-docs-gir.py --lib-path /home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl --gir src/libnm-client-impl/NM-1.0.gir --output src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml --target nmcli
Traceback (most recent call last):
  File "/home/lucaspierru/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/generate-docs-nm-settings-docs-gir.py", line 13, in <module>
    gi.require_version("GIRepository", "2.0")
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/gi/__init__.py", line 132, in require_version
    raise ValueError('Namespace %s not available for version %s' %
                     (namespace, version))
ValueError: Namespace GIRepository not available for version 2.0

maksverver commented on 2025-01-04 13:50 (UTC)

@tamarindx: Another thing you can try is taskset 1 makepkg to lock the job to a single CPU core, so ninja won't spawn as many parallel tasks. (taskset is in the util-linux package.) I'd still recommend disabling LTO though, or compilation will take a long time.

By the way this type of discussion is probably better suited for the Arch Linux forums.