Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#59725 - [networkmanager] Make wpa_supplicant an optdepend

Attached to Project: Arch Linux
Opened by Ilya K (K900) - Monday, 20 August 2018, 09:37 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Saturday, 16 November 2019, 20:57 GMT
Task Type Feature Request
Category Packages: Extra
Status Assigned
Assigned To Jan Alexander Steffens (heftig)
Bartłomiej Piotrowski (Barthalion)
Levente Polyak (anthraxx)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 19
Private No


Now that iwd is available and usable, wpa_supplicant should probably be an optdepend, so an iwd-only setup is possible.
This task depends upon

Comment by Christian Rebischke (Shibumi) - Wednesday, 30 October 2019, 22:01 GMT
iwd 1.0 just got released, it has a stable API for networkmanager now, I think we can finally optdep wpa_supplicant.
Comment by Andreas Radke (AndyRTR) - Saturday, 16 November 2019, 17:49 GMT
I suggest to add provides="wireless-configuration" wpa_supplicant and to iwd and make conman, nm and netctl depend on that virtual pkg. Maybe add configuration suggestions to nm/conman/netctl where choice has to be done (config files or install msg).
Comment by Christian Rebischke (Shibumi) - Saturday, 16 November 2019, 18:03 GMT
I am not sure if netctl support iwd. Last time when i checked this, it doesn't.
Moreover I am not sure if patches for netctl would be necessary, because I see a need for netctl + wpa_supplicant, but iwd has iwctl.
Comment by Bartłomiej Piotrowski (Barthalion) - Saturday, 16 November 2019, 20:51 GMT
NetworkManager does not support priorities for backends, meaning that unless it's told to use iwd, it always uses wpa_supplicant, while with iwd enabled, wpa_supplicant code path is never used. Shipping iwd with snippet configuring NM to use it is also wrong as someone may want to have both iwd and wpa_supplicant installed, but keep using the latter in NM.

In other words, I don't see how it's supposed to work with current implementation in NetworkManager.
Comment by Christian Rebischke (Shibumi) - Sunday, 17 November 2019, 15:37 GMT
I've discussed this with the iwd devs and there is even another reason why networkmanager with iwd is problematic:

networkmanager doesn't support 802.1x, when iwd as backend is being used and according to one of the iwd devs it's uncertain if it ever will.
The iwd devs think, that iwd should have the control over such 802.1x profiles and that iwd should store them. The nm devs on the other hand disagree with this decision.
A fix would be to generate such iwd 802.1x profiles (but the nm gui is not able to do this right now).

Therefore, despite my first comment on this issue, using iwd as backend for nm would be clearly a regression.
Comment by Martin Wolf (Uhrenvergleich) - Thursday, 13 May 2021, 19:33 GMT
Dear participants,

has the situation changed meanwhile?
Comment by Lance (Raansu) - Friday, 10 December 2021, 13:11 GMT
Maybe it could be left up to the user. Ask them which to install but have wpa_supplicant be the default option?
Comment by Bjoern Franke (bjo) - Tuesday, 14 December 2021, 12:20 GMT
Maybe wpa_supplicant and iwd could provide "supplicant" with defaulting to wpa_supplicant and NM depending on it? Users who want the "default" experience will install wpa_supplicant and others which like to use iwd could uninstall wpa_supplicant without issues.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 14 December 2021, 23:21 GMT
There's no way to set up a "default" unless the depend has the exact name of a package, and "iwd" cannot sensibly provide "wpa_supplicant".
Comment by mattia (nTia89) - Friday, 25 February 2022, 06:42 GMT
just a little update: with v1.36 it is now possible to select the default Wi-Fi backend (wpa_supplicant or IWD) at build-time.