Commit Graph

222 Commits

Author SHA1 Message Date
Maochen Wang
9e77fd3491 hostap: fix build error when disable enterprise mode
In Kconfig, already check both dpp and enterprise mode for enable
NO_CONFIG_BLOBS, so remove the wrong one in the cmakelist.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-20 10:19:14 +01:00
Maochen Wang
be0be3d485 hostap: Enable WPA_CLI if WIFI_NM_WPA_SUPPLICANT_CLI is selected
Use WIFI_NM_WPA_SUPPLICANT_CLI to better control the config of WPA_CLI.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-19 07:06:26 +01:00
Rex Chen
b95a9d8bc2 net: wifi: shell: add EAP server types for EAP_SERVER_ALL
Add EAP server types for EAP_SERVER_ALL, and enable it by default.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-12-18 12:44:55 +01:00
Qingling Wu
d22026c440 net: wifi: hostap: add set RTS threshold command support
Add set RTS threshold command support for sta and sap.

Signed-off-by: Qingling Wu <qingling.wu@nxp.com>
2024-12-18 10:17:24 +01:00
Rex Chen
9b470ad664 net: wifi: shell: fix sap mix mode password configure error issue
Fix sap mix mode psk and sae password configure error issue,
hostapd doesn't expect double-quoted string like wpa_supplicant.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-12-17 15:21:58 +01:00
Maochen Wang
7260f2ddd5 hostap: remove unnecessary register of mgd iface in hostapd
In zephyr_hostapd_init, calls net_if_get_wifi_sap to get the SAP iface,
it means mgd iface of SAP type is registered before zephyr_hostapd_init.
Actually the mgd iface of SAP should be called in iface_api.init phase.
Therefore, remove unnecessary register of mgd iface in hostapd init.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-17 09:48:29 +01:00
Gaofeng Zhang
0e59cf41d7 hostap: support legacy roaming
There are currently four types of roaming, 11r roaming, 11v roaming, 11k
roaming and legacy roaming, The priority of the roaming mode is
11r-->11v-->11k-->legacy roaming. If the ap does not support 11r/11v/11k
roaming, we will use legacy roaming. legecy roaming needs to do
full channel scan, which is the same as the general scan connection
process, so the legacy roaming time will be longer.

Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
2024-12-17 05:49:21 +01:00
Rex Chen
a1f579a2f3 net: wifi: shell: add btwt feature support
Add btwt_setup cmd for sap.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-12-16 13:10:02 +01:00
Maochen Wang
75db72aa1f hostap: increase the default heap size of hostapd case
Hostapd consumes more heap than supplicant AP case, so increase the
default value of hostapd case.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-16 10:53:21 +01:00
Chaitanya Tata
6f574704b9 wifi: hostap: Remove CRYPTO default
We have now fully migrated to CRYPTO_ALT which is a superset, so, remove
unused CRYPTO module and it's related files.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-13 21:51:11 +01:00
Chaitanya Tata
eabf3f6adc modules: hostap: Enable error logs by default
Mandatory to debug any issues and is the norm in Zephyr.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-13 21:51:02 +01:00
Vivekananda Uppunda
4bbeb55e05 modules: hostap: Add needed PSA_WANT_XX settings in mbedtls PSA config
Add the PSA_WANT_XXX settings that might be needed for various crypto
algorithms and Keys in WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
configuration setting.

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-12-13 09:13:27 +01:00
Gaofeng Zhang
ae7e852512 hostap: fix hostap enable fail during stress test
1.everytime ap wpa3 sae enable command will increase the sae_passpharse
list of config_bss, and sae_derive_pt will derive all sae pt in the
sae_passpharse list, every sae derive pt spend 100ms.
2.with the time going, the sae_passpharse list has more sae, and the
time to derive pt for sae will become long, sae_derive_pt will held
cpu and doesn't sleep.
3.hostapd task prio is 3, and imu task is 3, hostapd task run before
imu task, when the imu interrupt arrive and wake up the imu task, imu
task can't run,
4.hostapd task is deriving pt for every sae in the sae_passpharse
list. imu task can't run and sleep rwlock can't be release, sleep
rwlock timeout is 3s, when derive pt spend over 3s, wlcmgr task
waiting command resp on sleep rwlock will assert and hang.

Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
2024-12-12 11:09:28 +01:00
Li Long
4d178f664c modules: hostap: add tls_cipher param
Add tls_cipher param for client WPA3 enterprise suiteb-192.
Add parameter "-T" to specify tls_cipher:
Specify "-T 1": client use ECC P384.
Specify "-T 2": client use RSA 3K.

Signed-off-by: Li Long <li.long@nxp.com>
2024-12-12 11:09:15 +01:00
Gaofeng Zhang
ecf35f39eb hostap: wps: Enable PIN expiry timeout
Enable WPS PIN expire timeout parameter, this helps us in cleanup of
the Authorized MAC IE in the beacon in case no peer is connected
within the timeout.
Without this parameter the  IE is not removed from the beacon.

Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
2024-12-11 21:34:11 +01:00
Gang Li
5dcb3a0f6a hostap: fix VHT channel center segment0
1) Unless ACS is being used, both "channel" and
"vht_oper_centr_freq_seg0_idx" parameters must be set.
Fixed "channel center segment 0" not being set in VHT Operation IE.
2) Set HT capabilities and VHT capabilities via the wifi ap config command.
3) Set AP bandwidth to wifi driver via the wifi_mgmt_api->ap_config_params.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-12-10 11:09:09 +01:00
Chaitanya Tata
12b24be7cc modules: hostap: Fix the callback for EAPoL
The signature of callback and the callback function is now changed, so,
add a wrapper to convert b/w them.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-05 17:08:25 +00:00
Chaitanya Tata
ff440ca597 modules: hostap: Fix DPP3 build failure
MbedTLS Crypto ALT implementation clearly states that DPP3 isn't
supported, remove DPP3 to fix a build error related to HPKE.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-05 17:08:25 +00:00
Chaitanya Tata
3cda9ec517 modules: hostap: Fix build error with AP and WPA3
The comeback token functionality is now moved to a separate file.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-05 17:08:25 +00:00
Chaitanya Tata
1551a1323d modules: hostap: Fix build error with upmerge
These files are now unconditiaonlly included, the defines within the
file takes care of both enable and disable of the feature.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-12-05 17:08:25 +00:00
Maochen Wang
f23f2deda8 hostap: Extend EAP_ALL config option
Extend EAP_ALL config option to Zephyr supported.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-04 12:10:32 +01:00
Maochen Wang
1bf86f08fb hostap: Remove duplicate EAP config options
Remove the duplicate EAP config definitions.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-12-04 12:10:32 +01:00
Hui Bai
ae7613b2c9 wifi: add hidden SSID configuration support for SoftAP
Added hidden ssid support configuration for AP mode.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-12-04 12:09:59 +01:00
Tjaž Vračko
298ebaf003 net: wifi: Fix CONFIG_EAP_TTLS not enabling all dependencies
CONFIG_EAP_TTLS now correctly adds all .c files it requires from
hostap.

Signed-off-by: Tjaž Vračko <tjaz@irnas.eu>
2024-12-03 08:27:29 +01:00
Hui Bai
a8418c6a38 modules: hostap: Fix incorrect link mode of AP
Added hw_mode check of AP with hostapd when getting link mode of current
station. If the hw_mode of AP is 11b, then the link mode of current
station will show 11b.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-12-03 08:27:19 +01:00
Chaitanya Tata
619cdb64f4 wifi: Fix current PHY rate handling
Fix the name to include TX and also add units to the shell display.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-29 11:45:58 +01:00
Chaitanya Tata
2e7f6311bf modules: hostap: Add support to read TX PHY rate
Useful for matter applications.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-29 11:45:58 +01:00
Chaitanya Tata
54b21b6a54 Revert "hostap: Add currnet PHY rate to status"
This reverts commit ec0b9ccbc1.

This commit has two issues:

1. We already query signal poll just above, so, wastes time querying the
   infor from the firmware.
2. Doesn't handle modes, i.e., queries even for AP mode as well.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-29 11:45:58 +01:00
Rex Chen
03482705f7 modules: hostap: fix eap server ttls macro typo
Fix typo of CONFIG_EAP_SERVER_TTLS macro in CMakeList.txt.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-11-28 20:53:41 +01:00
Chaitanya Tata
60dbb6fa4f modules: hostap: Move Enterprise configs under Enterprise
These are only for Enterprise.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-26 10:36:11 +00:00
Chaitanya Tata
9e63357355 modules: hostap: TLS is only needed for Enterprise
Move TLS MbedTLS wrapper to Enterprise only.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-26 10:36:11 +00:00
Chaitanya Tata
6316e40053 modules: hostap: Fix indentation
Cmake uses spaces (2) as the indentation.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-26 10:36:11 +00:00
Maochen Wang
9f72e651b5 hostap: fix Matter over Wi-Fi build warning
Fix the build warning that 'method may be used uninitialized' when
build Matter over Wi-Fi.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-11-25 08:30:43 +01:00
Maochen Wang
b18541768b hostap: distinguish suppliant AP and hostapd AP
To make AP related code/config more clear and clean, use
CONFIG_WIFI_NM_WPA_SUPPLICANT_AP for supplicant based AP case,
and use CONFIG_WIFI_NM_HOSTAPD_AP for hostapd based AP case.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-11-25 08:30:38 +01:00
Rex Chen
b4035e83d4 net: wifi: shell: add enterprise support for sap
Add EAP-TLS, EAP-PEAP-MSCHAPv2, EAP-PEAP-GTC, EAP-TTLS-MSCHAPv2,
EAP-PEAP-TLS, EAP-TLS-SHA256 enterprise wpa2 and wpa3 suiteb
support for sap.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-11-22 13:03:53 -06:00
Maochen Wang
407259462c hostap: use the correct config for EAP_SERVER
Should use EAP_SERVER and EAP_SERVER_IDENTITY as the correct config,
for the WPS case of AP.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-11-22 17:44:08 +01:00
Maochen Wang
13f473d7eb hostap: add WPS PBC and PIN for AP mode
add WPS PBC and PIN for AP mode.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-11-22 17:44:08 +01:00
Chaitanya Tata
bbfb546e57 modules: hostap: Add external crypto support
Add an option for platforms or forks to provide their own hostap
compatible crypto implementation. This may include proprietary or
platform specific stuff that may or may not be upstreamed to Zephyr.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-11-21 14:48:14 +01:00
Gang Li
14478cafa6 hostap: fix the issue of HE IE in beacon when disabled 11AX
Add WIFI_NM_WPA_SUPPLICAT_11AX Kconfig to enable or disable 11AX.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-10-29 07:11:33 -05:00
Alberto Escolar Piedras
faba6325e9 modules/hostap: Fix size_t print format specifier
The format specifier for size_t is zu.
Using d only works when int and size_t are the same
underlying type which is not the case for 64bit systems,
which leads to a build warning in this case.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-10-25 22:43:01 +01:00
Hui Bai
71b9d8ad66 hostap: More fixes to crypto=none compilation
The aes_unwrap() and aes_decrypt() functions were missing
if CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE is enabled.
Add missing C files to fix this.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-10-25 13:53:49 +02:00
Hui Bai
83812f213f modules: hostap: add 11k/v/r roaming support
Added new ops and events in glue layer to support roaming.
Added new flag WIFI_NM_WPA_SUPPLICANT_ROAMING to control roaming
feature.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-10-25 13:53:49 +02:00
Hui Bai
91ec46e961 modules: hostap: add IEEE80211R support
Add 80211R support in hostap.
Add cmd wifi connect option '-R' to enable 80211R.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-10-25 13:53:49 +02:00
Hui Bai
7c167c67c3 modules: hostap: add 11k cmd support
Add 11k cmds support. User can issue 11k cmds to enable/disable 11k and
send Neighbor Report Request packet.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-10-25 13:53:49 +02:00
Maochen Wang
6f2517807e hostap: fix build error when WPS enabled
Fix build error of multiple definition of `dh5_init' in
crypto_mbedtls_alt.c when WPS enabled.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-10-24 09:29:21 +02:00
Chaitanya Tata
78f5821b37 modules: hostap: Add a config option for WPA control timeout
WPA control interface timeout is hardcoded to 10s, add a configuration
option to remove the hardcode, this is needed sometimes as a workaround
e.g., crypto taking too long to complete the request.

Work around for #79834, increase the default from 10 to 15s, in positive
case this will have no impact.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-10-23 17:00:45 +02:00
Jukka Rissanen
ec21dab31a hostap: Avoid warning of different enum mapping
Even if the enum contains the same values, the values might
change if the wpa_supplicant sources change or Zephyr values
change. In order to avoid weird errors later and prevent the
following warning, add a conversion functions for the enums.

modules/hostap/src/supp_api.c:1172:23: warning: implicit conversion
from enumeration type 'enum mfp_options' to different enumeration
type 'enum wifi_mfp_options' [-Wenum-conversion]
                status->mfp = ssid->ieee80211w; /* Same mapping */

modules/hostap/src/supp_api.c:1190:30: warning: implicit conversion
from enumeration type 'enum wpas_mode' to different enumeration
type 'enum wifi_iface_mode' [-Wenum-conversion]
                status->iface_mode = ssid->mode;

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-23 17:00:45 +02:00
Jukka Rissanen
c9b8365f6d hostap: Add needed include files to fix compilation
The "enum wpa_msg_type" was not found by default so add needed
include files to get the definitions.

modules/hostap/src/supp_main.h:61:57: warning: ‘enum wpa_msg_type’
   declared inside parameter list will not be visible outside of
   this definition or declaration
   61 | void wpa_supplicant_msg_send(void *ctx, int level,
                                     enum wpa_msg_type type,
                                     const char *txt,

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-23 17:00:45 +02:00
Jukka Rissanen
6ac4e9c3b7 hostap: Remove not found hostapd functions
Both the supplicant_set_btwt() and supplicant_ap_bandwidth() are
not found in Zephyr sources so remove them.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-23 17:00:45 +02:00
Jukka Rissanen
980a352d39 hostap: Fix crypto=none compilation
If CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE is enabled, there
are lot of missing functions reported during linking.
Add missing C files to the compilation to fix this.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-23 17:00:45 +02:00