Commit Graph

143 Commits

Author SHA1 Message Date
Jukka Rissanen
2f47de60a0 hostap: The security keys were checked in wrong function
The security check case statements were in frequency band
setting checks. This is totally wrong and will cause compiler
warnings. Moving the checks to correct function.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-09-27 21:06:44 +01:00
Gang Li
4bfdb64386 hostap: add AP configuration cmd support
Implement AP configuration parameter operations.

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-09-27 10:56:57 +01:00
Gaofeng Zhang
94386e103e zephyr: hostap: fix eap secure mode print UNKNOWN
wpas_key_mgmt_to_zephyr doesn't support eap secure mode, add code to
support eap secure mode.

Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
2024-09-27 10:56:16 +01:00
Maochen Wang
e2f671ee00 hostap: only add STA interface when hostapd enabled
For add_interface(), only add STA interface when hostapd enabled,
and the Soft-AP interface will be added in zephyr_hostapd_init().

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-09-20 11:08:19 +02:00
Fengming Ye
c642b44c95 net: wifi_mgmt: add DPP reconfig support
Hostap does not support wpa_cli DPP reconfig command.
So add wifi_mgmt DPP reconfig command and api.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Fengming Ye
27d882e740 hostap: add hostapd cli shell command
Add hostapd_cli shell command for test.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Fengming Ye
0961928b3a hostap: add dispatch for hostapd and wpa_supplicant wpa_msg
When we have coexistence of hostapd and wpa_supplicant,
wpa_msg has different implementation.
So to let them work together, we need to have common implementation
for wpa_msg and dispatch msgs for hostapd and wpa_supplicant.

So add register zephyr_hostap_ctrl_iface_msg_cb,
and judge if ctx is hostapd by the first integer where ctx points to.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Fengming Ye
5e9377e051 hostap: add AP DPP wpa_msg event handler
Hostapd has TODO in hostapd_dpp_handle_config_obj,
to save DPP connector using wpa_msg.

AP DPP needs to use dpp_connector, dpp_netaccesskey and dpp_csign
in DPP Peer Discovery handshake in hostapd_dpp_rx_peer_disc_req.
So add AP DPP wpa_msg event handler to store these info.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Fengming Ye
a1eee8ac0c hostap: add AP DPP dispatch mgmt api
Add hostapd mgmt ops, some use same api as wpa_supplicant,
and DPP use different ops.
supplicant_dpp_dispatch use wpa_cli and hapd_dpp_dispatch use hostapd_cli.
And use common DPP param parse.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Fengming Ye
4f93c84a94 hostap: add AP network security type DPP
Add DPP security type for AP DPP support.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-09-18 09:57:27 +02:00
Kapil Bhatt
ccc243c129 modules: hostap: Add wifi statistics reset support
This change will add  an API to reset the wifi statistics
when reset command is called.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-09-17 17:48:36 +01:00
Kapil Bhatt
6c6f5beee7 hostap: Add rts threshold get api support
Add api to get rts threshold.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-09-13 13:42:26 +02:00
Kapil Bhatt
e71dc74228 hostap: Fix null termination of ssid and psk
Add null termination of ssid and psk. If user pass ssid,
psk without null terminator it will add by default.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-09-11 14:01:07 -04:00
Maochen Wang
8562ae6155 hostap: fix SAP UDP RX low throughput in 5GHz
The default Max A-MPDU length is 8191 shown in the VHT Cap Info from
SAP's beacon/Assoc response, and this length is read from
hapd->iface->conf->vht_capab. It will lead to the AMPDU only contains
5 packets and the throughput is only 60Mbps for 1x1 HE case in 5GHz.
Change the default vht_capab to VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX
(1048575), and the throughput can be increased to 83Mbps.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-09-06 10:07:07 -05:00
Maochen Wang
a7e97e8799 hostap: fix build error of common.h
When build with the psa_crypto_driver, it will try to include common.h
of mbedtls, but actually include the common.h from hostap, and causes
build error of undefined symbol. Use zephyr_interface_library_named
to define hostap, and other modules needs to link the library of hostap
when wants to use the header file in /utils path, such as the common.h.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-09-04 09:53:12 +02:00
Vivekananda Uppunda
9679083e9f modules: hostap: Fix Kconfig parameters for build
Fix build failures when selecting WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-09-03 14:40:45 +01:00
Vivekananda Uppunda
242f7ad3b4 modules: hostap: CRYPTO_MBEDTLS_PSA should not be default selected
WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA should not be by default
selected when WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT is selcted. Enable
PSA APIs if desired separately.

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-09-03 14:40:45 +01:00
Vivekananda Uppunda
f2eda942f8 modules: hostap: Set WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT as crypto
Set WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT as the default crypto
configuration. The crypto ALT implementation contains the necessary
crypto operations and also allows the user to choose PSA or non PSA
crypto operation.

Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
2024-09-03 14:40:45 +01:00
Kapil Bhatt
70be6ad8a0 hostap: Add rts threshold set api support
Add api to set rts threshold.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-08-29 18:03:41 +02:00
Kapil Bhatt
ec0b9ccbc1 hostap: Add currnet PHY rate to status
Add current PHY rate to the wifi status.
It will a TX data rate in bits per second.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-08-28 13:59:59 -04:00
Hui Bai
dbc6cdc711 modules: hostap: Supports link mode of legacy STA.
Link mode shows unknown when legacy (A or bg only) device connects to
APUT. Set the link mode to WIFI_2 when the host freq over 4000 and set
link mode to WIFI_3 when the host freq over 2000.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-08-28 06:51:41 -04:00
Hui Bai
d647f38e2d modules: hostap: Enable CONFIG_IEEE80211AC flag for hostapd support.
Enable CONFIG_IEEE80211AC flag for 11AC support when setting up
AP with hostapd.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-08-28 06:51:41 -04:00
Hui Bai
2cc55bf85e modules: hostap: Add support of setting up softAP with hostapd
Added new flag CONFIG_WIFI_NM_HOSTAPD_AP for hostapd support. Once this
flag is enabled, softAP will be setup by hostapd. Both wpa_supplicant
and hostapd uses same task and eloop.
Included necessary hostapd files when compiling wifi samples if
CONFIG_WIFI_NM_HOSTAPD_AP is enabled. Added hostapd support for all
softAP command of L2 wifi shell commands.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2024-08-28 06:51:41 -04:00
Jilay Pandya
d08864c4b3 mbedtls: remove stray uses MBEDTLS_ENTROPY_ENABLED
This commit replaces stray uses of MBEDTLS_ENTROPY_ENABLED with
MBED_TLS_ENTROPY_C

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-08-25 11:21:26 +02:00
Chaitanya Tata
2e3778a845 modules: hostap: Fix build error
Remove obsolete variable.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-20 18:58:20 -04:00
Chaitanya Tata
58b6bd6621 modules: hostap: Fix MbedTLS configs
For Wi-Fi Enterprise testing these configurations are necessary.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-20 10:30:55 +02:00
Chaitanya Tata
e0ac3ec126 modules: hostap: Fix heap requirements for Enterprise
For Enterprise crypto MbedTLS needs more heap either separate pool or
libc heap, based on experiments 55000 was arrived for a successful
WPA2-EAP-TLS association.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-20 10:30:55 +02:00
Maochen Wang
1db73c3d4f wifi: Add WPA2 EAP-TLS support
Add basic WPA2 EAP-TLS support.
Also, add test infrasturcture esp. the certification handling,
non-certificate credentials are take as runtime input and certificated
are build time input for testing.

A real application can set certificates at runtime too.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-20 10:30:55 +02:00
Maochen Wang
0a951e2174 hostap: Support flushing PMKSA cache entries
Support flushing PMKSA cache entries in the reconnection
failed case of WPA3 SAE.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-08-20 10:30:55 +02:00
Maochen Wang
1a547dd40e hostap: Support getting Wi-Fi connection parameters recently used
Support saving and getting Wi-Fi connection parameters recently used.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-08-20 10:30:55 +02:00
Rex Chen
1b8fa46ac1 hostap: add 11v BTM query support
Add 11v BTM query L2 layer cmd support.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-08-19 09:58:40 -04:00
Rex Chen
ff7bb3e85c hostap: add pwe config for station
Add pwe config for station connect cmd.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-08-19 09:58:01 -04:00
Gang Li
cb1c377e7c hostap: add SAE_PWE_EARLY_EXIT Kconfig
In order to mitigate side channel attacks, even if the PWE is found the WPA
supplicant goes through full iterations, but in some low-resource systems
this can be intensive, so, add an option to exit early.
Note that this is highly insecure and shouldn't be used in production

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-08-15 10:17:28 +01:00
Chaitanya Tata
6b79e34b95 modules: hostap: Convert WPA cli to selectable option
This should be configurable by applications in case a full CLI interface
to the WPA supplicant is needed.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-15 10:17:21 +01:00
Chaitanya Tata
3409f16604 modules: hostap: Fix interface registration to NM
Wi-Fi shell now uses _sta/_ap APIs to getch specific inteface types, so,
by default register as a Station.

This needs more work to handle multiple modes and mode switching.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-07 07:13:27 -04:00
Fengming Ye
1640826fc5 net: wifi_mgmt: add hostap DPP support
Add wifi l2 mgmt dpp handlers.
Add wifi subcommand dpp to call l2 mgmt dpp handlers.

DPP l2 handlers will parse params to hostap wpa_cli format args
and send wpa_cli commands to hostap.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-08-05 18:40:17 -04:00
Li Long
85ccb24881 modules: hostap: src: add get_version cmd support
Add get_version cmd support for "wifi version" cmd input

Signed-off-by: Li Long <li.long@nxp.com>
2024-08-05 16:29:43 +02:00
Gaofeng Zhang
27270fa14d modules: hostap: fix disconnect print fail log
WIFI_REASON_DISCONN_UNSPECIFIED is 1, when disconnect reason is 0,
wpas_to_wifi_mgmt_disconn_status return the
WIFI_REASON_DISCONN_UNSPECIFIED and print error log "Disconnection
request failed (1)"

Signed-off-by: Gaofeng Zhang <gaofeng.zhang@nxp.com>
2024-07-27 15:19:56 +03:00
Chaitanya Tata
0e6db9c918 modules: hostap: Fix interface addition
WPA supplicant as a network manager monitors interface events and
registers to the Wi-Fi NM module, so, adding a check for NM type before
registering the interface is wrong.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-07-09 13:07:11 -04:00
Chaitanya Tata
650227d8c4 modules: hostap: Fix check for iface up
We only need the interface to be administratively up, the operationl
status is managed by the WPA supplicant.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-07-03 09:33:41 -04:00
Chaitanya Tata
176a47c2df modules: hostap: Fix SoF
Due to recent changes to hostap, the stack usage is increased, so,
increase the stack size to fix SoF.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-07-03 09:33:41 -04:00
Chaitanya Tata
f4e0a1abea modules: hostap: Fix MbedTLS config issue
Fixes build issues when Wi-Fi security is enabled for default
implementation, the alternative implementation is managed separately,
and doesn't need these.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-07-03 09:33:41 -04:00
Chaitanya Tata
515f1fee48 modules: hostap: Fix MbedTLS TLS
TLS is only for Enterprise, so, move to enterprise macro.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-07-03 09:33:41 -04:00
Maochen Wang
c116c9faf8 hostap: Add macro to wrap the interface monitoring code
Add macro to wrap the interface monitoring code and user can choose if
enable it.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-06-20 12:47:18 +02:00
Maochen Wang
1726aa4345 hostap: fix wifi sta connection not triggerred issue
Use select_network instead of enable_network, then can trigger sta
connection mutiple times. Also update the configuration in
add_interface().

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-06-20 12:47:18 +02:00
Maochen Wang
001ac3976a modules: hostap: fix hostap compile error and support enterprise
Fix compile error when enable enterprise security mode.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-06-20 12:47:18 +02:00
Maochen Wang
762169034b net: wifi: split wifi interface into STA and uAP
Split wifi interface into station mode and soft-AP mode, as there may be
station and soft-AP two interfaces that work concurrently.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-06-20 12:47:18 +02:00
Fengming Ye
1bfa73d036 hostap: add enterprise source files in cmake
Add enterprise needed source files.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-06-06 20:07:38 -04:00
Fengming Ye
bdb0768882 hostap: remove CONFIG_NO_PBKDF2 and CONFIG_NO_CONFIG_BLOBS in cmake
Remove CONFIG_NO_PBKDF2 and CONFIG_NO_CONFIG_BLOBS definition
and let them be decided in kconfig.
CONFIG_NO_PBKDF2 is default y when crypto backend is
WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE.
CONFIG_NO_CONFIG_BLOBS is default y when both DPP and enterprise disable.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-06-06 20:07:38 -04:00
Fengming Ye
271d7084b5 hostap: add DPP support
Add kconfig and cmake to support DPP (Easy Connect).

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-06-06 20:07:38 -04:00