diff mbox series

packagegroup-base.bb: remove wpa_supplicant preset from packagegroup-base-wifi

Message ID 20220827050842.5781-1-f_l_k@t-online.de
State New
Headers show
Series packagegroup-base.bb: remove wpa_supplicant preset from packagegroup-base-wifi | expand

Commit Message

Markus Volk Aug. 27, 2022, 5:08 a.m. UTC
This removes wpa_supplicant from packagegroup-base-wifi so that the decision
of which wireless daemon to use can be made within the recipes.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 meta/recipes-core/packagegroups/packagegroup-base.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Randy MacLeod Aug. 28, 2022, 12:24 a.m. UTC | #1
On 2022-08-27 01:08, Markus Volk wrote:
> This removes wpa_supplicant from packagegroup-base-wifi so that the decision
> of which wireless daemon to use can be made within the recipes.
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>   meta/recipes-core/packagegroups/packagegroup-base.bb | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
> index 7489ef61b0..a70a107dac 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> @@ -271,7 +271,7 @@ SUMMARY:packagegroup-base-wifi = "WiFi support"
>   RDEPENDS:packagegroup-base-wifi = "\
>       iw \
>       wireless-regdb-static \
> -    wpa-supplicant"
> +"
It's a little late in the release cycle for this sort of change but
if we do take it can you add a short list of some of the alternatives

in the  commit log to help people (me!) out?


../Randy

>   
>   RRECOMMENDS:packagegroup-base-wifi = "\
>       ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#169926): https://lists.openembedded.org/g/openembedded-core/message/169926
> Mute This Topic: https://lists.openembedded.org/mt/93285166/3616765
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Aug. 28, 2022, 1:34 p.m. UTC | #2
Am Sa, 27. Aug 2022 um 20:24:55 -0400 schrieb Randy MacLeod 
<randy.macleod@windriver.com>:
> It's a little late in the release cycle for this sort of change but
> if we do take it can you add a short list of some of the alternatives

It's not a long list. Choices so far would be wpa_supplicant or iwd.
wpa_supplicant is well known, so I'll write some information about iwd 
that I've collected in the last days.

iwd is a wireless daemon written by intel and supported by all major 
network managers. It can be run in standalone mode and configured with 
'iwctl' from the terminal, and with 'iwgtk' or 'iwdgui' from the gui. 
It can also work as a wpa_supplicant drop-in replacement for 
network-manager, connman or systemd-networkd.
iwd makes heavy use of the kernel api, so it is not portable but does 
not need additional external libraries like openssl. Instead, make sure 
that the following options are enabled in the kernel:

CONFIG_CRYPTO_USER_API_SKCIPHER
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_CMAC
CONFIG_CRYPTO_MD4
CONFIG_CRYPTO_MD5
CONFIG_CRYPTO_SHA256
CONFIG_CRYPTO_SHA512
CONFIG_CRYPTO_AES
CONFIG_CRYPTO_ECB
CONFIG_CRYPTO_DES
CONFIG_CRYPTO_CBC

optional for wps support would also be needed:
CONFIG_KEY_DH_OPERATIONS

In standalone mode iwd can use either systemd-resolved or resolvconf as 
dns manager. Additionally, dbus communication must be configured. In 
the default configuration, iwd expects the user to be a member of 
either the 'netdev' or 'wheel' group.

As a backend for the network managers, I have only tested iwd with 
connman, which works smoothly and without additional configuration as 
soon as you make sure that wpa_supplicant is not installed. (connman 
will  look for wpa_supplicant on startup and will bring it up if it was 
found)

but you only want the information from the first sentence in the commit 
message, right ?
Randy MacLeod Aug. 28, 2022, 3:57 p.m. UTC | #3
On 2022-08-28 09:34, Markus Volk wrote:
> Am Sa, 27. Aug 2022 um 20:24:55 -0400 schrieb Randy MacLeod 
> <randy.macleod@windriver.com>:
>> It's a little late in the release cycle for this sort of change but 
>> if we do take it can you add a short list of some of the alternatives
>
> It's not a long list. Choices so far would be wpa_supplicant or iwd.
> wpa_supplicant is well known, so I'll write some information about iwd 
> that I've collected in the last days.
>
> iwd is a wireless daemon written by intel and supported by all major 
> network managers. It can be run in standalone mode and configured with 
> 'iwctl' from the terminal, and with 'iwgtk' or 'iwdgui' from the gui. 
> It can also work as a wpa_supplicant drop-in replacement for 
> network-manager, connman or systemd-networkd.
> iwd makes heavy use of the kernel api, so it is not portable but does 
> not need additional external libraries like openssl. Instead, make 
> sure that the following options are enabled in the kernel:
>
> CONFIG_CRYPTO_USER_API_SKCIPHER
> CONFIG_CRYPTO_USER_API_HASH
> CONFIG_CRYPTO_HMAC
> CONFIG_CRYPTO_CMAC
Most of these config options are set but CRYPTO_CMAC is missing in the 
kernel cache as shown below but it's enabled in 5.19 without an explicit 
setting:

root@qemux86-64:~# uname -a
Linux qemux86-64 5.19.0-yocto-standard #1 SMP PREEMPT_DYNAMIC Mon Aug 8 
22:57:25 UTC 2022 x86_64 GNU/Linux
root@qemux86-64:~# zcat  /proc/config.gz  | grep CRYPTO_CMAC
CONFIG_CRYPTO_CMAC=y


# Save your list of modules to /tmp/iwd-modules

$ cd .../yocto-kernel-cache.git
$ git checkout yocto-5.15
$ git pull
$ for i in `cat /tmp/iwd-modules`; do rg -q $i || echo $i ": NOT FOUND"; 
done
CONFIG_CRYPTO_CMAC : NOT FOUND

Same for 5.10, 5.19.


> CONFIG_CRYPTO_MD4
> CONFIG_CRYPTO_MD5
> CONFIG_CRYPTO_SHA256
> CONFIG_CRYPTO_SHA512
> CONFIG_CRYPTO_AES
> CONFIG_CRYPTO_ECB
> CONFIG_CRYPTO_DES
> CONFIG_CRYPTO_CBC
>
> optional for wps support would also be needed:
> CONFIG_KEY_DH_OPERATIONS

https://cateee.net/lkddb/web-lkddb/KEY_DH_OPERATIONS.html

root@qemux86-64:~# zcat  /proc/config.gz  | grep KEY_DH_OPERATIONS
# CONFIG_KEY_DH_OPERATIONS is not set

Not set in 5.19 yocto-kernel-cache right now either.

and not indirectly enabled either:

root@qemux86-64:~# zcat  /proc/config.gz  | grep KEY_DH_OPERATIONS
# CONFIG_KEY_DH_OPERATIONS is not set

Someone can add a config fragment to yocto-kernel-cache if needed.

>
> In standalone mode iwd can use either systemd-resolved or resolvconf 
> as dns manager. Additionally, dbus communication must be configured. 
> In the default configuration, iwd expects the user to be a member of 
> either the 'netdev' or 'wheel' group.
>
> As a backend for the network managers, I have only tested iwd with 
> connman, which works smoothly and without additional configuration as 
> soon as you make sure that wpa_supplicant is not installed. (connman 
> will  look for wpa_supplicant on startup and will bring it up if it 
> was found)
>
> but you only want the information from the first sentence in the 
> commit message, right ?

Up to and including:

    "... not need additional external libraries like openssl."
works for me.


Thanks for the great explanation.
diff mbox series

Patch

diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index 7489ef61b0..a70a107dac 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -271,7 +271,7 @@  SUMMARY:packagegroup-base-wifi = "WiFi support"
 RDEPENDS:packagegroup-base-wifi = "\
     iw \
     wireless-regdb-static \
-    wpa-supplicant"
+"
 
 RRECOMMENDS:packagegroup-base-wifi = "\
     ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-zd1211rw', '',d)} \