CONFIG_SAE=y for wpa3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
beekay
Level 2
Level 2
First solution authored 5 replies posted 10 sign-ins

Hi~.

We need to enable wpa3 in STA and are trying to set CONFIG_SAE=y  in wpa-supplicant.

As far as I know, wifi F/W and linux kernel driver(cypress-fmac-v4.14.77-2020_0115) are ready for wpa3.

==================================

// R:\8wpa\imx-yocto\sources\meta-fsl-bsp-release\imx\meta-bsp\recipes-connectivity\wpa-supplicant\wpa-supplicant\defconfig

CONFIG_SAE=y

==================================

There are compile errors.

I cannot attatch the log files because of the firewall.

Please check the below.

 

<SPEC>

- NXP imx 6ull, murata 1DX(cypress 4343w)

- yocto: imx 4.14.98

- fmac driver: cypress-fmac-v4.14.77-2020_0115

- wpa_supplicant version 2.6

 

==================================

beekay.lee@ADV_SMART_01:~/8wpa/imx-yocto/build-vg2-fb-user$ bitbake wpa-supplicant
Loading cache: 100% |##############################################################################################################################################| Time: 0:00:01
Loaded 3554 entries from dependency cache.
Parsing recipes: 100% |############################################################################################################################################| Time: 0:00:02
Parsing of 2617 .bb files complete (2616 cached, 1 parsed). 3555 targets, 509 skipped, 8 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION = "1.38.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "imx6ulllgevg2"
DISTRO = "fsl-imx-fb"
DISTRO_VERSION = "4.14-sumo"
TUNE_FEATURES = "arm armv7ve vfp thumb neon callconvention-hard cortexa7"
TARGET_FPU = "hard"
LGE_HA_MANUFACTURING_VERSION = "0.unofficial"
meta
meta-poky
meta-oe
meta-multimedia
meta-freescale
meta-freescale-3rdparty
meta-freescale-distro
meta-bsp
meta-sdk
meta-browser
meta-gnome
meta-networking
meta-python
meta-filesystems
meta-webserver
meta-qt5 = "master:265533f4e74ff3645c91aec8f75533ee68225cab"
meta-lge-vg2 = "master:726cbbe4940f9ea91671c6c60b9ec1b08f2663e6"
meta-lge-common = "master:265533f4e74ff3645c91aec8f75533ee68225cab"
meta-lge-vg2-ble = "master:009b797e865732cd7e7c7df83d4d994e74d1c862"

Initialising tasks: 100% |#########################################################################################################################################| Time: 0:00:01
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 1656 tasks of which 1642 didn't need to be rerun and all succeeded.
beekay.lee@ADV_SMART_01:~/8wpa/imx-yocto/build-vg2-fb-user$ bitbake wpa-supplicant
Loading cache: 100% |##############################################################################################################################################| Time: 0:00:01
Loaded 3554 entries from dependency cache.
Parsing recipes: 100% |############################################################################################################################################| Time: 0:00:02
Parsing of 2617 .bb files complete (2616 cached, 1 parsed). 3555 targets, 509 skipped, 8 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION = "1.38.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "imx6ulllgevg2"
DISTRO = "fsl-imx-fb"
DISTRO_VERSION = "4.14-sumo"
TUNE_FEATURES = "arm armv7ve vfp thumb neon callconvention-hard cortexa7"
TARGET_FPU = "hard"
LGE_HA_MANUFACTURING_VERSION = "0.unofficial"
meta
meta-poky
meta-oe
meta-multimedia
meta-freescale
meta-freescale-3rdparty
meta-freescale-distro
meta-bsp
meta-sdk
meta-browser
meta-gnome
meta-networking
meta-python
meta-filesystems
meta-webserver
meta-qt5 = "master:265533f4e74ff3645c91aec8f75533ee68225cab"
meta-lge-vg2 = "master:726cbbe4940f9ea91671c6c60b9ec1b08f2663e6"
meta-lge-common = "master:265533f4e74ff3645c91aec8f75533ee68225cab"
meta-lge-vg2-ble = "master:009b797e865732cd7e7c7df83d4d994e74d1c862"

Initialising tasks: 100% |#########################################################################################################################################| Time: 0:00:03
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: wpa-supplicant-2.6-r0 do_compile: oe_runmake failed
ERROR: wpa-supplicant-2.6-r0 do_compile: Function failed: do_compile (log file is located at /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/temp/log.do_compile.20374)
ERROR: Logfile of failure stored in: /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/temp/log.do_compile.20374
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 36 -C wpa_supplicant
| make: Entering directory '/home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/wpa_supplicant'
| CC eap_register.c
| CC ../src/eap_common/eap_peap_common.c
| CC ../src/utils/bitfield.c
| CC ../src/utils/wpabuf.c
| CC ../src/ap/p2p_hostapd.c
| CC ../src/rsn_supp/preauth.c
| CC ../src/eap_peer/eap_tls.c
| CC ../src/utils/wpa_debug.c
| CC ../src/p2p/p2p_dev_disc.c
| CC ../src/eap_peer/eap_md5.c
| CC ../src/utils/os_unix.c
| CC ../src/rsn_supp/pmksa_cache.c
| CC ../src/rsn_supp/wpa_ie.c
| CC ../src/eap_peer/mschapv2.c
| CC ../src/eap_peer/eap_otp.c
| CC ../src/eap_peer/eap_gtc.c
| CC notify.c
| CC ../src/eap_common/eap_wsc_common.c
| CC ../src/utils/uuid.c
| CC ../src/p2p/p2p_utils.c
| CC ../src/p2p/p2p_invitation.c
| CC ../src/p2p/p2p_sd.c
| CC ../src/eap_peer/eap_leap.c
| CC ../src/utils/eloop.c
| CC ../src/p2p/p2p_parse.c
| CC ../src/common/wpa_common.c
| CC wmm_ac.c
| CC ../src/eap_peer/eap_mschapv2.c
| CC ../src/p2p/p2p_group.c
| CC ../src/wps/wps_attr_process.c
| CC ../src/utils/common.c
| CC bss.c
| CC ../src/rsn_supp/peerkey.c
| CC ../src/p2p/p2p_build.c
| CC ../src/eap_peer/eap_wsc.c
| CC ../src/wps/wps_attr_parse.c
| CC ../src/eap_peer/eap_ttls.c
| CC ../src/eap_peer/eap_peap.c
| CC ../src/wps/wps.c
| CC ../src/eap_peer/eap_methods.c
| CC ../src/common/sae.c
| CC ../src/wps/wps_dev_attr.c
| CC ../src/wps/wps_common.c
| CC ../src/wps/wps_attr_build.c
| CC ../src/utils/ip_addr.c
| CC ../src/ap/utils.c
| CC ../src/ap/authsrv.c
| CC p2p_supplicant_sd.c
| CC ../src/p2p/p2p_go_neg.c
| CC ../src/ap/tkip_countermeasures.c
| CC ../src/ap/ieee802_11_auth.c
| CC ../src/ap/ap_mlme.c
| CC ../src/ap/bss_load.c
| CC ../src/ap/eap_user_db.c
| CC ../src/eap_server/eap_server_methods.c
| CC ../src/ap/neighbor_db.c
| CC ../src/ap/wpa_auth_glue.c
| CC ../src/eap_server/eap_server_identity.c
| ../src/ap/ieee802_11.c: In function 'handle_assoc':
| ../src/ap/ieee802_11.c:2159:63: warning: ?: using integer constants in boolean context [-Wint-in-bool-context]
| sta->last_subtype == reassoc ? WLAN_FC_STYPE_REASSOC_REQ :
| CC ../src/ap/ieee802_11_shared.c
| CC ../src/p2p/p2p_pd.c
| CC ../src/ap/wmm.c
| CC ../src/ap/drv_callbacks.c
| CC ../src/ap/ap_list.c
| CC config_file.c
| CC ../src/eap_common/chap.c
| CC ../src/eapol_supp/eapol_supp_sm.c
| CC ../src/ap/ap_config.c
| CC ../src/wps/wps_enrollee.c
| CC ../src/ap/rrm.c
| CC ../src/ap/ctrl_iface_ap.c
| CC ../src/crypto/aes-wrap.c
| CC ../src/ap/peerkey_auth.c
| CC ../src/crypto/aes-unwrap.c
| CC ../src/crypto/ms_funcs.c
| CC ../src/ap/hw_features.c
| CC ../src/eap_server/eap_server_wsc.c
| CC ../src/crypto/aes-cbc.c
| CC wps_supplicant.c
| CC ../src/ap/pmksa_cache_auth.c
| CC ap.c
| CC ../src/ap/ap_drv_ops.c
| CC ../src/crypto/rc4.c
| CC ../src/crypto/sha256.c
| CC ../src/crypto/sha256-prf.c
| CC ../src/crypto/md5.c
| CC ../src/crypto/crypto_gnutls.c
| CC ../src/rsn_supp/wpa.c
| CC ../src/crypto/dh_group5.c
| CC ../src/ap/wpa_auth_ie.c
| CC ../src/crypto/dh_groups.c
| CC ../src/common/ctrl_iface_common.c
| CC ../src/ap/sta_info.c
| CC ../src/eap_peer/eap.c
| CC ../src/eap_server/eap_server.c
| CC ../src/crypto/sha256-internal.c
| CC ../src/ap/dfs.c
| CC ../src/ap/beacon.c
| CC ../src/eapol_auth/eapol_auth_sm.c
| CC ../src/crypto/random.c
| CC ../src/ap/ieee802_1x.c
| CC ../src/utils/base64.c
| CC dbus/dbus_old_handlers_wps.c
| CC ../src/crypto/sha1.c
| CC ../src/eap_peer/eap_tls_common.c
| CC ../src/crypto/sha1-prf.c
| CC ../src/eap_common/eap_common.c
| CC ../src/crypto/sha1-tlsprf.c
| CC ../src/crypto/sha1-pbkdf2.c
| CC autoscan_exponential.c
| CC dbus/dbus_common.c
| CC bgscan.c
| CC dbus/dbus_new_handlers_wps.c
| CC autoscan.c
| CC dbus/dbus_old.c
| CC bgscan_simple.c
| CC ../src/crypto/tls_gnutls.c
| CC ../src/common/gas.c
| CC ../src/common/hw_features_common.c
| CC blacklist.c
| CC dbus/dbus_new_helpers.c
| CC dbus/dbus_dict_helpers.c
| In file included from ../src/drivers/driver_nl80211_monitor.c:17:0:
| /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/common.h:426:0: warning: "__bitwise" redefined
| #define __bitwise
|
| In file included from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/linux/filter.h:10:0,
| from ../src/drivers/driver_nl80211_monitor.c:15:
| /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/linux/types.h:22:0: note: this is the location of the previous definition
| #define __bitwise __bitwise__
|
| CC ../src/ap/wps_hostapd.c
| In file included from ../src/drivers/driver_nl80211_scan.c:15:0:
| /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/common.h:426:0: warning: "__bitwise" redefined
| #define __bitwise
|
| In file included from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/linux/sysinfo.h:5:0,
| from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/linux/kernel.h:5,
| from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/linux/netlink.h:5,
| from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/libnl3/netlink/netlink.h:25,
| from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/recipe-sysroot/usr/include/libnl3/netlink/genl/genl.h:15,
| from ../src/drivers/driver_nl80211_scan.c:13:

 


../src/drivers/driver_hostap.c: In function 'hostap_init':
../src/drivers/driver_hostap.c:234:57: warning: 'ap' directive output may be truncated writing 2 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%sap", drv->iface);
^~
../src/drivers/driver_hostap.c:234:9: note: 'snprintf' output between 3 and 19 bytes into a destination of size 16
snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%sap", drv->iface);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/drivers/driver_hostap.c:351:35: warning: 'ap' directive output may be truncated writing 2 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface);
^~
In file included from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/common.h:12:0,
from ../src/drivers/driver_hostap.c:13:
/home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/os.h:552:21: note: 'snprintf' output between 3 and 19 bytes into a destination of size 16
#define os_snprintf snprintf
../src/drivers/driver_hostap.c:351:2: note: in expansion of macro 'os_snprintf'
os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface);
^~~~~~~~~~~
CC ../src/ap/ieee802_11.c
../src/drivers/driver_hostap.c: In function 'hostap_driver_deinit':
../src/drivers/driver_hostap.c:351:35: warning: 'ap' directive output may be truncated writing 2 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface);
^~
In file included from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/common.h:12:0,
from ../src/drivers/driver_hostap.c:13:
/home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/os.h:552:21: note: 'snprintf' output between 3 and 19 bytes into a destination of size 16
#define os_snprintf snprintf
../src/drivers/driver_hostap.c:351:2: note: in expansion of macro 'os_snprintf'
os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface);
^~~~~~~~~~~
CC ../src/drivers/driver_hostap.c
CC dbus/dbus_new.c
CC ../src/ap/wpa_auth.c
CC ../src/drivers/driver_nl80211_capa.c
CC ../src/p2p/p2p.c
CC ../src/drivers/driver_nl80211_event.c
../src/drivers/driver_wext.c: In function 'wpa_driver_wext_finish_drv_init':
../src/drivers/driver_wext.c:888:59: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 157 and 173 [-Wformat-truncation=]
snprintf(buf, sizeof(buf), "/sys/class/net/%s/device/net/%s/type",
^~
../src/drivers/driver_wext.c:888:2: note: 'snprintf' output between 33 and 304 bytes into a destination of size 200
snprintf(buf, sizeof(buf), "/sys/class/net/%s/device/net/%s/type",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drv->ifname, ifname);
~~~~~~~~~~~~~~~~~~~~
CC dbus/dbus_new_handlers_p2p.c
CC dbus/dbus_new_handlers.c
CC scan.c
CC ../src/drivers/driver_wext.c
CC events.c
CC wpa_cli.c
LD wpa_cli
CC wpa_supplicant.c
CC p2p_supplicant.c
CC ctrl_iface.c
../src/drivers/driver_nl80211.c: In function 'i802_set_wds_sta':
../src/drivers/driver_nl80211.c:5946:37: warning: '.sta' directive output may be truncated writing 4 bytes into a region of size between 1 and 17 [-Wformat-truncation=]
os_snprintf(name, sizeof(name), "%s.sta%d", bss->ifname, aid);
^~~~
In file included from /home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/common.h:12:0,
from ../src/drivers/driver_nl80211.c:26:
/home/beekay.lee/8wpa/imx-yocto/build-vg2-fb-user/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/utils/os.h:552:21: note: 'snprintf' output between 6 and 32 bytes into a destination of size 17
#define os_snprintf snprintf
../src/drivers/driver_nl80211.c:5946:2: note: in expansion of macro 'os_snprintf'
os_snprintf(name, sizeof(name), "%s.sta%d", bss->ifname, aid);
^~~~~~~~~~~
CC ../src/drivers/driver_nl80211.c
../src/common/sae.o: In function `sae_cn_confirm':
/usr/src/debug/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/common/sae.c:1171: undefined reference to `crypto_bignum_to_bin'
/usr/src/debug/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/common/sae.c:1177: undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_cn_confirm_ffc':
/usr/src/debug/wpa-supplicant/2.6-r0/wpa_supplicant-2.6/src/common/sae.c:1218: undefined reference to `crypto_bignum_to_bin'

0 Likes
1 Solution
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

The errors indicate that openssl would be required. You can edit the .config file to ensure that the OpenSSL path is indicated. Also you would need to check the openssl version requirement for wpa_supplicant 2.6.

I think there are more recent driver and supplicant release versions.

View solution in original post

0 Likes
6 Replies
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

The errors indicate that openssl would be required. You can edit the .config file to ensure that the OpenSSL path is indicated. Also you would need to check the openssl version requirement for wpa_supplicant 2.6.

I think there are more recent driver and supplicant release versions.

0 Likes
beekay
Level 2
Level 2
First solution authored 5 replies posted 10 sign-ins

 

LGE uses openssl version 1.0.2p. 

We'd like to know the version is ok with wpa_supplicant 2.6 for the WPA3 feature.

Here are our version and do you have recommended and stable version for the WPA3?

<HW spec>
- NXP imx 6ull, murata 1DX(cypress 4343w)

<SW spec>
- yocto: imx 4.14.98
- kernel: Linux version 4.14.98-LG_HA_4.14.98+g817d568
- wpa_supplicant version: 2.6
- openssl version: OpenSSL 1.0.2p 14 Aug 2018

- fmac driver: cypress-fmac-v4.14.77-2020_0115
- Firmware(brcmfmac43430-sdio.bin) version = wl0: Oct 22 2019 01:57:42 version 7.45.98.94 (r723000 CY) FWID 01-73a5ed62
- clm version: API: 12.2 / Data: LGHA.Voice / Compiler: 1.29.4 / ClmImport: 1.39.1 / Customization: v2 21/03/22 / Creation: 2021-03-22 03:19:54

 

0 Likes
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

As per the supplicant changelog https://w1.fi/cgit/hostap/plain/wpa_supplicant/ChangeLog, openssl 1.0.2p is compatible with wpa_supplicant 2.6.

The latest and stable recommended software packages for WPA3 is shown below:

Driver: cypress-fmac-v5.4.18-2021_0114 https://www.cypress.com/documentation/software-and-drivers-archive/wifi-bt-linux-archive

Supplicant: wpa_supplicant v2.9 https://w1.fi/wpa_supplicant/

0 Likes
beekay
Level 2
Level 2
First solution authored 5 replies posted 10 sign-ins

Is the driver (cypress-fmac-v5.4.18-2021_0114) compatible with kernel 4.14.98?

We should use kernel 4.x.

What is the compatible openssl version for wpa_supplicant v2.9?

Thanks.

 

0 Likes
beekay
Level 2
Level 2
First solution authored 5 replies posted 10 sign-ins

And does the driver cypress-fmac-v4.14.77-2020_0115 support wpa3?

0 Likes
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

There is a more recent driver release https://community.cypress.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-20... The driver can be backported to run on kernel 4.14.98. It can support WPA3 STA for 4343W. 

Regarding OpenSSL compatibility, this is what i see in https://w1.fi/cgit/hostap/plain/wpa_supplicant/README

Optional libraries for EAP-TLS, EAP-PEAP, and EAP-TTLS:
- OpenSSL (tested with 1.0.1 and 1.0.2 versions; assumed to
work with most relatively recent versions; this is likely to be
available with most distributions, http://www.openssl.org/)

0 Likes